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

◆ Zgemm()

Sub Zgemm ( Transa As  String,
Transb As  String,
M As  Long,
N As  Long,
K As  Long,
Alpha As  Complex,
A() As  Complex,
B() As  Complex,
Beta As  Complex,
C() As  Complex,
Optional Info As  Long 
)

C <- αOp(A)Op(B) + βC (Op(X) = X, XT or XH) (complex matrices) (BLAS 3)

Purpose
This routine performs one of the matrix-matrix operations
C <- αOp(A)Op(B) + βC
where Op(X) is one of
Op(X) = X, Op(X) = X^T or Op(X) = X^H
where α and β are scalars and A, B and C are matrices, with Op(A) an m x k matrix, Op(B) a k x n matrix and C an m x n matrix.
Parameters
[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]TransbSpecifies the form of Op(B) to be used in the matrix multiplication as follows:
= "N": Op(B) = B
= "T": Op(B) = B^T
= "C": Op(B) = B^H
[in]MNumber of rows of the matrix Op(A) and of the matrix C. (M >= 0) (If M = 0, returns without computation)
[in]NNumber of columns of the matrix Op(B) and of the matrix C. (N >= 0) (If N = 0, returns without computation)
[in]KNumber of columns of the matrix Op(A) and of rows of the matrix Op(B) (K >= 0)
[in]AlphaScalar α.
[in]A()Array A(LA1 - 1, LA2 - 1) (LA1 >= M, LA2 >= K (if Transa = "N"), LA1 >= K, LA2 >= M (if Transa = "T" or "C"))
Matrix A.
[in]B()Array B(LB1 - 1, LB2 - 1) (LB1 >= K, LB2 >= N (if Transb = "N"), LB1 >= N, LB2 >= K (if Transb = "T" or "C"))
Matrix B.
[in]BetaScalar β. When β is supplied as zero then C need not be set on input.
[in,out]C()Array C(LC1 - 1, LC2 - 1) (LC1 >= M, LC2 >= N)
[in] Matrix C.
[out] Matrix αOp(A)Op(B) + βC.
[out]Info(Optional)
= 0: Successful exit.
= -1: The argument Transa had an illegal value. (Transa <> "N", "T" nor "C")
= -2: The argument Transb had an illegal value. (Transb <> "N", "T" nor "C")
= -3: The argument M had an illegal value. (M < 0)
= -4: The argument N had an illegal value. (N < 0)
= -5: The argument K had an illegal value. (K < 0)
= -7: The argument A() is invalid.
= -8: The argument B() is invalid.
= -10: The argument C() is invalid.
Reference
BLAS