NAG Library Manual, Mark 29
Interfaces:
FL
CL
CPP
AD
PY
MB
NAG CL Interface Introduction
F01 (Matop) Chapter Contents
F01 (Matop) Chapter Introduction
f01vc:
FL
CL
CPP
AD
PY
MB
NAG CL Interface
f01vcc (dtpttr)
Keyword Search:
NAG Library Manual, Mark 29
Interfaces:
FL
CL
CPP
AD
PY
MB
NAG CL Interface Introduction
F01 (Matop) Chapter Contents
F01 (Matop) Chapter Introduction
f01vc:
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. 2023
Settings help
CL Name Style:
Short (
a00aac
)
Long (
impl_details
)
Full (
nag_info_impl_details
)
1
Purpose
f01vcc
unpacks a real triangular matrix, stored in a standard packed format array, to a full format array.
2
Specification
copy
#include <nag.h>
void
f01vcc
(
Nag_OrderType
order
,
Nag_UploType
uplo
,
Integer
n
,
const double
ap
[],
double
a
[],
Integer
pda
,
NagError *
fail
)
The function may be called by the names:
f01vcc
,
nag_matop_dtpttr
or
nag_dtpttr
.
3
Description
f01vcc
unpacks a real
n
×
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.4.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.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:
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
×
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 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.
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 Library Manual, Mark 29
Interfaces:
FL
CL
CPP
AD
PY
MB
NAG CL Interface Introduction
F01 (Matop) Chapter Contents
F01 (Matop) Chapter Introduction
f01vc:
FL
CL
CPP
AD
PY
MB
© The Numerical Algorithms Group Ltd. 2023