MB_DGEMM – Performs C := alpha*op(A)*op(B) + beta*C, where op(X) = X or op(X) = X^T

Block SymbolLicensing group: STANDARD
PIC

Function Description
The output references yA, yB and yC are always set to the corresponding input references uA, uB and uC. If HLD = on then nothing is computed otherwise the BLAS function DGEMM is called internally:

DGEMM(sTRANSA, sTRANSB, M, N, KA, alpha, uA, LDA, uB, LDB, beta, uC, LDC);

where parameters of DGEMM are set in the following way:

  • Integer inputs transa and transb are mapped to strings sTRANSA and sTRANSB: {0,1}"N", {2}"T" and {3}"C".
  • M is number of rows of the matrix referenced by uC.
  • N is number of columns of the matrix referenced by uC.
  • If the input transa is equal to 0 or 1 then KA is number of columns else KA is number rows of the matrix referenced by uA.
  • LDA, LDB and LDC are leading dimensions of matrices referenced by uA, uB and uC.

The error flag E is set to on if:

  • the reference uA or uB or uC is not defined (i.e. input uA or uB or uC is not connected),
  • transa or transb is less than 0 or greater than 3
  • KAKB; if the input transb is equal to 0 or 1 then KB is number of rows else KB is number of columns of the matrix referenced by uB (i.e. matrices op(A) and op(B) have to be multipliable).
  • the call of the function DGEMM returns error using the function XERBLA, see the system log.

See BLAS documentation [6] for more details.

Inputs

uA

Input reference to matrix A

Reference

uB

Input reference to matrix B

Reference

uC

Input reference to matrix C

Reference

transa

Transposition of matrix A   0  3

Long (I32)

transb

Transposition of matrix B   0  3

Long (I32)

alpha

Scalar coefficient alpha

Double (F64)

beta

Scalar coefficient beta

Double (F64)

HLD

Hold

Bool

Outputs

yA

Output reference to matrix A

Reference

yB

Output reference to matrix B

Reference

yC

Output reference to matrix C

Reference

E

Error indicator

Bool

2023 © REX Controls s.r.o., www.rexygen.com