STD.BLAS.dtrsm( side, tri, transposeA, diag, M, N, lda, alpha, A, B);
side | Side for A, Side.Ax is op(A) X = alpha B |
tri | Indicates whether upper or lower triangle is used |
transposeA | Is op(A) the transpose of A |
diag | The diagonal (an implied unit diagonal or supplied) |
M | Number of rows |
N | Number of columns |
lda | The leading dimension of the A matrix, either M or N |
alpha | The scalar multiplier for B |
A | A triangular matrix |
B | The matrix of values for the solve |
Return: | The matrix of coefficients to get B |
The dtrsm function is a triangular matrix solver. op(A) X = alpha B or X op(A) = alpha B * where op is Transpose, X and B is MxN
Example:
IMPORT STD; Side := STD.BLAS.Types.Side; Diagonal := STD.BLAS.Types.Diagonal; Triangle := STD.BLAS.Types.Triangle; STD.BLAS.Types.matrix_t left_a0 := [2, 3, 4, 0, 2, 3, 0, 0, 2]; STD.BLAS.Types.matrix_t mat_b := [4, 6, 8, 6, 13, 18, 8, 18, 29]; Test1_mat := STD.BLAS.dtrsm(Side.Ax, Triangle.Lower, FALSE, Diagonal.NotUnitTri, 3, 3, 3, 1.0, left_a0, mat_b);