f06pj solves a real triangular system of equations with a single right hand side.

Syntax

C#
public static void f06pj(
	string uplo,
	string trans,
	string diag,
	int n,
	double[,] a,
	double[] x,
	int incx,
	out int ifail
)
Visual Basic
Public Shared Sub f06pj ( _
	uplo As String, _
	trans As String, _
	diag As String, _
	n As Integer, _
	a As Double(,), _
	x As Double(), _
	incx As Integer, _
	<OutAttribute> ByRef ifail As Integer _
)
Visual C++
public:
static void f06pj(
	String^ uplo, 
	String^ trans, 
	String^ diag, 
	int n, 
	array<double,2>^ a, 
	array<double>^ x, 
	int incx, 
	[OutAttribute] int% ifail
)
F#
static member f06pj : 
        uplo : string * 
        trans : string * 
        diag : string * 
        n : int * 
        a : float[,] * 
        x : float[] * 
        incx : int * 
        ifail : 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".
trans
Type: System..::..String
On entry: specifies the operation to be performed.
trans="N"
xA-1x.
trans="T" or "C"
xA-Tx.
Constraint: trans="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".
n
Type: System..::..Int32
On entry: n, the order of the matrix A.
Constraint: n0.
a
Type: array<System..::..Double,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 entry: the n by n 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.
  • If diag="U", the diagonal elements of A are assumed to be 1, and are not referenced.
x
Type: array<System..::..Double>[]()[][]
An array of size [dim1]
Note: the dimension of the array x must be at least max1,1+n-1×incx.
On entry: the n-element vector x.
If incx>0, xi must be stored in x[1+i1×incx-1], for i=1,2,,n.
If incx<0, xi must be stored in x[1ni×incx-1], for i=1,2,,n.
On exit: the updated vector x stored in the array elements used to supply the original vector x.
incx
Type: System..::..Int32
On entry: the increment in the subscripts of x between successive elements of x.
Constraint: incx0.
ifail
Type: System..::..Int32%
On exit: ifail=0 unless the method detects an error (see [Error Indicators and Warnings]).

Description

f06pj performs one of the matrix-vector operations
xA-1x  or  xA-Tx,
where A is an n by n real triangular matrix, and x is an n-element real vector. 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.

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