NAG Library Routine Document
X04CAF is an easy-to-use routine to print a real matrix
stored in a two-dimensional array.
||M, N, LDA, IFAIL
X04CAF prints a real matrix. It is an easy-to-use driver for X04CBF
. The routine uses default values for the format in which numbers are printed, for labelling the rows and columns, and for output record length.
X04CAF will choose a format code such that numbers will be printed with
an , an or a format.
code is chosen if the sizes of all the matrix elements to be printed lie between and . The
code is chosen if the sizes of all the matrix elements to be printed lie between and . Otherwise the
code is chosen.
The matrix is printed with integer row and column labels, and with a maximum record length of .
The matrix is output to the unit defined by X04ABF
- 1: MATRIX – CHARACTER(1)Input
: indicates the part of the matrix to be printed.
- The whole of the rectangular matrix.
- The lower triangle of the matrix, or the lower trapezium if the matrix has more rows than columns.
- The upper triangle of the matrix, or the upper trapezium if the matrix has more columns than rows.
, or .
- 2: DIAG – CHARACTER(1)Input
must specify whether the diagonal elements of the matrix are to be printed.
- The diagonal elements of the matrix are not referenced and not printed.
- The diagonal elements of the matrix are not referenced, but are assumed all to be unity, and are printed as such.
- The diagonal elements of the matrix are referenced and printed.
, then DIAG
need not be set.
if , , or .
- 3: M – INTEGERInput
- 4: N – INTEGERInput
: the number of rows and columns of the matrix, respectively, to be printed.
If either M
is less than
, X04CAF will exit immediately after printing TITLE
; no row or column labels are printed.
- 5: A(LDA,) – REAL (KIND=nag_wp) arrayInput
the second dimension of the array A
must be at least
: the matrix to be printed. Only the elements that will be referred to, as specified by parameters MATRIX
, need be set.
- 6: LDA – INTEGERInput
: the first dimension of the array A
as declared in the (sub)program from which X04CAF is called.
- 7: TITLE – CHARACTER(*)Input
: a title to be printed above the matrix.
If , no title (and no blank line) will be printed.
contains more than
characters, the contents of TITLE
will be wrapped onto more than one line, with the break after
Any trailing blank characters in TITLE
- 8: IFAIL – INTEGERInput/Output
must be set to
. If you are unfamiliar with this parameter you should refer to Section 3.3
in the Essential Introduction for details.
For environments where it might be inappropriate to halt program execution when an error is detected, the value
is recommended. If the output of error messages is undesirable, then the value
is recommended. Otherwise, if you are not familiar with this parameter, the recommended value is
. When the value is used it is essential to test the value of IFAIL on exit.
unless the routine detects an error or a warning has been flagged (see Section 6
6 Error Indicators and Warnings
If on entry
, explanatory error messages are output on the current error message unit (as defined by X04AAF
Errors or warnings detected by the routine:
|On entry,||, or .|
|On entry,|| or , but , or .|
A call to X04CAF is equivalent to a call to X04CBF
with the following argument values:
NCOLS = 80
INDENT = 0
LABROW = 'I'
LABCOL = 'I'
FORM = ' '
This example program calls X04CAF twice, first to print a by rectangular matrix, and then to print a by lower triangular matrix.
9.1 Program Text
Program Text (x04cafe.f90)
9.2 Program Data
9.3 Program Results
Program Results (x04cafe.r)