XLPack 6.1
Excel VBA Numerical Library Reference Manual
Loading...
Searching...
No Matches

◆ Ztrmm()

Sub Ztrmm ( 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 
)

B <- αOp(A)B or B <- αBop(A) (Op(A) = A, AT or AH) (complex triangular matrices) (BLAS 3)

Purpose
This routine performs one of the matrix-matrix operations
B <- αOp(A)B or B <- αBOp(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, A^T or Op(A) = A^H
Parameters
[in]SideSpecifies whether Op(A) multiplies B from the left or right as follows:
= "L": B <- αOp(A)B.
= "R": B <- αBOp(A).
[in]UploSpecifies 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]TransaSpecifies 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]DiagSpecifies 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]MNumber of rows of the matrix B. (M >= 0) (If M = 0, returns without computation)
[in]NNumber of columns of the matrix B. (N >= 0) (If N = 0, returns without
[in]AlphaScalar α. 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 αBOp(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