Previous: Level 2 GSL BLAS Interface, Up: GSL BLAS Interface
These functions compute the matrix-matrix product and sum C = \alpha op(A) op(B) + \beta C where op(A) = A, A^T, A^H for TransA =
CblasNoTrans
,CblasTrans
,CblasConjTrans
and similarly for the parameter TransB.
These functions compute 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 isCblasRight
, where the matrix A is symmetric. When Uplo isCblasUpper
then the upper triangle and diagonal of A are used, and when Uplo isCblasLower
then the lower triangle and diagonal of A are used.
These functions compute 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 isCblasRight
, where the matrix A is hermitian. When Uplo isCblasUpper
then the upper triangle and diagonal of A are used, and when Uplo isCblasLower
then the lower triangle and diagonal of A are used. The imaginary elements of the diagonal are automatically set to zero.
These functions compute the matrix-matrix product B = \alpha op(A) B for Side is
CblasLeft
and B = \alpha B op(A) for Side isCblasRight
. The matrix A is triangular and op(A) = A, A^T, A^H for TransA =CblasNoTrans
,CblasTrans
,CblasConjTrans
When Uplo isCblasUpper
then the upper triangle of A is used, and when Uplo isCblasLower
then the lower triangle of A is used. If Diag isCblasNonUnit
then the diagonal of A is used, but if Diag isCblasUnit
then the diagonal elements of the matrix A are taken as unity and are not referenced.
These functions compute the inverse-matrix matrix product B = \alpha op(inv(A))B for Side is
CblasLeft
and B = \alpha B op(inv(A)) for Side isCblasRight
. The matrix A is triangular and op(A) = A, A^T, A^H for TransA =CblasNoTrans
,CblasTrans
,CblasConjTrans
When Uplo isCblasUpper
then the upper triangle of A is used, and when Uplo isCblasLower
then the lower triangle of A is used. If Diag isCblasNonUnit
then the diagonal of A is used, but if Diag isCblasUnit
then the diagonal elements of the matrix A are taken as unity and are not referenced.
These functions compute a rank-k update of the symmetric matrix C, C = \alpha A A^T + \beta C when Trans is
CblasNoTrans
and C = \alpha A^T A + \beta C when Trans isCblasTrans
. Since the matrix C is symmetric only its upper half or lower half need to be stored. When Uplo isCblasUpper
then the upper triangle and diagonal of C are used, and when Uplo isCblasLower
then the lower triangle and diagonal of C are used.
These functions compute a rank-k update of the hermitian matrix C, C = \alpha A A^H + \beta C when Trans is
CblasNoTrans
and C = \alpha A^H A + \beta C when Trans isCblasTrans
. Since the matrix C is hermitian only its upper half or lower half need to be stored. When Uplo isCblasUpper
then the upper triangle and diagonal of C are used, and when Uplo isCblasLower
then the lower triangle and diagonal of C are used. The imaginary elements of the diagonal are automatically set to zero.
These functions compute a rank-2k update of the symmetric matrix C, C = \alpha A B^T + \alpha B A^T + \beta C when Trans is
CblasNoTrans
and C = \alpha A^T B + \alpha B^T A + \beta C when Trans isCblasTrans
. Since the matrix C is symmetric only its upper half or lower half need to be stored. When Uplo isCblasUpper
then the upper triangle and diagonal of C are used, and when Uplo isCblasLower
then the lower triangle and diagonal of C are used.
These functions compute a rank-2k update of the hermitian matrix C, C = \alpha A B^H + \alpha^* B A^H + \beta C when Trans is
CblasNoTrans
and C = \alpha A^H B + \alpha^* B^H A + \beta C when Trans isCblasConjTrans
. Since the matrix C is hermitian only its upper half or lower half need to be stored. When Uplo isCblasUpper
then the upper triangle and diagonal of C are used, and when Uplo isCblasLower
then the lower triangle and diagonal of C are used. The imaginary elements of the diagonal are automatically set to zero.