nag_dtfttr (f01vgc) (PDF version)
f01 Chapter Contents
f01 Chapter Introduction
NAG Library Manual
NAG Library Function Document
nag_dtfttr (f01vgc)
▸
▿
Contents
1
Purpose
2
Specification
3
Description
4
References
5
Arguments
6
Error Indicators and Warnings
7
Accuracy
8
Parallelism and Performance
9
Further Comments
▸
▿
10
Example
10.1
Program Text
10.2
Program Data
10.3
Program Results
1 Purpose
nag_dtfttr (f01vgc) unpacks a real triangular matrix, stored in a Rectangular Full Packed (RFP) format array, to a full format array.
2 Specification
#include <nag.h>
#include <nagf01.h>
void
nag_dtfttr (Nag_OrderType
order
, Nag_RFP_Store
transr
, Nag_UploType
uplo
, Integer
n
, const double
ar
[], double
a
[], Integer
pda
, NagError *
fail
)
3 Description
nag_dtfttr (f01vgc) unpacks a real
n
by
n
triangular matrix
A
, stored in RFP format to conventional storage in a full format array. This function is intended for possible use in conjunction with functions from
Chapters f06
,
f07
and
f16
where some functions that use triangular matrices store them in RFP format. The RFP storage format is described in
Section 3.3.3
in the f07 Chapter Introduction.
4 References
Gustavson F G, Waśniewski J, Dongarra J J and Langou J (2010) Rectangular full packed format for Cholesky's algorithm: factorization, solution, and inversion
ACM Trans. Math. Software
37, 2
5 Arguments
1:
order
–
Nag_OrderType
Input
On entry
: the
order
argument specifies the two-dimensional storage scheme being used, i.e., row-major ordering or column-major ordering. C language defined storage is specified by
order
=
Nag_RowMajor
. See
Section 3.2.1.3
in the Essential Introduction for a more detailed explanation of the use of this argument.
Constraint
:
order
=
Nag_RowMajor
or
Nag_ColMajor
.
2:
transr
–
Nag_RFP_Store
Input
On entry
: specifies whether the normal RFP representation of
A
or its transpose is stored.
transr
=
Nag_RFP_Normal
The RFP representation of the matrix
A
is stored.
transr
=
Nag_RFP_Trans
The transpose of the RFP representation of the matrix
A
is stored.
Constraint
:
transr
=
Nag_RFP_Normal
or
Nag_RFP_Trans
.
3:
uplo
–
Nag_UploType
Input
On entry
: specifies whether
A
is upper or lower triangular.
uplo
=
Nag_Upper
A
is upper triangular.
uplo
=
Nag_Lower
A
is lower triangular.
Constraint
:
uplo
=
Nag_Upper
or
Nag_Lower
.
4:
n
–
Integer
Input
On entry
:
n
, the order of the matrix
A
.
Constraint
:
n
≥
0
.
5:
ar
[
n
×
n
+
1
/
2
]
–
const double
Input
On entry
: the upper or lower
n
by
n
triangular matrix
A
(as specified by
uplo
) in either normal or transposed RFP format (as specified by
transr
). The storage format is described in
Section 3.3.3
in the f07 Chapter Introduction.
6:
a
[
dim
]
–
double
Output
Note:
the dimension,
dim
, of the array
a
must be at least
pda
×
n
.
On exit
: the triangular matrix
A
.
If
order
=
Nag_ColMajor
,
A
i
j
is stored in
a
[
j
-
1
×
pda
+
i
-
1
]
.
If
order
=
Nag_RowMajor
,
A
i
j
is stored in
a
[
i
-
1
×
pda
+
j
-
1
]
.
If
uplo
=
Nag_Upper
,
A
is upper triangular and the elements of the array below the diagonal are not set.
If
uplo
=
Nag_Lower
,
A
is lower triangular and the elements of the array above the diagonal are not set.
7:
pda
–
Integer
Input
On entry
: the stride separating row or column elements (depending on the value of
order
) of the matrix
A
in the array
a
.
Constraint
:
pda
≥
max
1
,
n
.
8:
fail
–
NagError *
Input/Output
The NAG error argument (see
Section 3.6
in the Essential Introduction).
6 Error Indicators and Warnings
NE_ALLOC_FAIL
Dynamic memory allocation failed.
See
Section 3.2.1.2
in the Essential Introduction for further information.
NE_BAD_PARAM
On entry, argument
value
had an illegal value.
NE_INT
On entry,
n
=
value
.
Constraint:
n
≥
0
.
NE_INT_2
On entry,
pda
=
value
and
n
=
value
.
Constraint:
pda
≥
max
1
,
n
.
NE_INTERNAL_ERROR
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact
NAG
for assistance.
An unexpected error has been triggered by this function. Please contact
NAG
.
See
Section 3.6.6
in the Essential Introduction for further information.
NE_NO_LICENCE
Your licence key may have expired or may not have been installed correctly.
See
Section 3.6.5
in the Essential Introduction for further information.
7 Accuracy
Not applicable.
8 Parallelism and Performance
Not applicable.
9 Further Comments
None.
10 Example
This example reads in a triangular matrix in RFP format and unpacks it to full format.
10.1 Program Text
Program Text (f01vgce.c)
10.2 Program Data
Program Data (f01vgce.d)
10.3 Program Results
Program Results (f01vgce.r)
nag_dtfttr (f01vgc) (PDF version)
f01 Chapter Contents
f01 Chapter Introduction
NAG Library Manual
© The Numerical Algorithms Group Ltd, Oxford, UK. 2015