c06gs takes m Hermitian sequences, each containing n data values, and forms the real and imaginary parts of the m corresponding complex sequences.

Syntax

C#
public static void c06gs(
	int m,
	int n,
	double[] x,
	double[] u,
	double[] v,
	out int ifail
)
Visual Basic
Public Shared Sub c06gs ( _
	m As Integer, _
	n As Integer, _
	x As Double(), _
	u As Double(), _
	v As Double(), _
	<OutAttribute> ByRef ifail As Integer _
)
Visual C++
public:
static void c06gs(
	int m, 
	int n, 
	array<double>^ x, 
	array<double>^ u, 
	array<double>^ v, 
	[OutAttribute] int% ifail
)
F#
static member c06gs : 
        m : int * 
        n : int * 
        x : float[] * 
        u : float[] * 
        v : float[] * 
        ifail : int byref -> unit 

Parameters

m
Type: System..::..Int32
On entry: m, the number of Hermitian sequences to be converted into complex form.
Constraint: m1.
n
Type: System..::..Int32
On entry: n, the number of data values in each Hermitian sequence.
Constraint: n1.
x
Type: array<System..::..Double>[]()[][]
An array of size [m×n]
On entry: the data must be stored in x as if in a two-dimensional array of dimension 1:m,0:n-1; each of the m sequences is stored in a row of the array in Hermitian form. If the n data values zjp are written as xjp+iyjp, then for 0jn/2, xjp is contained in x[p-1,j], and for 1jn-1/2, yjp is contained in x[p,n-j]. (See also [] in the C06 class Chapter Introduction.)
u
Type: array<System..::..Double>[]()[][]
An array of size [m×n]
On exit: the real and imaginary parts of the m sequences of length n, are stored in u and v respectively, as if in two-dimensional arrays of dimension 1:m,0:n-1; each of the m sequences is stored as if in a row of each array. In other words, if the real parts of the pth sequence are denoted by xjp, for j=0,1,,n-1 then the mn elements of the array u contain the values
x01,x02,,x0m,x11,x12,,x1m,,xn-11,xn-12,,xn-1m
v
Type: array<System..::..Double>[]()[][]
An array of size [m×n]
On exit: the real and imaginary parts of the m sequences of length n, are stored in u and v respectively, as if in two-dimensional arrays of dimension 1:m,0:n-1; each of the m sequences is stored as if in a row of each array. In other words, if the real parts of the pth sequence are denoted by xjp, for j=0,1,,n-1 then the mn elements of the array u contain the values
x01,x02,,x0m,x11,x12,,x1m,,xn-11,xn-12,,xn-1m
ifail
Type: System..::..Int32%
On exit: ifail=0 unless the method detects an error or a warning has been flagged (see [Error Indicators and Warnings]).

Description

This is a utility method for use in conjunction with c06fp and c06fq (see the C06 class).

References

None.

Error Indicators and Warnings

Errors or warnings detected by the method:
ifail=1
On entry,m<1.
ifail=2
On entry,n<1.
ifail=-9000
An error occured, see message report.
ifail=-8000
Negative dimension for array value
ifail=-6000
Invalid Parameters value

Accuracy

Exact.

Parallelism and Performance

None.

Further Comments

None.

Example

This example reads in sequences of real data values which are assumed to be Hermitian sequences of complex data stored in Hermitian form. The sequences are then expanded into full complex form using c06gs and printed.

Example program (C#): c06gse.cs

Example program data: c06gse.d

Example program results: c06gse.r

See Also