PLASMA
Parallel Linear Algebra Software for Multicore Architectures

\( C = op(A)^{-1} B \) or \( C = B \;op(A)^{-1} \) where \( A \) is triangular More...

Functions

 __attribute__ ((weak))
 

Detailed Description

\( C = op(A)^{-1} B \) or \( C = B \;op(A)^{-1} \) where \( A \) is triangular

Function Documentation

__attribute__ ( (weak)  )

Solves one of the matrix equations

\[ op( A )\times X = \alpha B, \]

or

\[ X \times op( A ) = \alpha B, \]

where op( A ) is one of:

\[ op( A ) = A, \]

\[ op( A ) = A^T, \]

\[ op( A ) = A^H, \]

alpha is a scalar, X and B are m-by-n matrices, and A is a unit or non-unit, upper or lower triangular matrix. The matrix X overwrites B.

Parameters
[in]side
  • PlasmaLeft: op(A)*X = B,
  • PlasmaRight: X*op(A) = B.
[in]uplo
  • PlasmaUpper: A is upper triangular,
  • PlasmaLower: A is lower triangular.
[in]transa
  • PlasmaNoTrans: A is not transposed,
  • PlasmaTrans: A is transposed,
  • PlasmaConjTrans: A is conjugate transposed.
[in]diag
  • PlasmaNonUnit: A has non-unit diagonal,
  • PlasmaUnit: A has unit diagonal.
[in]mThe number of rows of the matrix B. m >= 0.
[in]nThe number of columns of the matrix B. n >= 0.
[in]alphaThe scalar alpha.
[in]AThe lda-by-ka triangular matrix, where ka = m if side = PlasmaLeft, and ka = n if side = PlasmaRight. If uplo = PlasmaUpper, the leading k-by-k upper triangular part of the array A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced. If uplo = PlasmaLower, the leading k-by-k lower triangular part of the array A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced. If diag = PlasmaUnit, the diagonal elements of A are also not referenced and are assumed to be 1.
[in]ldaThe leading dimension of the array A. lda >= max(1,k).
[in,out]BOn entry, the ldb-by-n right hand side matrix B. On exit, if return value = 0, the ldb-by-n solution matrix X.
[in]ldbThe leading dimension of the array B. ldb >= max(1,m).

Solves one of the matrix equations

\[ op( A )\times X = \alpha B, \]

or

\[ X \times op( A ) = \alpha B, \]

where op( A ) is one of:

\[ op( A ) = A, \]

\[ op( A ) = A^T, \]

\[ op( A ) = A^T, \]

alpha is a scalar, X and B are m-by-n matrices, and A is a unit or non-unit, upper or lower triangular matrix. The matrix X overwrites B.

Parameters
[in]side
  • PlasmaLeft: op(A)*X = B,
  • PlasmaRight: X*op(A) = B.
[in]uplo
  • PlasmaUpper: A is upper triangular,
  • PlasmaLower: A is lower triangular.
[in]transa
  • PlasmaNoTrans: A is not transposed,
  • PlasmaTrans: A is transposed,
  • PlasmaConjTrans: A is conjugate transposed.
[in]diag
  • PlasmaNonUnit: A has non-unit diagonal,
  • PlasmaUnit: A has unit diagonal.
[in]mThe number of rows of the matrix B. m >= 0.
[in]nThe number of columns of the matrix B. n >= 0.
[in]alphaThe scalar alpha.
[in]AThe lda-by-ka triangular matrix, where ka = m if side = PlasmaLeft, and ka = n if side = PlasmaRight. If uplo = PlasmaUpper, the leading k-by-k upper triangular part of the array A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced. If uplo = PlasmaLower, the leading k-by-k lower triangular part of the array A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced. If diag = PlasmaUnit, the diagonal elements of A are also not referenced and are assumed to be 1.
[in]ldaThe leading dimension of the array A. lda >= max(1,k).
[in,out]BOn entry, the ldb-by-n right hand side matrix B. On exit, if return value = 0, the ldb-by-n solution matrix X.
[in]ldbThe leading dimension of the array B. ldb >= max(1,m).