MB_DTRMM – Performs B := alpha*op(A)*B or B := alpha*B*op(A), where op(X) = X or op(X) = X^T for triangular matrix A

Block SymbolLicensing group: STANDARD
PIC

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

DTRMM(sRSIDE, sLUPLO, sTRANSA, sNDIAG, M, N, alpha, uA, LDA, uB, LDB);

where parameters of DTRMM are set in the following way:

  • If RSIDE = on then the string sRSIDE is set to "R" else it is set to "L".
  • If LUPLO = on then the string sLUPLO is set to "L" else it is set to "U".
  • Integer input transa is mapped to the string sTRANSA: {0,1}"N", {2}"T" and {3}"C".
  • If NDIAG = on then the string sNDIAG is set to "N" else it is set to "U".
  • M is number of rows of the matrix referenced by uB.
  • N is number of columns of the matrix referenced by uB.
  • LDA and LDB are leading dimensions of matrices referenced by uA and uB.

The error flag E is set to on if:

  • the reference uA or uB is not defined (i.e. input uA or uB is not connected),
  • transa is less than 0 or greater than 3,
  • matrix referenced by uA is not square or is not compatible with the matrix referenced by uB,
  • the call of the function DTRMM 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

RSIDE

Operation is applied from right side

Bool

LUPLO

Matrix A is a lower triangular matrix

Bool

transa

Transposition of matrix A   0  3

Long (I32)

NDIAG

Matrix A is not assumed to be unit triangular

Bool

alpha

Scalar coefficient alpha

Double (F64)

HLD

Hold

Bool

Outputs

yA

Output reference to matrix A

Reference

yB

Output reference to matrix B

Reference

E

Error indicator

Bool

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