f06yj performs one of the matrix-matrix operations
BαA-1B,BαA-TB,BαBA-1  orBαBA-T,
where A is a real triangular matrix, B is an m by n real matrix, and α is a real scalar. A-T denotes AT-1 or equivalently A-1T.
No test for singularity or near-singularity of A is included in this method. Such tests must be performed before calling this method.

Syntax

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

Parameters

side
Type: System..::..String
On entry: specifies whether B is operated on from the left or the right.
side="L"
B is pre-multiplied from the left.
side="R"
B is post-multiplied from the right.
Constraint: side="L" or "R".
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".
transa
Type: System..::..String
On entry: specifies whether the operation involves A-1 or A-T.
transa="N"
The operation involves A-1.
transa="T" or "C"
The operation involves A-T.
Constraint: transa="N", "T" or "C".
diag
Type: System..::..String
On entry: specifies whether A has nonunit or unit diagonal elements.
diag="N"
The diagonal elements are stored explicitly.
diag="U"
The diagonal elements are assumed to be 1, and are not referenced.
Constraint: diag="N" or "U".
m
Type: System..::..Int32
On entry: m, the number of rows of the matrix B; the order of A if side="L".
Constraint: m0.
n
Type: System..::..Int32
On entry: n, the number of columns of the matrix B; the order of A if side="R".
Constraint: n0.
alpha
Type: System..::..Double
On entry: the scalar α.
a
Type: array<System..::..Double,2>[,](,)[,][,]
An array of size [dim1, dim2]
Note: dim1 must satisfy the constraint:
  • if side="L", dim1max1,m;
  • if side="R", dim1max1,n.
Note: the second dimension of the array a must be at least max1,m if side="L" and at least max1,n if side="R".
On entry: the triangular matrix A; A is m by m if side="L", or n by n if side="R".
  • 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.
  • If diag="U", the diagonal elements of A are assumed to be 1, and are not referenced.
b
Type: array<System..::..Double,2>[,](,)[,][,]
An array of size [dim1, dim2]
Note: dim1 must satisfy the constraint: dim1max1,m
Note: the second dimension of the array b must be at least max1,n.
On entry: the m by n matrix B.
If alpha=0, b need not be set.
On exit: the updated matrix B.
ifail
Type: System..::..Int32%
On exit: ifail=0 unless the method detects an error (see [Error Indicators and Warnings]).

Description

None.

References

None.

Error Indicators and Warnings

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
ifail=-6000
Invalid Parameters value

Accuracy

Not applicable.

Parallelism and Performance

None.

Further Comments

None.

Example

See Also