x04ce is an easy-to-use method to print a real band matrix stored in a packed two-dimensional array.

# Syntax

C#
```public static void x04ce(
int m,
int n,
int kl,
int ku,
double[,] a,
string title,
out int ifail
)```
Visual Basic
```Public Shared Sub x04ce ( _
m As Integer, _
n As Integer, _
kl As Integer, _
ku As Integer, _
a As Double(,), _
title As String, _
<OutAttribute> ByRef ifail As Integer _
)```
Visual C++
```public:
static void x04ce(
int m,
int n,
int kl,
int ku,
array<double,2>^ a,
String^ title,
[OutAttribute] int% ifail
)```
F#
```static member x04ce :
m : int *
n : int *
kl : int *
ku : int *
a : float[,] *
title : string *
ifail : int byref -> unit
```

#### Parameters

m
Type: System..::..Int32
On entry: the number of rows and columns of the band matrix, respectively, to be printed.
If either m or n is less than $1$, x04ce will exit immediately after printing title; no row or column labels are printed.
n
Type: System..::..Int32
On entry: the number of rows and columns of the band matrix, respectively, to be printed.
If either m or n is less than $1$, x04ce will exit immediately after printing title; no row or column labels are printed.
kl
Type: System..::..Int32
On entry: the number of subdiagonals of the band matrix $A$.
Constraint: ${\mathbf{kl}}\ge 0$.
ku
Type: System..::..Int32
On entry: the number of superdiagonals of the band matrix $A$.
Constraint: ${\mathbf{ku}}\ge 0$.
a
Type: array<System..::..Double,2>[,](,)[,][,]
An array of size [dim1, dim2]
Note: dim1 must satisfy the constraint: $\mathrm{dim1}\ge {\mathbf{kl}}+{\mathbf{ku}}+1$
Note: the second dimension of the array a must be at least $\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(1,\mathrm{min}\phantom{\rule{0.125em}{0ex}}\left({\mathbf{m}}+{\mathbf{ku}},{\mathbf{n}}\right)\right)$.
On entry: the band matrix to be printed.
The matrix is stored in rows $1$ to ${k}_{l}+{k}_{u}+1$, more precisely, the element ${A}_{ij}$ must be stored in
 $a[ku+1+i-j,j] for ​max1,j-ku≤i≤minm,j+kl.$
title
Type: System..::..String
On entry: a title to be printed above the matrix.
If , no title (and no blank line) will be printed.
If title contains more than $80$ characters, the contents of title will be wrapped onto more than one line, with the break after $80$ characters.
Any trailing blank characters in title are ignored.
ifail
Type: System..::..Int32%
On exit: ${\mathbf{ifail}}={0}$ unless the method detects an error or a warning has been flagged (see [Error Indicators and Warnings]).

# Description

x04ce prints a real band matrix stored in a packed two-dimensional array. It is an easy-to-use driver for (X04CFF not in this release). The method uses default values for the format in which numbers are printed, for labelling the rows and columns, and for output record length.
x04ce will choose a format code such that numbers will be printed with an $\mathrm{F}8.4$, an $\mathrm{F}11.4$ or a $1\mathrm{PE}13.4$ format . The $\mathrm{F}8.4$ code is chosen if the sizes of all the matrix elements to be printed lie between $0.001$ and $1.0$. The $\mathrm{F}11.4$ code is chosen if the sizes of all the matrix elements to be printed lie between $0.001$ and $9999.9999$. Otherwise the $1\mathrm{PE}13.4$ code is chosen.
The matrix is printed with integer row and column labels, and with a maximum record length of $80$.
The matrix is output to the unit defined by (X04ABF not in this release).

None.

# Error Indicators and Warnings

Errors or warnings detected by the method:
Some error messages may refer to parameters that are dropped from this interface (LDA) In these cases, an error in another parameter has usually caused an incorrect value to be inferred.
${\mathbf{ifail}}=1$
 On entry, ${\mathbf{kl}}<0$.
${\mathbf{ifail}}=2$
 On entry, ${\mathbf{ku}}<0$.
${\mathbf{ifail}}=-9000$
An error occured, see message report.
${\mathbf{ifail}}=-6000$
Invalid Parameters $〈\mathit{\text{value}}〉$
${\mathbf{ifail}}=-4000$
Invalid dimension for array $〈\mathit{\text{value}}〉$
${\mathbf{ifail}}=-8000$
Negative dimension for array $〈\mathit{\text{value}}〉$
${\mathbf{ifail}}=-6000$
Invalid Parameters $〈\mathit{\text{value}}〉$

Not applicable.

# Parallelism and Performance

None.

The example program calls x04ce to print a $5$ by $5$ band matrix with one subdiagonal and one superdiagonal.