|
◆ Ztrsm()
Sub Ztrsm |
( |
Side As |
String, |
|
|
Uplo As |
String, |
|
|
Transa As |
String, |
|
|
Diag As |
String, |
|
|
M As |
Long, |
|
|
N As |
Long, |
|
|
Alpha As |
Complex, |
|
|
A() As |
Complex, |
|
|
B() As |
Complex, |
|
|
Optional Info As |
Long |
|
) |
| |
Solution of Op(A)X = αB or XOp(A) = αB (Op(A) = A, AT or AH) (complex triangular matrices) (BLAS 3)
- Purpose
- This routine solves one of the matrix equations
Op(A)X = αB or XOp(A) = αB
where α is a scalar, X and B are m x n matrices, A is a unit or non-unit, upper or lower triangular matrix and Op(A) is one of Op(A) = A, Op(A) = A^T or Op(A) = A^H
The matrix X is overwritten on B.
- Parameters
-
[in] | Side | Specifies whether Op(A) multiplies B from the left or right as follows:
= "L": B <- αOp(A)B.
= "R": B <- αBOp(A). |
[in] | Uplo | Specifies whether the matrix A is upper or lower triangular matrix as follows:
= "U": A is an upper triangular matrix.
= "L": A is an lower triangular matrix. |
[in] | Transa | Specifies the form of Op(A) to be used in the matrix multiplication as follows:
= "N": Op(A) = A.
= "T": Op(A) = A^T
= "C": Op(A) = A^H |
[in] | Diag | Specifies whether or not A is unit triangular as follows:
= "N": A is not assumed to be unit triangular.
= "U": A is assumed to be unit triangular. (Diagonal elements of A() are not referenced) |
[in] | M | Number of rows of the matrix B. (M >= 0) (If M = 0, returns without computation) |
[in] | N | Number of columns of the matrix B. (N >= 0) (If N = 0, returns without |
[in] | Alpha | Scalar α. When α is zero then A() is not referenced and B need not be set on entry. |
[in] | A() | Array A(LA1 - 1, LA2 - 1) (LA1 >= M, LA2 >= M (if Side = "L"), LA1 >= N, LA2 >= N (if Side = "R"))
M x M triangular matrix A when Side = "L", or N x N triangular matrix A when Side = "R". According to Uplo, only the upper or lower triangular part is to be referenced. |
[in,out] | B() | Array B(LB1 - 1, LB2 - 1) (LB1 >= M, LB2 >= N)
[in] M x N matrix B.
[out] Solution of Op(A)X = αB (if Side = "L"), or solution of XOp(A) = αB (if Side = "R") |
[out] | Info | (Optional)
= 0: Successful exit.
= -1: The argument Side had an illegal value. (Side <> "L" nor "R")
= -2: The argument Uplo had an illegal value. (Uplo <> "U" nor "L")
= -3: The argument Transa had an illegal value. (Transa <> "N", "T" nor "C")
= -4: The argument Diag had an illegal value. (Diag <> "N" nor "U")
= -5: The argument M had an illegal value. (M < 0)
= -6: The argument N had an illegal value. (N < 0)
= -8: The argument A() is invalid.
= -9: The argument B() is invalid. |
- Reference
- BLAS
|