LinearAlgebra`BLAS`
LinearAlgebra`BLAS`

# GEMM

GEMM[tsa,tsb,α,a,b,β,c]

computes the matrix-matrix multiplication α optsa[a].optsb[b]+β c and resets c to the result.

# Details

• To use GEMM, you first need to load the BLAS Package using Needs["LinearAlgebra`BLAS`"].
• The following arguments must be given:
•  tsa input string transposition string for a tsb input string transposition string for b α input expression scalar mutliple a input expression rectangular matrix b input expression rectangular matrix β input expression scalar multiple c input/output symbol rectangular matrix; the symbol value is modified in place
• The transposition strings describing the operators optsa and optsb and may be specified as:
•  "N" no transposition "T" transpose "C" conjugate transpose
• Dimensions of the matrix arguments must be such that the dot product and addition are well defined.

# Examples

open allclose all

## Basic Examples(1)

Compute Transpose[a].b+2 c and save it in c:

## Scope(4)

Real matrices:

Complex matrices:

Arbitrary-precision matrices:

Symbolic matrices:

## Properties & Relations(3)

GEMM["N","N",α,a,b,β,c] is equivalent to c=α a.b+β c:

GEMM["T","N",α,a,b,β,b] is equivalent to c=α Transpose[a].b+β c:

GEMM["C","T",α,a,b,β,b] is equivalent to c=α ConjugateTranspose[a].Transpose[b]+β c:

## Possible Issues(2)

The last argument must be a symbol: The last argument must be initialized to a matrix: 