N
AG Library Manual, Mark 30.3
Interfaces:
FL
CL
CPP
AD
PY
MB
N
AG CL Interface Introduction
F01 (Matop) Chapter Contents
F01 (Matop) Chapter Introduction
f01vc:
FL
CL
CPP
AD
PY
MB
N
AG CL Interface
f01vcc (dtpttr)
Keyword Search:
N
AG Library Manual, Mark 30.3
Interfaces:
FL
CL
CPP
AD
PY
MB
N
AG 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
Copyright
N
AG 2024
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
N
AG 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
N
AG error argument (see
Section 7
in the Introduction to the
N
AG 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
N
AG 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
N
AG
for assistance.
See
Section 7.5
in the Introduction to the
N
AG 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
N
AG 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)
N
AG Library Manual, Mark 30.3
Interfaces:
FL
CL
CPP
AD
PY
MB
N
AG CL Interface Introduction
F01 (Matop) Chapter Contents
F01 (Matop) Chapter Introduction
f01vc:
FL
CL
CPP
AD
PY
MB
Copyright
N
AG 2024