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

Block SymbolLicensing group: STANDARD

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: $\left\{0,1\right\}\to \mathtt{\text{"N"}}$, $\left\{2\right\}\to \mathtt{\text{"T"}}$ and $\left\{3\right\}\to \mathtt{\text{"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
- $\mathtt{\text{KA}}\ne \mathtt{\text{KB}}$; 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\left(A\right)$ and $op\left(B\right)$ 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 $\downarrow $0 $\uparrow $3 $\odot $0.00E+00 | Long (I32) |

transb | Transposition of matrix B $\downarrow $0 $\uparrow $3 $\odot $0.00E+00 | Long (I32) |

alpha | Scalar coefficient alpha | Double (F64) |

beta | Scalar coefficient beta $\odot $0.0 | 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 |

[Previous] [Back to top] [Up] [Next]

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