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*: ${\mathbf{m}}\ge 1$.

- n
- Type: System..::..Int32
*On entry*: $n$, the number of data values in each Hermitian sequence.*Constraint*: ${\mathbf{n}}\ge 1$.

- x
- Type: array<System..::..Double>[]()[][]An array of size [${\mathbf{m}}\times {\mathbf{n}}$]
*On entry*: the data must be stored in x as if in a two-dimensional array of dimension $\left(1:{\mathbf{m}},0:{\mathbf{n}}-1\right)$; each of the $m$ sequences is stored in a**row**of the array in Hermitian form. If the $n$ data values ${z}_{j}^{p}$ are written as ${x}_{j}^{p}+i{y}_{j}^{p}$, then for $0\le j\le n/2$, ${x}_{j}^{p}$ is contained in ${\mathbf{x}}[p-1,j]$, and for $1\le j\le \left(n-1\right)/2$, ${y}_{j}^{p}$ is contained in ${\mathbf{x}}[p,n-j]$. (See also [] in the C06 class Chapter Introduction.)

- u
- Type: array<System..::..Double>[]()[][]An array of size [${\mathbf{m}}\times {\mathbf{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 $\left(1:{\mathbf{m}},0:{\mathbf{n}}-1\right)$; each of the $m$ sequences is stored as if in a**row**of each array. In other words, if the real parts of the $p$th sequence are denoted by ${x}_{\mathit{j}}^{p}$, for $\mathit{j}=0,1,\dots ,n-1$ then the $mn$ elements of the array u contain the values$${x}_{0}^{1},{x}_{0}^{2},\dots ,{x}_{0}^{m},{x}_{1}^{1},{x}_{1}^{2},\dots ,{x}_{1}^{m},\dots ,{x}_{n-1}^{1},{x}_{n-1}^{2},\dots ,{x}_{n-1}^{m}$$

- v
- Type: array<System..::..Double>[]()[][]An array of size [${\mathbf{m}}\times {\mathbf{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 $\left(1:{\mathbf{m}},0:{\mathbf{n}}-1\right)$; each of the $m$ sequences is stored as if in a**row**of each array. In other words, if the real parts of the $p$th sequence are denoted by ${x}_{\mathit{j}}^{p}$, for $\mathit{j}=0,1,\dots ,n-1$ then the $mn$ elements of the array u contain the values$${x}_{0}^{1},{x}_{0}^{2},\dots ,{x}_{0}^{m},{x}_{1}^{1},{x}_{1}^{2},\dots ,{x}_{1}^{m},\dots ,{x}_{n-1}^{1},{x}_{n-1}^{2},\dots ,{x}_{n-1}^{m}$$

- ifail
- Type: System..::..Int32%
*On exit*: ${\mathbf{ifail}}={0}$ unless the method detects an error or a warning has been flagged (see [Error Indicators and Warnings]).

# Description

# References

None.

# Error Indicators and Warnings

Errors or warnings detected by the method:

- ${\mathbf{ifail}}=1$
On entry, ${\mathbf{m}}<1$.

- ${\mathbf{ifail}}=2$
On entry, ${\mathbf{n}}<1$.

# 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