f01vd unpacks a complex triangular matrix, stored in packed format in a one-dimensional array, to full format in a two-dimensional array. Packed storage format is described in [] in the F07 class Chapter Introduction.

Syntax

C#
public static void f01vd(
	string uplo,
	int n,
	Complex[] ap,
	Complex[,] a,
	out int info
)
Visual Basic
Public Shared Sub f01vd ( _
	uplo As String, _
	n As Integer, _
	ap As Complex(), _
	a As Complex(,), _
	<OutAttribute> ByRef info As Integer _
)
Visual C++
public:
static void f01vd(
	String^ uplo, 
	int n, 
	array<Complex>^ ap, 
	array<Complex,2>^ a, 
	[OutAttribute] int% info
)
F#
static member f01vd : 
        uplo : string * 
        n : int * 
        ap : Complex[] * 
        a : Complex[,] * 
        info : int byref -> unit 

Parameters

uplo
Type: System..::..String
On entry: specifies whether A is upper or lower triangular.
uplo="U"
A is upper triangular.
uplo="L"
A is lower triangular.
Constraint: uplo="U" or "L".
n
Type: System..::..Int32
On entry: n, the order of the matrix A.
Constraint: n1.
ap
Type: array<NagLibrary..::..Complex>[]()[][]
An array of size [n×n+1/2]
On entry: the n by n triangular matrix A, packed by columns.
More precisely,
  • if uplo="U", the upper triangle of A must be stored with element Aij in ap[i+jj-1/2] for ij;
  • if uplo="L", the lower triangle of A must be stored with element Aij in ap[i+2n-jj-1/2] for ij.
a
Type: array<NagLibrary..::..Complex,2>[,](,)[,][,]
An array of size [dim1, dim2]
Note: dim1 must satisfy the constraint: dim1max1,n
Note: the second dimension of the array a must be at least n.
On exit: the triangular matrix A.
  • If uplo="U", A is upper triangular and the elements of the array below the diagonal are not referenced.
  • If uplo="L", A is lower triangular and the elements of the array above the diagonal are not referenced.
info
Type: System..::..Int32%
On exit: info=0 unless the method detects an error (see [Error Indicators and Warnings]).

Description

f01vd unpacks a complex n by n triangular matrix A, stored in a one-dimensional array of length nn+1/2 to conventional storage in a two-dimensional array. This method is intended for possible use in conjunction with methods from F06 class F07 class F08 class where some methods use triangular matrices stored in the packed form.

References

None.

Error Indicators and Warnings

Some error messages may refer to parameters that are dropped from this interface (LDA) In these cases, an error in another parameter has usually caused an incorrect value to be inferred.
info<0
If info=-i, argument i had an illegal value. An explanatory message is output, and execution of the program is terminated.
ifail=-9000
An error occured, see message report.
ifail=-6000
Invalid Parameters value
ifail=-4000
Invalid dimension for array value
ifail=-8000
Negative dimension for array value
ifail=-6000
Invalid Parameters value

Accuracy

Not applicable.

Parallelism and Performance

None.

Further Comments

None.

Example

This example reads in a triangular matrix packed by columns and unpacks it to full format.

Example program (C#): f01vde.cs

Example program data: f01vde.d

Example program results: f01vde.r

See Also