NAG Library Manual, Mark 30.1
Interfaces:
FL
CL
CPP
AD
PY
MB
NAG CL Interface Introduction
F01 (Matop) Chapter Contents
F01 (Matop) Chapter Introduction
f01vg:
FL
CL
CPP
AD
PY
MB
NAG CL Interface
f01vgc (dtfttr)
Keyword Search:
NAG Library Manual, Mark 30.1
Interfaces:
FL
CL
CPP
AD
PY
MB
NAG CL Interface Introduction
F01 (Matop) Chapter Contents
F01 (Matop) Chapter Introduction
f01vg:
FL
CL
CPP
AD
PY
MB
▸
▿
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
© The Numerical Algorithms Group Ltd. 2024
Settings help
CL Name Style:
Short (
a00aac
)
Long (
impl_details
)
Full (
nag_info_impl_details
)
1
Purpose
f01vgc
unpacks a real triangular matrix, stored in a Rectangular Full Packed (RFP) format array, to a full format array.
2
Specification
copy
#include <nag.h>
void
f01vgc
(
Nag_OrderType
order
,
Nag_RFP_Store
transr
,
Nag_UploType
uplo
,
Integer
n
,
const double
ar
[],
double
a
[],
Integer
pda
,
NagError *
fail
)
The function may be called by the names:
f01vgc
,
nag_matop_dtfttr
or
nag_dtfttr
.
3
Description
f01vgc
unpacks a real
n
×
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.4.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.1.3
in the Introduction to the NAG Library CL Interface 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
×
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.4.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 7
in the Introduction to the NAG Library CL Interface).
6
Error Indicators and Warnings
NE_ALLOC_FAIL
Dynamic memory allocation failed.
See
Section 3.1.2
in the Introduction to the NAG Library CL Interface 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 7.5
in the Introduction to the NAG Library CL Interface for further information.
NE_NO_LICENCE
Your licence key may have expired or may not have been installed correctly.
See
Section 8
in the Introduction to the NAG Library CL Interface for further information.
7
Accuracy
Not applicable.
8
Parallelism and Performance
Background information to multithreading can be found in the
Multithreading
documentation.
f01vgc
is not threaded in any implementation.
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 Library Manual, Mark 30.1
Interfaces:
FL
CL
CPP
AD
PY
MB
NAG CL Interface Introduction
F01 (Matop) Chapter Contents
F01 (Matop) Chapter Introduction
f01vg:
FL
CL
CPP
AD
PY
MB
© The Numerical Algorithms Group Ltd. 2024