﻿ f06qh Method
f06qh forms the real $m$ by $n$ rectangular or trapezoidal matrix $A$ given by

# Syntax

C#
```public static void f06qh(
string matrix,
int m,
int n,
double con,
double diag,
double[,] a,
out int ifail
)```
Visual Basic
```Public Shared Sub f06qh ( _
matrix As String, _
m As Integer, _
n As Integer, _
con As Double, _
diag As Double, _
a As Double(,), _
<OutAttribute> ByRef ifail As Integer _
)```
Visual C++
```public:
static void f06qh(
String^ matrix,
int m,
int n,
double con,
double diag,
array<double,2>^ a,
[OutAttribute] int% ifail
)```
F#
```static member f06qh :
matrix : string *
m : int *
n : int *
con : float *
diag : float *
a : float[,] *
ifail : int byref -> unit
```

#### Parameters

matrix
Type: System..::..String
On entry: the matrix type.
${\mathbf{matrix}}=\text{"G"}$
General matrix.
${\mathbf{matrix}}=\text{"U"}$
Upper trapezoidal matrix (upper triangular if $m=n$).
${\mathbf{matrix}}=\text{"L"}$
Lower trapezoidal matrix (lower triangular if $m=n$).
Constraint: ${\mathbf{matrix}}=\text{"G"}$, $\text{"U"}$ or $\text{"L"}$.
m
Type: System..::..Int32
On entry: $m$, the number of rows of the matrix $A$.
Constraint: ${\mathbf{m}}\ge 0$.
n
Type: System..::..Int32
On entry: $n$, the number of columns of the matrix $A$.
Constraint: ${\mathbf{n}}\ge 0$.
con
Type: System..::..Double
On entry: the value to be assigned to the off-diagonal elements of $A$.
diag
Type: System..::..Double
On entry: the value to be assigned to the diagonal elements of $A$.
a
Type: array<System..::..Double,2>[,](,)[,][,]
An array of size [dim1, dim2]
Note: dim1 must satisfy the constraint: $\mathrm{dim1}\ge \mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(1,{\mathbf{m}}\right)$
Note: the second dimension of the array a must be at least ${\mathbf{n}}$.
On exit: the $m$ by $n$ general or trapezoidal matrix $A$.
• If ${\mathbf{matrix}}=\text{"U"}$, $A$ is upper trapezoidal and the elements of the array below the diagonal are not referenced.
• If ${\mathbf{matrix}}=\text{"L"}$, $A$ is lower trapezoidal and the elements of the array above the diagonal are not referenced.
ifail
Type: System..::..Int32%
On exit: $\mathbf{ifail}=0$ unless the method detects an error (see [Error Indicators and Warnings]).

None.

None.

# Error Indicators and Warnings

${\mathbf{ifail}}=-9000$
An error occured, see message report.
${\mathbf{ifail}}=-6000$
Invalid Parameters $〈\mathit{\text{value}}〉$
${\mathbf{ifail}}=-4000$
Invalid dimension for array $〈\mathit{\text{value}}〉$
${\mathbf{ifail}}=-8000$
Negative dimension for array $〈\mathit{\text{value}}〉$
${\mathbf{ifail}}=-6000$
Invalid Parameters $〈\mathit{\text{value}}〉$
${\mathbf{ifail}}=-6000$
Invalid Parameters $〈\mathit{\text{value}}〉$

Not applicable.

None.