|
|
◆ Dtrmm()
| Sub Dtrmm |
( |
Side As |
String, |
|
|
Uplo As |
String, |
|
|
Transa As |
String, |
|
|
Diag As |
String, |
|
|
M As |
Long, |
|
|
N As |
Long, |
|
|
Alpha As |
Double, |
|
|
A() As |
Double, |
|
|
B() As |
Double, |
|
|
Optional Info As |
Long |
|
) |
| |
B <- αOp(A)B or B <- αBop(A) (Op(A) = A or AT) (triangular matrices) (BLAS 3)
- Purpose
- This routine performs one of the matrix-matrix operations
B <- α*Op(A)*B or B <- α*B*Op(A)
where α is a scalar, B is an m x n matrix, A is a unit or non-unit, upper or lower triangular matrix and Op(A) is one of
Op(A) = A or Op(A) = A^T
- Parameters
-
| [in] | Side | Specifies whether Op(A) multiplies B from the left or right as follows:
= "L": B <- α*Op(A)*B.
= "R": B <- α*B*Op(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" or "C": Op(A) = A^T. |
| [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] M x N matrix α*Op(A)*B (if Side="L") or α*B*Op(A) (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
|