Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

Chapter Contents
Chapter Introduction
NAG Toolbox

# NAG Toolbox: nag_file_print_matrix_real_gen (x04ca)

## Purpose

nag_file_print_matrix_real_gen (x04ca) is an easy-to-use function to print a real matrix stored in a two-dimensional array.

## Syntax

[ifail] = x04ca(matrix, diag, a, title, 'm', m, 'n', n)
[ifail] = nag_file_print_matrix_real_gen(matrix, diag, a, title, 'm', m, 'n', n)

## Description

nag_file_print_matrix_real_gen (x04ca) prints a double matrix. It is an easy-to-use driver for nag_file_print_matrix_real_gen_comp (x04cb). The function uses default values for the format in which numbers are printed, for labelling the rows and columns, and for output record length.
nag_file_print_matrix_real_gen (x04ca) will choose a format code such that numbers will be printed with an F8.4$\mathrm{F}8.4$, an F11.4$\mathrm{F}11.4$ or a 1PE13.4$1\mathrm{PE}13.4$ format. The F8.4$\mathrm{F}8.4$ code is chosen if the sizes of all the matrix elements to be printed lie between 0.001$0.001$ and 1.0$1.0$. The F11.4$\mathrm{F}11.4$ code is chosen if the sizes of all the matrix elements to be printed lie between 0.001$0.001$ and 9999.9999$9999.9999$. Otherwise the 1PE13.4$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$80$.
The matrix is output to the unit defined by nag_file_set_unit_advisory (x04ab).

None.

## Parameters

### Compulsory Input Parameters

1:     matrix – string (length ≥ 1)
Indicates the part of the matrix to be printed.
matrix = 'G'${\mathbf{matrix}}=\text{'G'}$
The whole of the rectangular matrix.
matrix = 'L'${\mathbf{matrix}}=\text{'L'}$
The lower triangle of the matrix, or the lower trapezium if the matrix has more rows than columns.
matrix = 'U'${\mathbf{matrix}}=\text{'U'}$
The upper triangle of the matrix, or the upper trapezium if the matrix has more columns than rows.
Constraint: matrix = 'G'${\mathbf{matrix}}=\text{'G'}$, 'L'$\text{'L'}$ or 'U'$\text{'U'}$.
2:     diag – string (length ≥ 1)
Unless matrix = 'G'${\mathbf{matrix}}=\text{'G'}$, diag must specify whether the diagonal elements of the matrix are to be printed.
diag = 'B'${\mathbf{diag}}=\text{'B'}$
The diagonal elements of the matrix are not referenced and not printed.
diag = 'U'${\mathbf{diag}}=\text{'U'}$
The diagonal elements of the matrix are not referenced, but are assumed all to be unity, and are printed as such.
diag = 'N'${\mathbf{diag}}=\text{'N'}$
The diagonal elements of the matrix are referenced and printed.
If matrix = 'G'${\mathbf{matrix}}=\text{'G'}$, then diag need not be set.
Constraint: if matrix'G'${\mathbf{matrix}}\ne \text{'G'}$, diag = 'B'${\mathbf{diag}}=\text{'B'}$, 'U'$\text{'U'}$ or 'N'$\text{'N'}$.
3:     a(lda, : $:$) – double array
The first dimension of the array a must be at least max (1,m)$\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(1,{\mathbf{m}}\right)$
The second dimension of the array must be at least max (1,n)$\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(1,{\mathbf{n}}\right)$
The matrix to be printed. Only the elements that will be referred to, as specified by parameters matrix and diag, need be set.
4:     title – string
A title to be printed above the matrix.
If title = ' ', no title (and no blank line) will be printed.
If title contains more than 80$80$ characters, the contents of title will be wrapped onto more than one line, with the break after 80$80$ characters.
Any trailing blank characters in title are ignored.

### Optional Input Parameters

1:     m – int64int32nag_int scalar
2:     n – int64int32nag_int scalar
Default: The first dimension of the array a The second dimension of the array a.
The number of rows and columns of the matrix, respectively, to be printed.
If either m or n is less than 1$1$, nag_file_print_matrix_real_gen (x04ca) will exit immediately after printing title; no row or column labels are printed.

lda

### Output Parameters

1:     ifail – int64int32nag_int scalar
${\mathrm{ifail}}={\mathbf{0}}$ unless the function detects an error (see [Error Indicators and Warnings]).

## Error Indicators and Warnings

Errors or warnings detected by the function:
ifail = 1${\mathbf{ifail}}=1$
 On entry, matrix ≠ 'G'${\mathbf{matrix}}\ne \text{'G'}$, 'L'$\text{'L'}$ or 'U'$\text{'U'}$.
ifail = 2${\mathbf{ifail}}=2$
 On entry, matrix = 'L'${\mathbf{matrix}}=\text{'L'}$ or 'U'$\text{'U'}$, but diag ≠ 'N'${\mathbf{diag}}\ne \text{'N'}$, 'U'$\text{'U'}$ or 'B'$\text{'B'}$.
ifail = 3${\mathbf{ifail}}=3$
 On entry, lda < m$\mathit{lda}<{\mathbf{m}}$.

## Accuracy

Not applicable.

A call to nag_file_print_matrix_real_gen (x04ca) is equivalent to a call to nag_file_print_matrix_real_gen_comp (x04cb) with the following argument values:
```
ncols = 80
indent = 0
labrow = 'I'
labcol = 'I'
form = ' '

```

## Example

```function nag_file_print_matrix_real_gen_example
matrix = 'General';
diag = ' ';
a = [11, 12, 13, 14, 15;
21, 22, 23, 24, 25;
31, 32, 33, 34, 35];
title = 'Example 1:';
[ifail] = nag_file_print_matrix_real_gen(matrix, diag, a, title)
```
```
Example 1:
1          2          3          4          5
1     11.0000    12.0000    13.0000    14.0000    15.0000
2     21.0000    22.0000    23.0000    24.0000    25.0000
3     31.0000    32.0000    33.0000    34.0000    35.0000

ifail =

0

```
```function x04ca_example
matrix = 'General';
diag = ' ';
a = [11, 12, 13, 14, 15;
21, 22, 23, 24, 25;
31, 32, 33, 34, 35];
title = 'Example 1:';
[ifail] = x04ca(matrix, diag, a, title)
```
```
Example 1:
1          2          3          4          5
1     11.0000    12.0000    13.0000    14.0000    15.0000
2     21.0000    22.0000    23.0000    24.0000    25.0000
3     31.0000    32.0000    33.0000    34.0000    35.0000

ifail =

0

```

Chapter Contents
Chapter Introduction
NAG Toolbox

© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2013