nag_dtpttr (f01vcc) (PDF version)
f01 Chapter Contents
f01 Chapter Introduction
NAG Library Manual
Keyword Search:
NAG Library Function Document
nag_dtpttr (f01vcc)
▸
▿
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_dtpttr (f01vcc)
unpacks a real triangular matrix, stored in a standard packed format array, to a full format array.
2
Specification
#include <nag.h>
#include <nagf01.h>
void
nag_dtpttr (
Nag_OrderType
order
,
Nag_UploType
uplo
,
Integer
n
,
const double
ap
[],
double
a
[],
Integer
pda
,
NagError *
fail
)
3
Description
nag_dtpttr (f01vcc)
unpacks a real
n
by
n
triangular matrix
A
, stored in an array of length
n
n
+
1
/
2
, to conventional storage in a full format array. This function is intended for possible use in conjunction with functions from
Chapters f06
,
f07
,
f08
and
f16
where some functions use triangular matrices stored in the packed form. Packed storage format is described in
Section 3.3.2
in the f07 Chapter Introduction.
4
References
None.
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.3.1.3
in How to Use the NAG Library and its Documentation for a more detailed explanation of the use of this argument.
Constraint
:
order
=
Nag_RowMajor
or
Nag_ColMajor
.
2:
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
.
3:
n
–
Integer
Input
On entry
:
n
, the order of the matrix
A
.
Constraint
:
n
≥
0
.
4:
ap
[
dim
]
–
const double
Input
Note:
the dimension,
dim
, of the array
ap
must be at least
n
×
n
+
1
/
2
.
On entry
: the
n
by
n
triangular matrix
A
, packed by rows or columns depending on
order
.
The storage of elements
A
i
j
depends on the
order
and
uplo
arguments as follows:
if
order
=
Nag_ColMajor
and
uplo
=
Nag_Upper
,
A
i
j
is stored in
ap
[
j
-
1
×
j
/
2
+
i
-
1
]
, for
i
≤
j
;
if
order
=
Nag_ColMajor
and
uplo
=
Nag_Lower
,
A
i
j
is stored in
ap
[
2
n
-
j
×
j
-
1
/
2
+
i
-
1
]
, for
i
≥
j
;
if
order
=
Nag_RowMajor
and
uplo
=
Nag_Upper
,
A
i
j
is stored in
ap
[
2
n
-
i
×
i
-
1
/
2
+
j
-
1
]
, for
i
≤
j
;
if
order
=
Nag_RowMajor
and
uplo
=
Nag_Lower
,
A
i
j
is stored in
ap
[
i
-
1
×
i
/
2
+
j
-
1
]
, for
i
≥
j
.
5:
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.
6:
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
.
7:
fail
–
NagError *
Input/Output
The NAG error argument (see
Section 3.7
in How to Use the NAG Library and its Documentation).
6
Error Indicators and Warnings
NE_ALLOC_FAIL
Dynamic memory allocation failed.
See
Section 2.3.1.2
in How to Use the NAG Library and its Documentation 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.
See
Section 2.7.6
in How to Use the NAG Library and its Documentation for further information.
NE_NO_LICENCE
Your licence key may have expired or may not have been installed correctly.
See
Section 2.7.5
in How to Use the NAG Library and its Documentation for further information.
7
Accuracy
Not applicable.
8
Parallelism and Performance
nag_dtpttr (f01vcc)
is not threaded in any implementation.
9
Further Comments
None.
10
Example
This example reads in a triangular matrix packed by columns and unpacks it to full format.
10.1
Program Text
Program Text (f01vcce.c)
10.2
Program Data
Program Data (f01vcce.d)
10.3
Program Results
Program Results (f01vcce.r)
nag_dtpttr (f01vcc) (PDF version)
f01 Chapter Contents
f01 Chapter Introduction
NAG Library Manual
© The Numerical Algorithms Group Ltd, Oxford, UK. 2017