Module rgsl::blas::level3 [] [src]

Functions

cgemm

This function computes the matrix-matrix product and sum C = \alpha op(A) op(B) + \beta C where op(A) = A, AT, AH for TransA = CblasNoTrans, CblasTrans, CblasConjTrans and similarly for the parameter TransB.

chemm

This function computes the matrix-matrix product and sum C = \alpha A B + \beta C for Side is Left and C = \alpha B A + \beta C for Side is Right, where the matrix A is hermitian. When Uplo is Upper then the upper triangle and diagonal of A are used, and when Uplo is Lower then the lower triangle and diagonal of A are used. The imaginary elements of the diagonal are automatically set to zero.

cher2k

This function computes a rank-2k update of the hermitian matrix C, C = \alpha A BH + \alpha* B AH + \beta C when Trans is NoTrans and C = \alpha AH B + \alpha* BH A + \beta C when Trans is ConjTrans. Since the matrix C is hermitian only its upper half or lower half need to be stored. When Uplo is Upper then the upper triangle and diagonal of C are used, and when Uplo is Lower then the lower triangle and diagonal of C are used. The imaginary elements of the diagonal are automatically set to zero.

cherk

These functions compute a rank-k update of the hermitian matrix C, C = \alpha A AH + \beta C when Trans is NoTrans and C = \alpha AH A + \beta C when Trans is ConjTrans. Since the matrix C is hermitian only its upper half or lower half need to be stored. When Uplo is Upper then the upper triangle and diagonal of C are used, and when Uplo is Lower then the lower triangle and diagonal of C are used. The imaginary elements of the diagonal are automatically set to zero.

csymm

This function computes the matrix-matrix product and sum C = \alpha A B + \beta C for Side is CblasLeft and C = \alpha B A + \beta C for Side is CblasRight, where the matrix A is symmetric. When Uplo is CblasUpper then the upper triangle and diagonal of A are used, and when Uplo is CblasLower then the lower triangle and diagonal of A are used.

csyr2k

This function computes a rank-2k update of the symmetric matrix C, C = \alpha A BT + \alpha B AT + \beta C when Trans is NoTrans and C = \alpha AT B + \alpha BT A + \beta C when Trans is Trans. Since the matrix C is symmetric only its upper half or lower half need to be stored. When Uplo is Upper then the upper triangle and diagonal of C are used, and when Uplo is Lower then the lower triangle and diagonal of C are used.

csyrk

This function computes a rank-k update of the symmetric matrix C, C = \alpha A AT + \beta C when Trans is NoTrans and C = \alpha AT A + \beta C when Trans is Trans. Since the matrix C is symmetric only its upper half or lower half need to be stored. When Uplo is Upper then the upper triangle and diagonal of C are used, and when Uplo is Lower then the lower triangle and diagonal of C are used.

ctrmm

This function computes the matrix-matrix product B = \alpha op(A) B for Side is Left and B = \alpha B op(A) for Side is CblasRight. The matrix A is triangular and op(A) = A, AT, AH for TransA = NoTrans, Trans, ConjTrans. When Uplo is Upper then the upper triangle of A is used, and when Uplo is Lower then the lower triangle of A is used. If Diag is NonUnit then the diagonal of A is used, but if Diag is Unit then the diagonal elements of the matrix A are taken as unity and are not referenced.

ctrsm

This function computes the inverse-matrix matrix product B = \alpha op(inv(A))B for Side is Left and B = \alpha B op(inv(A)) for Side is Right. The matrix A is triangular and op(A) = A, AT, AH for TransA = NoTrans, Trans, ConjTrans. When Uplo is Upper then the upper triangle of A is used, and when Uplo is Lower then the lower triangle of A is used. If Diag is NonUnit then the diagonal of A is used, but if Diag is Unit then the diagonal elements of the matrix A are taken as unity and are not referenced.

dgemm

This function computes the matrix-matrix product and sum C = \alpha op(A) op(B) + \beta C where op(A) = A, AT, AH for TransA = CblasNoTrans, CblasTrans, CblasConjTrans and similarly for the parameter TransB.

dsymm

This function computes the matrix-matrix product and sum C = \alpha A B + \beta C for Side is CblasLeft and C = \alpha B A + \beta C for Side is CblasRight, where the matrix A is symmetric. When Uplo is CblasUpper then the upper triangle and diagonal of A are used, and when Uplo is CblasLower then the lower triangle and diagonal of A are used.

dsyr2k

This function computes a rank-2k update of the symmetric matrix C, C = \alpha A BT + \alpha B AT + \beta C when Trans is NoTrans and C = \alpha AT B + \alpha BT A + \beta C when Trans is Trans. Since the matrix C is symmetric only its upper half or lower half need to be stored. When Uplo is Upper then the upper triangle and diagonal of C are used, and when Uplo is Lower then the lower triangle and diagonal of C are used.

dsyrk

This function computes a rank-k update of the symmetric matrix C, C = \alpha A AT + \beta C when Trans is NoTrans and C = \alpha AT A + \beta C when Trans is Trans. Since the matrix C is symmetric only its upper half or lower half need to be stored. When Uplo is Upper then the upper triangle and diagonal of C are used, and when Uplo is Lower then the lower triangle and diagonal of C are used.

dtrmm

This function computes the matrix-matrix product B = \alpha op(A) B for Side is Left and B = \alpha B op(A) for Side is CblasRight. The matrix A is triangular and op(A) = A, AT, AH for TransA = NoTrans, Trans, ConjTrans. When Uplo is Upper then the upper triangle of A is used, and when Uplo is Lower then the lower triangle of A is used. If Diag is NonUnit then the diagonal of A is used, but if Diag is Unit then the diagonal elements of the matrix A are taken as unity and are not referenced.

dtrsm

This function computes the inverse-matrix matrix product B = \alpha op(inv(A))B for Side is Left and B = \alpha B op(inv(A)) for Side is Right. The matrix A is triangular and op(A) = A, AT, AH for TransA = NoTrans, Trans, ConjTrans. When Uplo is Upper then the upper triangle of A is used, and when Uplo is Lower then the lower triangle of A is used. If Diag is NonUnit then the diagonal of A is used, but if Diag is Unit then the diagonal elements of the matrix A are taken as unity and are not referenced.

sgemm

This function computes the matrix-matrix product and sum C = \alpha op(A) op(B) + \beta C where op(A) = A, AT, AH for TransA = CblasNoTrans, CblasTrans, CblasConjTrans and similarly for the parameter TransB.

ssymm

This function computes the matrix-matrix product and sum C = \alpha A B + \beta C for Side is CblasLeft and C = \alpha B A + \beta C for Side is CblasRight, where the matrix A is symmetric. When Uplo is CblasUpper then the upper triangle and diagonal of A are used, and when Uplo is CblasLower then the lower triangle and diagonal of A are used.

ssyr2k

This function computes a rank-2k update of the symmetric matrix C, C = \alpha A BT + \alpha B AT + \beta C when Trans is NoTrans and C = \alpha AT B + \alpha BT A + \beta C when Trans is Trans. Since the matrix C is symmetric only its upper half or lower half need to be stored. When Uplo is Upper then the upper triangle and diagonal of C are used, and when Uplo is Lower then the lower triangle and diagonal of C are used.

ssyrk

This function computes a rank-k update of the symmetric matrix C, C = \alpha A AT + \beta C when Trans is NoTrans and C = \alpha AT A + \beta C when Trans is Trans. Since the matrix C is symmetric only its upper half or lower half need to be stored. When Uplo is Upper then the upper triangle and diagonal of C are used, and when Uplo is Lower then the lower triangle and diagonal of C are used.

strmm

This function computes the matrix-matrix product B = \alpha op(A) B for Side is Left and B = \alpha B op(A) for Side is CblasRight. The matrix A is triangular and op(A) = A, AT, AH for TransA = NoTrans, Trans, ConjTrans. When Uplo is Upper then the upper triangle of A is used, and when Uplo is Lower then the lower triangle of A is used. If Diag is NonUnit then the diagonal of A is used, but if Diag is Unit then the diagonal elements of the matrix A are taken as unity and are not referenced.

strsm

This function computes the inverse-matrix matrix product B = \alpha op(inv(A))B for Side is Left and B = \alpha B op(inv(A)) for Side is Right. The matrix A is triangular and op(A) = A, AT, AH for TransA = NoTrans, Trans, ConjTrans. When Uplo is Upper then the upper triangle of A is used, and when Uplo is Lower then the lower triangle of A is used. If Diag is NonUnit then the diagonal of A is used, but if Diag is Unit then the diagonal elements of the matrix A are taken as unity and are not referenced.

zgemm

This function computes the matrix-matrix product and sum C = \alpha op(A) op(B) + \beta C where op(A) = A, AT, AH for TransA = CblasNoTrans, CblasTrans, CblasConjTrans and similarly for the parameter TransB.

zhemm

This function computes the matrix-matrix product and sum C = \alpha A B + \beta C for Side is CblasLeft and C = \alpha B A + \beta C for Side is CblasRight, where the matrix A is hermitian. When Uplo is CblasUpper then the upper triangle and diagonal of A are used, and when Uplo is CblasLower then the lower triangle and diagonal of A are used. The imaginary elements of the diagonal are automatically set to zero.

zher2k

This function computes a rank-2k update of the hermitian matrix C, C = \alpha A BH + \alpha* B AH + \beta C when Trans is NoTrans and C = \alpha AH B + \alpha* BH A + \beta C when Trans is ConjTrans. Since the matrix C is hermitian only its upper half or lower half need to be stored. When Uplo is Upper then the upper triangle and diagonal of C are used, and when Uplo is Lower then the lower triangle and diagonal of C are used. The imaginary elements of the diagonal are automatically set to zero.

zherk

These functions compute a rank-k update of the hermitian matrix C, C = \alpha A AH + \beta C when Trans is NoTrans and C = \alpha AH A + \beta C when Trans is ConjTrans. Since the matrix C is hermitian only its upper half or lower half need to be stored. When Uplo is Upper then the upper triangle and diagonal of C are used, and when Uplo is Lower then the lower triangle and diagonal of C are used. The imaginary elements of the diagonal are automatically set to zero.

zsymm

This function computes the matrix-matrix product and sum C = \alpha A B + \beta C for Side is CblasLeft and C = \alpha B A + \beta C for Side is CblasRight, where the matrix A is symmetric. When Uplo is CblasUpper then the upper triangle and diagonal of A are used, and when Uplo is CblasLower then the lower triangle and diagonal of A are used.

zsyr2k

This function computes a rank-2k update of the symmetric matrix C, C = \alpha A BT + \alpha B AT + \beta C when Trans is NoTrans and C = \alpha AT B + \alpha BT A + \beta C when Trans is Trans. Since the matrix C is symmetric only its upper half or lower half need to be stored. When Uplo is Upper then the upper triangle and diagonal of C are used, and when Uplo is Lower then the lower triangle and diagonal of C are used.

zsyrk

This function computes a rank-k update of the symmetric matrix C, C = \alpha A AT + \beta C when Trans is NoTrans and C = \alpha AT A + \beta C when Trans is Trans. Since the matrix C is symmetric only its upper half or lower half need to be stored. When Uplo is Upper then the upper triangle and diagonal of C are used, and when Uplo is Lower then the lower triangle and diagonal of C are used.

ztrmm

This function computes the matrix-matrix product B = \alpha op(A) B for Side is Left and B = \alpha B op(A) for Side is CblasRight. The matrix A is triangular and op(A) = A, AT, AH for TransA = NoTrans, Trans, ConjTrans. When Uplo is Upper then the upper triangle of A is used, and when Uplo is Lower then the lower triangle of A is used. If Diag is NonUnit then the diagonal of A is used, but if Diag is Unit then the diagonal elements of the matrix A are taken as unity and are not referenced.

ztrsm

This function computes the inverse-matrix matrix product B = \alpha op(inv(A))B for Side is Left and B = \alpha B op(inv(A)) for Side is Right. The matrix A is triangular and op(A) = A, AT, AH for TransA = NoTrans, Trans, ConjTrans. When Uplo is Upper then the upper triangle of A is used, and when Uplo is Lower then the lower triangle of A is used. If Diag is NonUnit then the diagonal of A is used, but if Diag is Unit then the diagonal elements of the matrix A are taken as unity and are not referenced.