PLASMA_cgelqf

Purpose

PLASMA_cgelqf - Computes the tile LQ factorization of a complex M-by-N matrix A: A = L * Q.

Example: Arguments
M        int (IN)
         The number of rows of the matrix A. M >= 0.

N        int (IN)
         The number of columns of the matrix A. N >= 0.

A        PLASMA_Complex32_t* (INOUT)
         On entry, the M-by-N matrix A.
         On exit, the elements on and below the diagonal of the array contain the m-by-min(M,N)
         lower trapezoidal matrix L (L is lower triangular if M <= N); the elements above the
         diagonal represent the unitary matrix Q as a product of elementary reflectors, stored
         by tiles.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,M).

T        PLASMA_Complex32_t* (OUT)
         On exit, auxiliary factorization data, required by PLASMA_cgelqs to solve the system
         of equations.

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_cgelqf(int M, int N, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T)
Example: Fortran Bindings
PLASMA_CGELQF(INTEGER M, INTEGER N, COMPLEX A, INTEGER LDA, INTEGER T, INTEGER INFO)
Online Browsing

Dive into PLASMA_cgelqf

PLASMA_cgelqf_Tile

Purpose

PLASMA_cgelqf_Tile - Computes the tile LQ factorization of a complex M-by-N matrix A: A = L * Q. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
A        PLASMA_Complex32_t* (INOUT)
         On entry, the M-by-N matrix A.
         On exit, the elements on and below the diagonal of the array contain the m-by-min(M,N)
         lower trapezoidal matrix L (L is lower triangular if M <= N); the elements above the
         diagonal represent the unitary matrix Q as a product of elementary reflectors, stored
         by tiles.

T        PLASMA_Complex32_t* (OUT)
         On exit, auxiliary factorization data, required by PLASMA_cgelqs to solve the system
         of equations.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_cgelqf_Tile(PLASMA_desc *A, PLASMA_desc *T)
Example: Fortran Bindings
PLASMA_CGELQF_TILE(INTEGER*4 A, INTEGER*4 T,INTEGER INFO)
Online Browsing

Dive into PLASMA_cgelqf_Tile

PLASMA_cgelqs

Purpose

PLASMA_cgelqs - Compute a minimum-norm solution min || A*X - B || using the LQ factorization A = L*Q computed by PLASMA_cgelqf.

Example: Arguments
M        int (IN)
         The number of rows of the matrix A. M >= 0.

N        int (IN)
         The number of columns of the matrix A. N >= M >= 0.

NRHS     int (IN)
         The number of columns of B. NRHS >= 0.

A        PLASMA_Complex32_t* (IN)
         Details of the LQ factorization of the original matrix A as returned by PLASMA_cgelqf.

LDA      int (IN)
         The leading dimension of the array A. LDA >= M.

T        PLASMA_Complex32_t* (IN)
         Auxiliary factorization data, computed by PLASMA_cgelqf.

B        PLASMA_Complex32_t* (INOUT)
         On entry, the M-by-NRHS right hand side matrix B.
         On exit, the N-by-NRHS solution matrix X.

LDB      int (IN)
         The leading dimension of the array B. LDB >= N.

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_cgelqs(int M, int N, int NRHS, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T, PLASMA_Complex32_t *B, int LDB)
Example: Fortran Bindings
PLASMA_CGELQS(INTEGER M, INTEGER N, INTEGER NRHS, COMPLEX A, INTEGER LDA, INTEGER T, COMPLEX B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_cgelqs

PLASMA_cgelqs_Tile

Purpose

PLASMA_cgelqs_Tile - Compute a minimum-norm solution min || A*X - B || using the LQ factorization A = L*Q computed by PLASMA_cgelqf_Tile. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
A        PLASMA_Complex32_t* (IN)
         Details of the LQ factorization of the original matrix A as returned by PLASMA_cgelqf.

T        PLASMA_Complex32_t* (IN)
         Auxiliary factorization data, computed by PLASMA_cgelqf.

B        PLASMA_Complex32_t* (INOUT)
         On entry, the M-by-NRHS right hand side matrix B.
         On exit, the N-by-NRHS solution matrix X.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_cgelqs_Tile(PLASMA_desc *A, PLASMA_desc *B, PLASMA_desc *T)
Example: Fortran Bindings
PLASMA_CGELQS_TILE(INTEGER*4 A, INTEGER*4 B, INTEGER*4 T, INTEGER INFO)
Online Browsing

Dive into PLASMA_cgelqs_Tile

PLASMA_cgels

Purpose

PLASMA_cgels - solves overdetermined or underdetermined linear systems involving an M-by-N matrix A using the QR or the LQ factorization of A. It is assumed that A has full rank. The following options are provided:

  1. trans = PlasmaNoTrans and M >= N: find the least squares solution of an overdetermined system, i.e., solve the least squares problem: minimize || B - A*X ||.

  2. trans = PlasmaNoTrans and M < N: find the minimum norm solution of an underdetermined system A * X = B.

Several right hand side vectors B and solution vectors X can be handled in a single call; they are stored as the columns of the M-by-NRHS right hand side matrix B and the N-by-NRHS solution matrix X.

Example: Arguments
trans    PLASMA_enum (IN)
         Intended usage:
         = PlasmaNoTrans:   the linear system involves A;
         = PlasmaConjTrans: the linear system involves A**H.
         Currently only PlasmaNoTrans is supported.

M        int (IN)
         The number of rows of the matrix A. M >= 0.

N        int (IN)
         The number of columns of the matrix A. N >= 0.

NRHS     int (IN)
         The number of right hand sides, i.e., the number of columns of the matrices B and X.
         NRHS >= 0.

A        PLASMA_Complex32_t* (INOUT)
         On entry, the M-by-N matrix A.
         On exit,
         if M >= N, A is overwritten by details of its QR factorization as returned by
                    PLASMA_cgeqrf;
         if M < N, A is overwritten by details of its LQ factorization as returned by
                     PLASMA_cgelqf.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,M).

T        PLASMA_Complex32_t* (OUT)
         On exit, auxiliary factorization data.

B        PLASMA_Complex32_t* (INOUT)
         On entry, the M-by-NRHS matrix B of right hand side vectors, stored columnwise;
         On exit, if return value = 0, B is overwritten by the solution vectors, stored
         columnwise:
         if M >= N, rows 1 to N of B contain the least squares solution vectors; the residual
         sum of squares for the solution in each column is given by the sum of squares of the
         modulus of elements N+1 to M in that column;
         if M < N, rows 1 to N of B contain the minimum norm solution vectors;

LDB      int (IN)
         The leading dimension of the array B. LDB >= MAX(1,M,N).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_cgels(PLASMA_enum trans, int M, int N, int NRHS, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T, PLASMA_Complex32_t *B, int LDB)
Example: Fortran Bindings
PLASMA_CGELS(INTEGER trans, INTEGER M, INTEGER N, INTEGER NRHS, COMPLEX A, INTEGER LDA, INTEGER T, COMPLEX B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_cgels

PLASMA_cgels_Tile

Purpose

PLASMA_cgels_Tile - solves overdetermined or underdetermined linear systems involving an M-by-N matrix A using the QR or the LQ factorization of A. It is assumed that A has full rank. The following options are provided:

  1. trans = PlasmaNoTrans and M >= N: find the least squares solution of an overdetermined system, i.e., solve the least squares problem: minimize || B - A*X ||.

  2. trans = PlasmaNoTrans and M < N: find the minimum norm solution of an underdetermined system A * X = B.

Several right hand side vectors B and solution vectors X can be handled in a single call; they are stored as the columns of the M-by-NRHS right hand side matrix B and the N-by-NRHS solution matrix X. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
trans    PLASMA_enum (IN)
         Intended usage:
         = PlasmaNoTrans:   the linear system involves A;
         = PlasmaConjTrans: the linear system involves A**H.
         Currently only PlasmaNoTrans is supported.

A        PLASMA_Complex32_t* (INOUT)
         On entry, the M-by-N matrix A.
         On exit,
         if M >= N, A is overwritten by details of its QR factorization as returned by
                    PLASMA_cgeqrf;
         if M < N, A is overwritten by details of its LQ factorization as returned by
                     PLASMA_cgelqf.

T        PLASMA_Complex32_t* (OUT)
         On exit, auxiliary factorization data.

B        PLASMA_Complex32_t* (INOUT)
         On entry, the M-by-NRHS matrix B of right hand side vectors, stored columnwise;
         On exit, if return value = 0, B is overwritten by the solution vectors, stored
         columnwise:
         if M >= N, rows 1 to N of B contain the least squares solution vectors; the residual
         sum of squares for the solution in each column is given by the sum of squares of the
         modulus of elements N+1 to M in that column;
         if M < N, rows 1 to N of B contain the minimum norm solution vectors;

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_cgels_Tile(PLASMA_enum trans, PLASMA_desc *A, PLASMA_desc *B, PLASMA_desc *T)
Example: Fortran Bindings
PLASMA_CGELS_TILE(INTEGER trans, INTEGER*4 A, INTEGER*4 B, INTEGER*4 T, INTEGER INFO)
Online Browsing

Dive into PLASMA_cgels_Tile

PLASMA_cgeqrf

Purpose

PLASMA_cgeqrf - Computes the tile QR factorization of a complex M-by-N matrix A: A = Q * R.

Example: Arguments
M        int (IN)
         The number of rows of the matrix A. M >= 0.

N        int (IN)
         The number of columns of the matrix A.  N >= 0.

A        PLASMA_Complex32_t* (INOUT)
         On entry, the M-by-N matrix A.
         On exit, the elements on and above the diagonal of the array contain the min(M,N)-by-N
         upper trapezoidal matrix R (R is upper triangular if M >= N); the elements below the
         diagonal represent the unitary matrix Q as a product of elementary reflectors stored
         by tiles.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,M).

T        PLASMA_Complex32_t* (OUT)
         On exit, auxiliary factorization data, required by PLASMA_cgeqrs to solve the system
         of equations.

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_cgeqrf(int M, int N, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T)
Example: Fortran Bindings
PLASMA_CGEQRF(INTEGER M, INTEGER N, COMPLEX A, INTEGER LDA, INTEGER T, INTEGER INFO)
Online Browsing

Dive into PLASMA_cgeqrf

PLASMA_cgeqrf_Tile

Purpose

PLASMA_cgeqrf_Tile - Computes the tile QR factorization of a complex M-by-N matrix A: A = Q * R. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
A        PLASMA_Complex32_t* (INOUT)
         On entry, the M-by-N matrix A.
         On exit, the elements on and above the diagonal of the array contain the min(M,N)-by-N
         upper trapezoidal matrix R (R is upper triangular if M >= N); the elements below the
         diagonal represent the unitary matrix Q as a product of elementary reflectors stored
         by tiles.

T        PLASMA_Complex32_t* (OUT)
         On exit, auxiliary factorization data, required by PLASMA_cgeqrs to solve the system
         of equations.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_cgeqrf_Tile(PLASMA_desc *A, PLASMA_desc *T)
Example: Fortran Bindings
PLASMA_CGEQRF_TILE(INTEGER*4 A, INTEGER*4 T, INTEGER INFO)
Online Browsing

Dive into PLASMA_cgeqrf_Tile

PLASMA_cgeqrs

Purpose

PLASMA_cgeqrs - Compute a minimum-norm solution min || A*X - B || using the RQ factorization A = R*Q computed by PLASMA_cgeqrf.

Example: Arguments
M        int (IN)
         The number of rows of the matrix A. M >= 0.

N        int (IN)
         The number of columns of the matrix A. N >= M >= 0.

NRHS     int (IN)
         The number of columns of B. NRHS >= 0.

A        PLASMA_Complex32_t* (INOUT)
         Details of the QR factorization of the original matrix A as returned by PLASMA_cgeqrf.

LDA      int (IN)
         The leading dimension of the array A. LDA >= M.

T        PLASMA_Complex32_t* (IN)
         Auxiliary factorization data, computed by PLASMA_cgeqrf.

B        PLASMA_Complex32_t* (INOUT)
         On entry, the m-by-nrhs right hand side matrix B.
         On exit, the n-by-nrhs solution matrix X.

LDB      int (IN)
         The leading dimension of the array B. LDB >= max(1,N).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_cgeqrs(int M, int N, int NRHS, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T, PLASMA_Complex32_t *B, int LDB)
Example: Fortran Bindings
PLASMA_CGEQRS(INTEGER M, INTEGER N, INTEGER NRHS, COMPLEX A, INTEGER LDA, INTEGER T, COMPLEX B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_cgeqrs

PLASMA_cgeqrs_Tile

Purpose

PLASMA_cgeqrs_Tile - Compute a minimum-norm solution min || A*X - B || using the RQ factorization A = R*Q computed by PLASMA_cgeqrf_Tile. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
A        PLASMA_Complex32_t* (INOUT)
         Details of the QR factorization of the original matrix A as returned by PLASMA_cgeqrf.

T        PLASMA_Complex32_t* (IN)
         Auxiliary factorization data, computed by PLASMA_cgeqrf.

B        PLASMA_Complex32_t* (INOUT)
         On entry, the m-by-nrhs right hand side matrix B.
         On exit, the n-by-nrhs solution matrix X.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_cgeqrs_Tile(PLASMA_desc *A, PLASMA_desc *B, PLASMA_desc *T)
Example: Fortran Bindings
PLASMA_CGEQRS_TILE(INTEGER*4 A, INTEGER*4 B, INTEGER*4 T, INTEGER INFO)
Online Browsing

Dive into PLASMA_cgeqrs_Tile

PLASMA_cgesv

Purpose

PLASMA_cgesv - Computes the solution to a system of linear equations A X = B, where A is an N-by-N matrix and X and B are N-by-NRHS matrices. The tile LU decomposition with partial tile pivoting and row interchanges is used to factor A. The factored form of A is then used to solve the system of equations A X = B.

Example: Arguments
N        int (IN)
         The number of linear equations, i.e., the order of the matrix A. N >= 0.

NRHS     int (IN)
         The number of right hand sides, i.e., the number of columns of the matrix B.
         NRHS >= 0.

A        PLASMA_Complex32_t* (INOUT)
         On entry, the N-by-N coefficient matrix A.
         On exit, the tile L and U factors from the factorization (not equivalent to LAPACK).

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,N).

L        PLASMA_Complex32_t* (OUT)
         On exit, auxiliary factorization data, related to the tile L factor,
         necessary to solve the system of equations.

IPIV     int* (OUT)
         On exit, the pivot indices that define the permutations (not equivalent to LAPACK).

B        PLASMA_Complex32_t* (INOUT)
         On entry, the N-by-NRHS matrix of right hand side matrix B.
         On exit, if return value = 0, the N-by-NRHS solution matrix X.

LDB      int (IN)
         The leading dimension of the array B. LDB >= max(1,N).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
          > 0: if i, U(i,i) is exactly zero. The factorization has been completed,
               but the factor U is exactly singular, so the solution could not be computed.
Example: C Bindings
int PLASMA_cgesv(int N, int NRHS, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *L, int *IPIV, PLASMA_Complex32_t *B, int LDB)
Example: Fortran Bindings
PLASMA_CGESV(INTEGER N, INTEGER NRHS, COMPLEX A, INTEGER LDA, INTEGER LH, INTEGER IPIVH, COMPLEX B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_cgesv

PLASMA_cgesv_Tile

Purpose

PLASMA_cgesv_Tile - Computes the solution to a system of linear equations A X = B, where A is an N-by-N matrix and X and B are N-by-NRHS matrices. The tile LU decomposition with partial tile pivoting and row interchanges is used to factor A. The factored form of A is then used to solve the system of equations A X = B. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
A        PLASMA_Complex32_t* (INOUT)
         On entry, the N-by-N coefficient matrix A.
         On exit, the tile L and U factors from the factorization (not equivalent to LAPACK).

L        PLASMA_Complex32_t* (OUT)
         On exit, auxiliary factorization data, related to the tile L factor,
         necessary to solve the system of equations.

IPIV     int* (OUT)
         On exit, the pivot indices that define the permutations (not equivalent to LAPACK).

B        PLASMA_Complex32_t* (INOUT)
         On entry, the N-by-NRHS matrix of right hand side matrix B.
         On exit, if return value = 0, the N-by-NRHS solution matrix X.

Example: Return Value:
          = 0: successful exit
          > 0: if i, U(i,i) is exactly zero. The factorization has been completed,
               but the factor U is exactly singular, so the solution could not be computed.
Example: C Bindings
int PLASMA_cgesv_Tile(PLASMA_desc *A, PLASMA_desc *L, int *IPIV, PLASMA_desc *B)
Example: Fortran Bindings
PLASMA_CGESV_TILE(INTEGER*4 A, INTEGER*4 L, INTEGER IPIVH, INTEGER*4 B, INTEGER INFO)
Online Browsing

Dive into PLASMA_cgesv_Tile

PLASMA_cgetrf

Purpose

PLASMA_cgetrf - Computes an LU factorization of a general M-by-N matrix A using the tile LU algorithm with partial tile pivoting with row interchanges.

Example: Arguments
M        int (IN)
         The number of rows of the matrix A. M >= 0.

N        int (IN)
         The number of columns of the matrix A. N >= 0.

A        PLASMA_Complex32_t* (INOUT)
         On entry, the M-by-N matrix to be factored.
         On exit, the tile factors L and U from the factorization.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,M).

L        PLASMA_Complex32_t* (OUT)
         On exit, auxiliary factorization data, related to the tile L factor,
         required by PLASMA_cgetrs to solve the system of equations.

IPIV     int* (OUT)
         The pivot indices that define the permutations (not equivalent to LAPACK).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
          > 0: if i, U(i,i) is exactly zero. The factorization has been completed,
               but the factor U is exactly singular, and division by zero will occur
               if it is used to solve a system of equations.
Example: C Bindings
int PLASMA_cgetrf(int M, int N, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *L, int *IPIV)
Example: Fortran Bindings
PLASMA_CGETRF(INTEGER M, INTEGER N, COMPLEX A, INTEGER LDA, INTEGER LH, INTEGER IPIVH, INTEGER INFO)
Online Browsing

Dive into PLASMA_cgetrf

PLASMA_cgetrf_Tile

Purpose

PLASMA_cgetrf_Tile - Computes an LU factorization of a general M-by-N matrix A using the tile LU algorithm with partial tile pivoting with row interchanges. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
A        PLASMA_Complex32_t* (INOUT)
         On entry, the M-by-N matrix to be factored.
         On exit, the tile factors L and U from the factorization.

L        PLASMA_Complex32_t* (OUT)
         On exit, auxiliary factorization data, related to the tile L factor,
         required by PLASMA_cgetrs to solve the system of equations.

IPIV     int* (OUT)
         The pivot indices that define the permutations (not equivalent to LAPACK).

Example: Return Value:
          = 0: successful exit
          > 0: if i, U(i,i) is exactly zero. The factorization has been completed,
               but the factor U is exactly singular, and division by zero will occur
               if it is used to solve a system of equations.
Example: C Bindings
int PLASMA_cgetrf_Tile(PLASMA_desc *A, PLASMA_desc *L, int *IPIV)
Example: Fortran Bindings
PLASMA_CGETRF_TILE(INTEGER*4 A, INTEGER*4 L, INTEGER IPIVH, INTEGER INFO)
Online Browsing

Dive into PLASMA_cgetrf_Tile

PLASMA_cgetrs

Purpose

PLASMA_cgetrs - Solves a system of linear equations A * X = B, with a general N-by-N matrix A using the tile LU factorization computed by PLASMA_cgetrf.

Example: Arguments
trans    PLASMA_enum (IN)
         Intended to specify the the form of the system of equations:
         = PlasmaNoTrans:   A * X = B     (No transpose)
         = PlasmaTrans:     A**T * X = B  (Transpose)
         = PlasmaConjTrans: A**H * X = B  (Conjugate transpose)
         Currently only PlasmaNoTrans is supported.

N        int (IN)
         The order of the matrix A.  N >= 0.

NRHS     int (IN)
         The number of right hand sides, i.e., the number of columns of the matrix B.
         NRHS >= 0.

A        PLASMA_Complex32_t* (IN)
         The tile factors L and U from the factorization, computed by PLASMA_cgetrf.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,N).

L        PLASMA_Complex32_t* (IN)
         Auxiliary factorization data, related to the tile L factor, computed by PLASMA_cgetrf.

IPIV     int* (IN)
         The pivot indices from PLASMA_cgetrf (not equivalent to LAPACK).

B        PLASMA_Complex32_t* (INOUT)
         On entry, the N-by-NRHS matrix of right hand side matrix B.
         On exit, the solution matrix X.

LDB      int (IN)
         The leading dimension of the array B. LDB >= max(1,N).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_cgetrs(PLASMA_enum uplo, int N, int NRHS, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *L, int *IPIV, PLASMA_Complex32_t *B, int LDB)
Example: Fortran Bindings
PLASMA_CGETRS(INTEGER uplo, INTEGER N, INTEGER NRHS, COMPLEX A, INTEGER LDA, INTEGER LH, INTEGER IPIVH, COMPLEX B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_cgetrs

PLASMA_cgetrs_Tile

Purpose

PLASMA_cgetrs_Tile - Solves a system of linear equations A * X = B, with a general N-by-N matrix A using the tile LU factorization computed by PLASMA_cgetrf. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
A        PLASMA_Complex32_t* (IN)
         The tile factors L and U from the factorization, computed by PLASMA_cgetrf.

L        PLASMA_Complex32_t* (IN)
         Auxiliary factorization data, related to the tile L factor, computed by PLASMA_cgetrf.

IPIV     int* (IN)
         The pivot indices from PLASMA_cgetrf (not equivalent to LAPACK).

B        PLASMA_Complex32_t* (INOUT)
         On entry, the N-by-NRHS matrix of right hand side matrix B.
         On exit, the solution matrix X.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_cgetrs_Tile(PLASMA_desc *A, PLASMA_desc *L, int *IPIV, PLASMA_desc *B)
Example: Fortran Bindings
PLASMA_CGETRS_TILE(INTEGER*4 A, INTEGER*4 L, INTEGER IPIVH, INTEGER*4 B, INTEGER INFO)
Online Browsing

Dive into PLASMA_cgetrs_Tile

PLASMA_cposv

Purpose

PLASMA_cposv - Computes the solution to a system of linear equations A * X = B, where A is an N-by-N symmetric positive definite (or Hermitian positive definite in the complex case) matrix and X and B are N-by-NRHS matrices. The Cholesky decomposition is used to factor A as

A = U**H * U, if uplo = PlasmaUpper, or
A = L * L**H, if uplo =  PlasmaLower,

where U is an upper triangular matrix and L is a lower triangular matrix. The factored form of A is then used to solve the system of equations A * X = B.

Example: Arguments
uplo     PLASMA_enum (IN)
         Specifies whether the matrix A is upper triangular or lower triangular:
         = PlasmaUpper: Upper triangle of A is stored;
         = PlasmaLower: Lower triangle of A is stored.

N        int (IN)
         The number of linear equations, i.e., the order of the matrix A. N >= 0.

NRHS     int (IN)
         The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.

A        PLASMA_Complex32_t* (INOUT)
         On entry, the symmetric positive definite (or Hermitian) matrix A.
         If uplo = PlasmaUpper, the leading N-by-N upper triangular part of A
         contains the upper triangular part of the matrix A, and the strictly lower triangular
         part of A is not referenced.
         If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower
         triangular part of the matrix A, and the strictly upper triangular part of A is not
         referenced.
         On exit, if return value = 0, the factor U or L from the Cholesky factorization
         A = U**H*U or A = L*L**H.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,N).

B        PLASMA_Complex32_t* (INOUT)
         On entry, the N-by-NRHS right hand side matrix B.
         On exit, if return value = 0, the N-by-NRHS solution matrix X.

LDB      int (IN)
         The leading dimension of the array B. LDB >= max(1,N).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
          > 0: if i, the leading minor of order i of A is not positive definite, so the
               factorization could not be completed, and the solution has not been computed.
Example: C Bindings
int PLASMA_cposv(PLASMA_enum uplo, int N, int NRHS, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *B, int LDB)
Example: Fortran Bindings
PLASMA_CPOSV(INTEGER uplo, INTEGER N, INTEGER NRHS, COMPLEX A, INTEGER LDA, COMPLEX B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_cposv

PLASMA_cposv_Tile

Purpose

PLASMA_cposv_Tile - Computes the solution to a system of linear equations A * X = B, where A is an N-by-N symmetric positive definite (or Hermitian positive definite in the complex case) matrix and X and B are N-by-NRHS matrices. The Cholesky decomposition is used to factor A as

A = U**H * U, if uplo = PlasmaUpper, or
A = L * L**H, if uplo =  PlasmaLower,

where U is an upper triangular matrix and L is a lower triangular matrix. The factored form of A is then used to solve the system of equations A * X = B. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
uplo     PLASMA_enum (IN)
         Specifies whether the matrix A is upper triangular or lower triangular:
         = PlasmaUpper: Upper triangle of A is stored;
         = PlasmaLower: Lower triangle of A is stored.

A        PLASMA_Complex32_t* (INOUT)
         On entry, the symmetric positive definite (or Hermitian) matrix A.
         If uplo = PlasmaUpper, the leading N-by-N upper triangular part of A
         contains the upper triangular part of the matrix A, and the strictly lower triangular
         part of A is not referenced.
         If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower
         triangular part of the matrix A, and the strictly upper triangular part of A is not
         referenced.
         On exit, if return value = 0, the factor U or L from the Cholesky factorization
         A = U**H*U or A = L*L**H.

B        PLASMA_Complex32_t* (INOUT)
         On entry, the N-by-NRHS right hand side matrix B.
         On exit, if return value = 0, the N-by-NRHS solution matrix X.

Example: Return Value:
          = 0: successful exit
          > 0: if i, the leading minor of order i of A is not positive definite, so the
               factorization could not be completed, and the solution has not been computed.
Example: C Bindings
int PLASMA_cposv_Tile(PLASMA_enum uplo, PLASMA_desc *A, PLASMA_desc *B)
Example: Fortran Bindings
PLASMA_CPOSV_TILE(INTEGER uplo, INTEGER*4 A, INTEGER*4 B, INTEGER INFO)
Online Browsing

Dive into PLASMA_cposv_Tile

PLASMA_cpotrf

Purpose

PLASMA_cpotrf - Computes the Cholesky factorization of a symmetric positive definite (or Hermitian positive definite in the complex case) matrix A. The factorization has the form

A = U**H * U, if uplo = PlasmaUpper, or
A = L * L**H, if uplo =  PlasmaLower,

where U is an upper triangular matrix and L is a lower triangular matrix.

Example: Arguments
uplo     PLASMA_enum (IN)
         = PlasmaUpper: Upper triangle of A is stored;
         = PlasmaLower: Lower triangle of A is stored.

N        int (IN)
         The order of the matrix A. N >= 0.

A        PLASMA_Complex32_t* (INOUT)
         On entry, the symmetric positive definite (or Hermitian) matrix A.
         If uplo = PlasmaUpper, the leading N-by-N upper triangular part of A
         contains the upper triangular part of the matrix A, and the strictly lower triangular
         part of A is not referenced.
         If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower
         triangular part of the matrix A, and the strictly upper triangular part of A is not
         referenced.
         On exit, if return value = 0, the factor U or L from the Cholesky factorization
         A = U**H*U or A = L*L**H.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,N).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
          > 0: if i, the leading minor of order i of A is not positive definite, so the
               factorization could not be completed, and the solution has not been computed.
Example: C Bindings
int PLASMA_cpotrf(PLASMA_enum uplo, int N, PLASMA_Complex32_t *A, int LDA)
Example: Fortran Bindings
PLASMA_CPOTRF(INTEGER uplo, INTEGER N, COMPLEX A, INTEGER LDA, INTEGER INFO)
Online Browsing

Dive into PLASMA_cpotrf

PLASMA_cpotrf_Tile

Purpose

PLASMA_cpotrf_Tile - Computes the Cholesky factorization of a symmetric positive definite (or Hermitian positive definite in the complex case) matrix A. The factorization has the form

A = U**H * U, if uplo = PlasmaUpper, or
A = L * L**H, if uplo =  PlasmaLower,

where U is an upper triangular matrix and L is a lower triangular matrix. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
uplo     PLASMA_enum (IN)
         = PlasmaUpper: Upper triangle of A is stored;
         = PlasmaLower: Lower triangle of A is stored.

A        PLASMA_Complex32_t* (INOUT)
         On entry, the symmetric positive definite (or Hermitian) matrix A.
         If uplo = PlasmaUpper, the leading N-by-N upper triangular part of A
         contains the upper triangular part of the matrix A, and the strictly lower triangular
         part of A is not referenced.
         If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower
         triangular part of the matrix A, and the strictly upper triangular part of A is not
         referenced.
         On exit, if return value = 0, the factor U or L from the Cholesky factorization
         A = U**H*U or A = L*L**H.

Example: Return Value:
          = 0: successful exit
          > 0: if i, the leading minor of order i of A is not positive definite, so the
               factorization could not be completed, and the solution has not been computed.
Example: C Bindings
int PLASMA_cpotrf_Tile(PLASMA_enum uplo, PLASMA_desc *A)
Example: Fortran Bindings
PLASMA_CPOTRF_TILE(INTEGER uplo, INTEGER*4 A, INTEGER INFO)
Online Browsing

Dive into PLASMA_cpotrf_Tile

PLASMA_cpotrs

Purpose

PLASMA_cpotrs - Solves a system of linear equations A * X = B with a symmetric positive definite (or Hermitian positive definite in the complex case) matrix A using the Cholesky factorization A = UH*U or A = L*LH computed by PLASMA_cpotrf.

Example: Arguments
uplo     PLASMA_enum (IN)
         = PlasmaUpper: Upper triangle of A is stored;
         = PlasmaLower: Lower triangle of A is stored.

N        int (IN)
         The order of the matrix A. N >= 0.

NRHS     int (IN)
         The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.

A        PLASMA_Complex32_t* (IN)
         The triangular factor U or L from the Cholesky factorization A = U**H*U or A = L*L**H,
         computed by PLASMA_cpotrf.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,N).

B        PLASMA_Complex32_t* (INOUT)
         On entry, the N-by-NRHS right hand side matrix B.
         On exit, if return value = 0, the N-by-NRHS solution matrix X.

LDB      int (IN)
         The leading dimension of the array B. LDB >= max(1,N).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_cpotrs(PLASMA_enum uplo, int N, int NRHS, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *B, int LDB)
Example: Fortran Bindings
PLASMA_CPOTRS(INTEGER uplo, INTEGER N, INTEGER NRHS, COMPLEX A, INTEGER LDA, COMPLEX B, INTEGER  LDB, INTEGER  INFO)
Online Browsing

Dive into PLASMA_cpotrs

PLASMA_cpotrs_Tile

Purpose

PLASMA_cpotrs_Tile - Solves a system of linear equations A * X = B with a symmetric positive definite (or Hermitian positive definite in the complex case) matrix A using the Cholesky factorization A = UH*U or A = L*LH computed by PLASMA_cpotrf. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
uplo     PLASMA_enum (IN)
         = PlasmaUpper: Upper triangle of A is stored;
         = PlasmaLower: Lower triangle of A is stored.

A        PLASMA_Complex32_t* (IN)
         The triangular factor U or L from the Cholesky factorization A = U**H*U or A = L*L**H,
         computed by PLASMA_cpotrf.

B        PLASMA_Complex32_t* (INOUT)
         On entry, the N-by-NRHS right hand side matrix B.
         On exit, if return value = 0, the N-by-NRHS solution matrix X.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_cpotrs_Tile(PLASMA_enum uplo, PLASMA_desc *A, PLASMA_desc *B)
Example: Fortran Bindings
PLASMA_CPOTRS_TILE(INTEGER uplo, INTEGER*4 A, INTEGER*4 B, INTEGER INFO)
Online Browsing

Dive into PLASMA_cpotrs_Tile

PLASMA_ctrsm

Purpose

PLASMA_ctrsm - Computes triangular solve A*X = B or X*A = B

Example: Arguments
side     PLASMA_enum (IN)
         Specifies whether A appears on the left or on the right of X:
         = PlasmaLeft:  A*X = B
         = PlasmaRight: X*A = B

uplo     PLASMA_enum (IN)
         Specifies whether the matrix A is upper triangular or lower triangular:
         = PlasmaUpper: Upper triangle of A is stored;
         = PlasmaLower: Lower triangle of A is stored.

transA   PLASMA_enum (IN)
         Specifies whether the matrix A is transposed, not transposed or conjugate transposed:
         = PlasmaNoTrans:   A is transposed;
         = PlasmaTrans:     A is not transposed;
         = PlasmaConjTrans: A is conjugate transposed.

diag     PLASMA_enum (IN)
         Specifies whether or not A is unit triangular:
         = PlasmaNonUnit: A is non unit;
         = PlasmaUnit:    A us unit.

N        int (IN)
         The order of the matrix A. N >= 0.

NRHS     int (IN)
         The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.

A        PLASMA_Complex32_t* (IN)
         The triangular matrix A. If uplo = PlasmaUpper, the leading N-by-N 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 N-by-N
         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.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,N).

B        PLASMA_Complex32_t* (INOUT)
         On entry, the N-by-NRHS right hand side matrix B.
         On exit, if return value = 0, the N-by-NRHS solution matrix X.

LDB      PLASMA_Complex32_t* (IN)
         The leading dimension of the array B. LDB >= max(1,N).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_ctrsm(PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag, int N, int NRHS, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *B, int LDB)
Example: Fortran Bindings
PLASMA_CTRSM(INTEGER side, INTEGER uplo, INTEGER transA, INTEGER diag, INTEGER N, INTEGER NRHS, COMPLEX A, INTEGER LDA, COMPLEX B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_ctrsm

PLASMA_ctrsmpl

Purpose

PLASMA_ctrsmpl - Performs the forward substitution step of solving a system of linear equations after the tile LU factorization of the matrix.

Example: Arguments
N        int (IN)
         The order of the matrix A. N >= 0.

NRHS     int (IN)
         The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.

A        PLASMA_Complex32_t* (IN)
         The tile factor L from the factorization, computed by PLASMA_cgetrf.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,N).

L        PLASMA_Complex32_t* (IN)
         Auxiliary factorization data, related to the tile L factor, computed by PLASMA_cgetrf.

IPIV     int* (IN)
         The pivot indices from PLASMA_cgetrf (not equivalent to LAPACK).

B        PLASMA_Complex32_t* (INOUT)
         On entry, the N-by-NRHS right hand side matrix B.
         On exit, if return value = 0, the N-by-NRHS solution matrix X.

LDB      PLASMA_Complex32_t* (IN)
         The leading dimension of the array B. LDB >= max(1,N).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_ctrsmpl(int N, int NRHS, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *L, int *IPIV, PLASMA_Complex32_t *B, int LDB)
Example: Fortran Bindings
PLASMA_CTRSMPL(INTEGER N, INTEGER NRHS, COMPLEX A, INTEGER LDA, INTEGER LH, INTEGER IPIVH, COMPLEX B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_ctrsmpl

PLASMA_ctrsmpl_Tile

Purpose

PLASMA_ctrsmpl_Tile - Performs the forward substitution step of solving a system of linear equations after the tile LU factorization of the matrix. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
A        PLASMA_Complex32_t* (IN)
         The tile factor L from the factorization, computed by PLASMA_cgetrf.

L        PLASMA_Complex32_t* (IN)
         Auxiliary factorization data, related to the tile L factor, computed by PLASMA_cgetrf.

IPIV     int* (IN)
         The pivot indices from PLASMA_cgetrf (not equivalent to LAPACK).

B        PLASMA_Complex32_t* (INOUT)
         On entry, the N-by-NRHS right hand side matrix B.
         On exit, if return value = 0, the N-by-NRHS solution matrix X.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_ctrsmpl_Tile(PLASMA_desc *A, PLASMA_desc *L, int *IPIV, PLASMA_desc *B)
Example: Fortran Bindings
PLASMA_CTRSMPL_TILE(INTEGER*4 A, INTEGER*4 L, INTEGER IPIVH, INTEGER*4 B, INTEGER INFO)
Online Browsing

Dive into PLASMA_ctrsmpl_Tile

PLASMA_ctrsm_Tile

Purpose

PLASMA_ctrsm_Tile - Computes triangular solve A*X = B or X*A = B All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
side     PLASMA_enum (IN)
         Specifies whether A appears on the left or on the right of X:
         = PlasmaLeft:  A*X = B
         = PlasmaRight: X*A = B

uplo     PLASMA_enum (IN)
         Specifies whether the matrix A is upper triangular or lower triangular:
         = PlasmaUpper: Upper triangle of A is stored;
         = PlasmaLower: Lower triangle of A is stored.

transA   PLASMA_enum (IN)
         Specifies whether the matrix A is transposed, not transposed or conjugate transposed:
         = PlasmaNoTrans:   A is transposed;
         = PlasmaTrans:     A is not transposed;
         = PlasmaConjTrans: A is conjugate transposed.

diag     PLASMA_enum (IN)
         Specifies whether or not A is unit triangular:
         = PlasmaNonUnit: A is non unit;
         = PlasmaUnit:    A us unit.

A        PLASMA_Complex32_t* (IN)
         The triangular matrix A. If uplo = PlasmaUpper, the leading N-by-N 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 N-by-N
         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.

B        PLASMA_Complex32_t* (INOUT)
         On entry, the N-by-NRHS right hand side matrix B.
         On exit, if return value = 0, the N-by-NRHS solution matrix X.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_ctrsm_Tile(PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag, PLASMA_desc *A, PLASMA_desc *B)
Example: Fortran Bindings
PLASMA_CTRSM_TILE(INTEGER side, INTEGER uplo, INTEGER transA, INTEGER diag, INTEGER*4 A, INTEGER*4 B, INTEGER INFO)
Online Browsing

Dive into PLASMA_ctrsm_Tile

PLASMA_cunglq

Purpose

PLASMA_cunglq - Generates an M-by-N matrix Q with orthonormal rows, which is defined as the first M rows of a product of the elementary reflectors returned by PLASMA_cgelqf.

Example: Arguments
M        int (IN)
         The number of rows of the matrix Q. M >= 0.

N        int (IN)
         The number of columns of the matrix Q. N >= M.

K        int (IN)
         The number of rows of elementary tile reflectors whose product defines the matrix Q.
         M >= K >= 0.

A        PLASMA_Complex32_t* (IN)
         Details of the LQ factorization of the original matrix A as returned by PLASMA_cgelqf.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,M).

T        PLASMA_Complex32_t* (IN)
         Auxiliary factorization data, computed by PLASMA_cgelqf.

B        PLASMA_Complex32_t* (OUT)
         On exit, the M-by-N matrix Q.

LDA      int (IN)
         The leading dimension of the array B. LDB >= max(1,M).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_cunglq(int M, int N, int K, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T, PLASMA_Complex32_t *B, int LDB)
Example: Fortran Bindings
PLASMA_CUNGLQ(INTEGER M, INTEGER N, INTEGER K, COMPLEX A, INTEGER LDA, INTEGER T, COMPLEX B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_cunglq

PLASMA_cunglq_Tile

Purpose

PLASMA_cunglq_Tile - Generates an M-by-N matrix Q with orthonormal rows, which is defined as the first M rows of a product of the elementary reflectors returned by PLASMA_cgelqf_Tile. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
A        PLASMA_Complex32_t* (IN)
         Details of the LQ factorization of the original matrix A as returned by PLASMA_cgelqf.

T        PLASMA_Complex32_t* (IN)
         Auxiliary factorization data, computed by PLASMA_cgelqf.

B        PLASMA_Complex32_t* (OUT)
         On exit, the M-by-N matrix Q.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_cunglq_Tile(PLASMA_desc *A, PLASMA_desc *T, PLASMA_desc *B)
Example: Fortran Bindings
Online Browsing

Dive into PLASMA_cunglq_Tile

PLASMA_cungqr

Purpose

PLASMA_cungqr - Generates an M-by-N matrix Q with orthonormal columns, which is defined as the first N columns of a product of the elementary reflectors returned by PLASMA_cgeqrf.

Example: Arguments
M        int (IN)
         The number of rows of the matrix Q. M >= 0.

N        int (IN)
         The number of columns of the matrix Q. N >= M.

K        int (IN)
         The number of columns of elementary tile reflectors whose product defines the matrix Q.
         M >= K >= 0.

A        PLASMA_Complex32_t* (IN)
         Details of the QR factorization of the original matrix A as returned by PLASMA_cgeqrf.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,M).

T        PLASMA_Complex32_t* (IN)
         Auxiliary factorization data, computed by PLASMA_cgeqrf.

B        PLASMA_Complex32_t* (OUT)
         On exit, the M-by-N matrix Q.

LDB      int (IN)
         The leading dimension of the array B. LDB >= max(1,M).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_cungqr(int M, int N, int K, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T, PLASMA_Complex32_t *B, int LDB)
Example: Fortran Bindings
PLASMA_CUNGQR(INTEGER M, INTEGER N, INTEGER K, COMPLEX A, INTEGER LDA, INTEGER T, COMPLEX B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_cungqr

PLASMA_cungqr_Tile

Purpose

PLASMA_cungqr_Tile - Generates an M-by-N matrix Q with orthonormal columns, which is defined as the first N columns of a product of the elementary reflectors returned by PLASMA_cgeqrf_Tile. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
A        PLASMA_Complex32_t* (IN)
         Details of the QR factorization of the original matrix A as returned by PLASMA_cgeqrf.

T        PLASMA_Complex32_t* (IN)
         Auxiliary factorization data, computed by PLASMA_cgeqrf.

B        PLASMA_Complex32_t* (OUT)
         On exit, the M-by-N matrix Q.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_cungqr_Tile(PLASMA_desc *A, PLASMA_desc *T, PLASMA_desc *B)
Example: Fortran Bindings
PLASMA_CUNGQR_TILE(INTEGER*4 A, INTEGER*4 T, INTEGER*4 B, INTEGER INFO)
Online Browsing

Dive into PLASMA_cungqr_Tile

PLASMA_cunmlq

Purpose

PLASMA_cunmlq - overwrites the general M-by-N matrix C with Q*C, where Q is an orthogonal matrix (unitary in the complex case) defined as the product of elementary reflectors returned by PLASMA_cgelqf. Q is of order M.

Example: Arguments
side     PLASMA_enum (IN)
         Intended usage:
         = PlasmaLeft:  apply Q or Q**H from the left;
         = PlasmaRight: apply Q or Q**H from the right.
         Currently only PlasmaLeft is supported.

trans    PLASMA_enum (IN)
         Intended usage:
         = PlasmaNoTrans:   no transpose, apply Q;
         = PlasmaConjTrans: conjugate transpose, apply Q**H.
         Currently only PlasmaConjTrans is supported.

M        int (IN)
         The number of rows of the matrix C. M >= 0.

N        int (IN)
         The number of columns of the matrix C. N >= 0.

K        int (IN)
         The number of rows of elementary tile reflectors whose product defines the matrix Q.
         M >= K >= 0.

A        PLASMA_Complex32_t* (IN)
         Details of the LQ factorization of the original matrix A as returned by PLASMA_cgelqf.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,K).

T        PLASMA_Complex32_t* (IN)
         Auxiliary factorization data, computed by PLASMA_cgelqf.

B        PLASMA_Complex32_t* (INOUT)
         On entry, the M-by-N matrix B.
         On exit, B is overwritten by Q*B or Q**H*B.

LDB      int (IN)
         The leading dimension of the array C. LDC >= max(1,M).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_cunmlq(PLASMA_enum side, PLASMA_enum trans, int M, int N, int K, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T, PLASMA_Complex32_t *B, int LDB)
Example: Fortran Bindings
PLASMA_CUNMLQ(INTEGER side, INTEGER trans, INTEGER M, INTEGER N, INTEGER K, COMPLEX A, INTEGER LDA, INTEGER T, COMPLEX B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_cunmlq

PLASMA_cunmlq_Tile

Purpose

PLASMA_cunmlq_Tile - overwrites the general M-by-N matrix C with Q*C, where Q is an orthogonal matrix (unitary in the complex case) defined as the product of elementary reflectors returned by PLASMA_cgelqf_Tile Q is of order M. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
side     PLASMA_enum (IN)
         Intended usage:
         = PlasmaLeft:  apply Q or Q**H from the left;
         = PlasmaRight: apply Q or Q**H from the right.
         Currently only PlasmaLeft is supported.

trans    PLASMA_enum (IN)
         Intended usage:
         = PlasmaNoTrans:   no transpose, apply Q;
         = PlasmaConjTrans: conjugate transpose, apply Q**H.
         Currently only PlasmaConjTrans is supported.

A        PLASMA_Complex32_t* (IN)
         Details of the LQ factorization of the original matrix A as returned by PLASMA_cgelqf.

T        PLASMA_Complex32_t* (IN)
         Auxiliary factorization data, computed by PLASMA_cgelqf.

B        PLASMA_Complex32_t* (INOUT)
         On entry, the M-by-N matrix B.
         On exit, B is overwritten by Q*B or Q**H*B.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_cunmlq_Tile(PLASMA_enum side, PLASMA_enum trans, PLASMA_desc *A, PLASMA_desc *T, PLASMA_desc *B)
Example: Fortran Bindings
PLASMA_CUNMLQ_TILE(INTEGER side, INTEGER trans, INTEGER*4 A, INTEGER*4 T, INTEGER*4 B, INTEGER INFO)
Online Browsing

Dive into PLASMA_cunmlq_Tile

PLASMA_cunmqr

Purpose

PLASMA_cunmqr - overwrites the general M-by-N matrix C with Q*C, where Q is an orthogonal matrix (unitary in the complex case) defined as the product of elementary reflectors returned by PLASMA_cgeqrf. Q is of order M.

Example: Arguments
side     PLASMA_enum (IN)
         Intended usage:
         = PlasmaLeft:  apply Q or Q**H from the left;
         = PlasmaRight: apply Q or Q**H from the right.
         Currently only PlasmaLeft is supported.

trans    PLASMA_enum (IN)
         Intended usage:
         = PlasmaNoTrans:   no transpose, apply Q;
         = PlasmaConjTrans: conjugate transpose, apply Q**H.
         Currently only PlasmaConjTrans is supported.

M        int (IN)
         The number of rows of the matrix C. M >= 0.

N        int (IN)
         The number of columns of the matrix C. N >= 0.

K        int (IN)
         The number of columns of elementary tile reflectors whose product defines the matrix Q.
         M >= K >= 0.

A        PLASMA_Complex32_t* (IN)
         Details of the QR factorization of the original matrix A as returned by PLASMA_cgeqrf.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,M);

T        PLASMA_Complex32_t* (IN)
         Auxiliary factorization data, computed by PLASMA_cgeqrf.

B        PLASMA_Complex32_t* (INOUT)
         On entry, the M-by-N matrix B.
         On exit, B is overwritten by Q*B or Q**H*B.

LDB      int (IN)
         The leading dimension of the array C. LDC >= max(1,M).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_cunmqr(PLASMA_enum side, PLASMA_enum trans, int M, int N, int K, PLASMA_Complex32_t *A, int LDA, PLASMA_Complex32_t *T, PLASMA_Complex32_t *B, int LDB)
Example: Fortran Bindings
PLASMA_CUNMQR(INTEGER side, INTEGER trans, INTEGER M, INTEGER N, INTEGER K, COMPLEX A, INTEGER LDA, INTEGER T, COMPLEX B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_cunmqr

PLASMA_cunmqr_Tile

Purpose

PLASMA_cunmqr_Tile - overwrites the general M-by-N matrix C with Q*C, where Q is an orthogonal matrix (unitary in the complex case) defined as the product of elementary reflectors returned by PLASMA_cgeqrf_Tile Q is of order M. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
side     PLASMA_enum (IN)
         Intended usage:
         = PlasmaLeft:  apply Q or Q**H from the left;
         = PlasmaRight: apply Q or Q**H from the right.
         Currently only PlasmaLeft is supported.

trans    PLASMA_enum (IN)
         Intended usage:
         = PlasmaNoTrans:   no transpose, apply Q;
         = PlasmaConjTrans: conjugate transpose, apply Q**H.
         Currently only PlasmaConjTrans is supported.

A        PLASMA_Complex32_t* (IN)
         Details of the QR factorization of the original matrix A as returned by PLASMA_cgeqrf.

T        PLASMA_Complex32_t* (IN)
         Auxiliary factorization data, computed by PLASMA_cgeqrf.

B        PLASMA_Complex32_t* (INOUT)
         On entry, the M-by-N matrix B.
         On exit, B is overwritten by Q*B or Q**H*B.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_cunmqr_Tile(PLASMA_enum side, PLASMA_enum trans, PLASMA_desc *A, PLASMA_desc *T, PLASMA_desc *B)
Example: Fortran Bindings
PLASMA_CUNMQR_TILE(INTEGER side, INTEGER trans, INTEGER*4 A, INTEGER*4 T, INTEGER*4 B, INTEGER INFO)
Online Browsing

Dive into PLASMA_cunmqr_Tile

PLASMA_dgelqf

Purpose

PLASMA_dgelqf - Computes the tile LQ factorization of a complex M-by-N matrix A: A = L * Q.

Example: Arguments
M        int (IN)
         The number of rows of the matrix A. M >= 0.

N        int (IN)
         The number of columns of the matrix A. N >= 0.

A        double* (INOUT)
         On entry, the M-by-N matrix A.
         On exit, the elements on and below the diagonal of the array contain the m-by-min(M,N)
         lower trapezoidal matrix L (L is lower triangular if M <= N); the elements above the
         diagonal represent the unitary matrix Q as a product of elementary reflectors, stored
         by tiles.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,M).

T        double* (OUT)
         On exit, auxiliary factorization data, required by PLASMA_dgelqs to solve the system
         of equations.

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_dgelqf(int M, int N, double *A, int LDA, double *T)
Example: Fortran Bindings
PLASMA_DGELQF(INTEGER M, INTEGER N, DOUBLE PRECISION A, INTEGER LDA, INTEGER T, INTEGER INFO)
Online Browsing

Dive into PLASMA_dgelqf

PLASMA_dgelqf_Tile

Purpose

PLASMA_dgelqf_Tile - Computes the tile LQ factorization of a complex M-by-N matrix A: A = L * Q. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
A        double* (INOUT)
         On entry, the M-by-N matrix A.
         On exit, the elements on and below the diagonal of the array contain the m-by-min(M,N)
         lower trapezoidal matrix L (L is lower triangular if M <= N); the elements above the
         diagonal represent the unitary matrix Q as a product of elementary reflectors, stored
         by tiles.

T        double* (OUT)
         On exit, auxiliary factorization data, required by PLASMA_dgelqs to solve the system
         of equations.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_dgelqf_Tile(PLASMA_desc *A, PLASMA_desc *T)
Example: Fortran Bindings
PLASMA_DGELQF_TILE(INTEGER*4 A, INTEGER*4 T,INTEGER INFO)
Online Browsing

Dive into PLASMA_dgelqf_Tile

PLASMA_dgelqs

Purpose

PLASMA_dgelqs - Compute a minimum-norm solution min || A*X - B || using the LQ factorization A = L*Q computed by PLASMA_dgelqf.

Example: Arguments
M        int (IN)
         The number of rows of the matrix A. M >= 0.

N        int (IN)
         The number of columns of the matrix A. N >= M >= 0.

NRHS     int (IN)
         The number of columns of B. NRHS >= 0.

A        double* (IN)
         Details of the LQ factorization of the original matrix A as returned by PLASMA_dgelqf.

LDA      int (IN)
         The leading dimension of the array A. LDA >= M.

T        double* (IN)
         Auxiliary factorization data, computed by PLASMA_dgelqf.

B        double* (INOUT)
         On entry, the M-by-NRHS right hand side matrix B.
         On exit, the N-by-NRHS solution matrix X.

LDB      int (IN)
         The leading dimension of the array B. LDB >= N.

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_dgelqs(int M, int N, int NRHS, double *A, int LDA, double *T, double *B, int LDB)
Example: Fortran Bindings
PLASMA_DGELQS(INTEGER M, INTEGER N, INTEGER NRHS, DOUBLE PRECISION A, INTEGER LDA, INTEGER T, DOUBLE PRECISION B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_dgelqs

PLASMA_dgelqs_Tile

Purpose

PLASMA_dgelqs_Tile - Compute a minimum-norm solution min || A*X - B || using the LQ factorization A = L*Q computed by PLASMA_dgelqf_Tile. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
A        double* (IN)
         Details of the LQ factorization of the original matrix A as returned by PLASMA_dgelqf.

T        double* (IN)
         Auxiliary factorization data, computed by PLASMA_dgelqf.

B        double* (INOUT)
         On entry, the M-by-NRHS right hand side matrix B.
         On exit, the N-by-NRHS solution matrix X.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_dgelqs_Tile(PLASMA_desc *A, PLASMA_desc *B, PLASMA_desc *T)
Example: Fortran Bindings
PLASMA_DGELQS_TILE(INTEGER*4 A, INTEGER*4 B, INTEGER*4 T, INTEGER INFO)
Online Browsing

Dive into PLASMA_dgelqs_Tile

PLASMA_dgels

Purpose

PLASMA_dgels - solves overdetermined or underdetermined linear systems involving an M-by-N matrix A using the QR or the LQ factorization of A. It is assumed that A has full rank. The following options are provided:

  1. trans = PlasmaNoTrans and M >= N: find the least squares solution of an overdetermined system, i.e., solve the least squares problem: minimize || B - A*X ||.

  2. trans = PlasmaNoTrans and M < N: find the minimum norm solution of an underdetermined system A * X = B.

Several right hand side vectors B and solution vectors X can be handled in a single call; they are stored as the columns of the M-by-NRHS right hand side matrix B and the N-by-NRHS solution matrix X.

Example: Arguments
trans    PLASMA_enum (IN)
         Intended usage:
         = PlasmaNoTrans:   the linear system involves A;
         = PlasmaTrans: the linear system involves A**T.
         Currently only PlasmaNoTrans is supported.

M        int (IN)
         The number of rows of the matrix A. M >= 0.

N        int (IN)
         The number of columns of the matrix A. N >= 0.

NRHS     int (IN)
         The number of right hand sides, i.e., the number of columns of the matrices B and X.
         NRHS >= 0.

A        double* (INOUT)
         On entry, the M-by-N matrix A.
         On exit,
         if M >= N, A is overwritten by details of its QR factorization as returned by
                    PLASMA_dgeqrf;
         if M < N, A is overwritten by details of its LQ factorization as returned by
                     PLASMA_dgelqf.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,M).

T        double* (OUT)
         On exit, auxiliary factorization data.

B        double* (INOUT)
         On entry, the M-by-NRHS matrix B of right hand side vectors, stored columnwise;
         On exit, if return value = 0, B is overwritten by the solution vectors, stored
         columnwise:
         if M >= N, rows 1 to N of B contain the least squares solution vectors; the residual
         sum of squares for the solution in each column is given by the sum of squares of the
         modulus of elements N+1 to M in that column;
         if M < N, rows 1 to N of B contain the minimum norm solution vectors;

LDB      int (IN)
         The leading dimension of the array B. LDB >= MAX(1,M,N).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_dgels(PLASMA_enum trans, int M, int N, int NRHS, double *A, int LDA, double *T, double *B, int LDB)
Example: Fortran Bindings
PLASMA_DGELS(INTEGER trans, INTEGER M, INTEGER N, INTEGER NRHS, DOUBLE PRECISION A, INTEGER LDA, INTEGER T, DOUBLE PRECISION B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_dgels

PLASMA_dgels_Tile

Purpose

PLASMA_dgels_Tile - solves overdetermined or underdetermined linear systems involving an M-by-N matrix A using the QR or the LQ factorization of A. It is assumed that A has full rank. The following options are provided:

  1. trans = PlasmaNoTrans and M >= N: find the least squares solution of an overdetermined system, i.e., solve the least squares problem: minimize || B - A*X ||.

  2. trans = PlasmaNoTrans and M < N: find the minimum norm solution of an underdetermined system A * X = B.

Several right hand side vectors B and solution vectors X can be handled in a single call; they are stored as the columns of the M-by-NRHS right hand side matrix B and the N-by-NRHS solution matrix X. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
trans    PLASMA_enum (IN)
         Intended usage:
         = PlasmaNoTrans:   the linear system involves A;
         = PlasmaTrans: the linear system involves A**T.
         Currently only PlasmaNoTrans is supported.

A        double* (INOUT)
         On entry, the M-by-N matrix A.
         On exit,
         if M >= N, A is overwritten by details of its QR factorization as returned by
                    PLASMA_dgeqrf;
         if M < N, A is overwritten by details of its LQ factorization as returned by
                     PLASMA_dgelqf.

T        double* (OUT)
         On exit, auxiliary factorization data.

B        double* (INOUT)
         On entry, the M-by-NRHS matrix B of right hand side vectors, stored columnwise;
         On exit, if return value = 0, B is overwritten by the solution vectors, stored
         columnwise:
         if M >= N, rows 1 to N of B contain the least squares solution vectors; the residual
         sum of squares for the solution in each column is given by the sum of squares of the
         modulus of elements N+1 to M in that column;
         if M < N, rows 1 to N of B contain the minimum norm solution vectors;

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_dgels_Tile(PLASMA_enum trans, PLASMA_desc *A, PLASMA_desc *B, PLASMA_desc *T)
Example: Fortran Bindings
PLASMA_DGELS_TILE(INTEGER trans, INTEGER*4 A, INTEGER*4 B, INTEGER*4 T, INTEGER INFO)
Online Browsing

Dive into PLASMA_dgels_Tile

PLASMA_dgeqrf

Purpose

PLASMA_dgeqrf - Computes the tile QR factorization of a complex M-by-N matrix A: A = Q * R.

Example: Arguments
M        int (IN)
         The number of rows of the matrix A. M >= 0.

N        int (IN)
         The number of columns of the matrix A.  N >= 0.

A        double* (INOUT)
         On entry, the M-by-N matrix A.
         On exit, the elements on and above the diagonal of the array contain the min(M,N)-by-N
         upper trapezoidal matrix R (R is upper triangular if M >= N); the elements below the
         diagonal represent the unitary matrix Q as a product of elementary reflectors stored
         by tiles.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,M).

T        double* (OUT)
         On exit, auxiliary factorization data, required by PLASMA_dgeqrs to solve the system
         of equations.

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_dgeqrf(int M, int N, double *A, int LDA, double *T)
Example: Fortran Bindings
PLASMA_DGEQRF(INTEGER M, INTEGER N, DOUBLE PRECISION A, INTEGER LDA, INTEGER T, INTEGER INFO)
Online Browsing

Dive into PLASMA_dgeqrf

PLASMA_dgeqrf_Tile

Purpose

PLASMA_dgeqrf_Tile - Computes the tile QR factorization of a complex M-by-N matrix A: A = Q * R. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
A        double* (INOUT)
         On entry, the M-by-N matrix A.
         On exit, the elements on and above the diagonal of the array contain the min(M,N)-by-N
         upper trapezoidal matrix R (R is upper triangular if M >= N); the elements below the
         diagonal represent the unitary matrix Q as a product of elementary reflectors stored
         by tiles.

T        double* (OUT)
         On exit, auxiliary factorization data, required by PLASMA_dgeqrs to solve the system
         of equations.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_dgeqrf_Tile(PLASMA_desc *A, PLASMA_desc *T)
Example: Fortran Bindings
PLASMA_DGEQRF_TILE(INTEGER*4 A, INTEGER*4 T, INTEGER INFO)
Online Browsing

Dive into PLASMA_dgeqrf_Tile

PLASMA_dgeqrs

Purpose

PLASMA_dgeqrs - Compute a minimum-norm solution min || A*X - B || using the RQ factorization A = R*Q computed by PLASMA_dgeqrf.

Example: Arguments
M        int (IN)
         The number of rows of the matrix A. M >= 0.

N        int (IN)
         The number of columns of the matrix A. N >= M >= 0.

NRHS     int (IN)
         The number of columns of B. NRHS >= 0.

A        double* (INOUT)
         Details of the QR factorization of the original matrix A as returned by PLASMA_dgeqrf.

LDA      int (IN)
         The leading dimension of the array A. LDA >= M.

T        double* (IN)
         Auxiliary factorization data, computed by PLASMA_dgeqrf.

B        double* (INOUT)
         On entry, the m-by-nrhs right hand side matrix B.
         On exit, the n-by-nrhs solution matrix X.

LDB      int (IN)
         The leading dimension of the array B. LDB >= max(1,N).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_dgeqrs(int M, int N, int NRHS, double *A, int LDA, double *T, double *B, int LDB)
Example: Fortran Bindings
PLASMA_DGEQRS(INTEGER M, INTEGER N, INTEGER NRHS, DOUBLE PRECISION A, INTEGER LDA, INTEGER T, DOUBLE PRECISION B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_dgeqrs

PLASMA_dgeqrs_Tile

Purpose

PLASMA_dgeqrs_Tile - Compute a minimum-norm solution min || A*X - B || using the RQ factorization A = R*Q computed by PLASMA_dgeqrf_Tile. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
A        double* (INOUT)
         Details of the QR factorization of the original matrix A as returned by PLASMA_dgeqrf.

T        double* (IN)
         Auxiliary factorization data, computed by PLASMA_dgeqrf.

B        double* (INOUT)
         On entry, the m-by-nrhs right hand side matrix B.
         On exit, the n-by-nrhs solution matrix X.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_dgeqrs_Tile(PLASMA_desc *A, PLASMA_desc *B, PLASMA_desc *T)
Example: Fortran Bindings
PLASMA_DGEQRS_TILE(INTEGER*4 A, INTEGER*4 B, INTEGER*4 T, INTEGER INFO)
Online Browsing

Dive into PLASMA_dgeqrs_Tile

PLASMA_dgesv

Purpose

PLASMA_dgesv - Computes the solution to a system of linear equations A X = B, where A is an N-by-N matrix and X and B are N-by-NRHS matrices. The tile LU decomposition with partial tile pivoting and row interchanges is used to factor A. The factored form of A is then used to solve the system of equations A X = B.

Example: Arguments
N        int (IN)
         The number of linear equations, i.e., the order of the matrix A. N >= 0.

NRHS     int (IN)
         The number of right hand sides, i.e., the number of columns of the matrix B.
         NRHS >= 0.

A        double* (INOUT)
         On entry, the N-by-N coefficient matrix A.
         On exit, the tile L and U factors from the factorization (not equivalent to LAPACK).

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,N).

L        double* (OUT)
         On exit, auxiliary factorization data, related to the tile L factor,
         necessary to solve the system of equations.

IPIV     int* (OUT)
         On exit, the pivot indices that define the permutations (not equivalent to LAPACK).

B        double* (INOUT)
         On entry, the N-by-NRHS matrix of right hand side matrix B.
         On exit, if return value = 0, the N-by-NRHS solution matrix X.

LDB      int (IN)
         The leading dimension of the array B. LDB >= max(1,N).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
          > 0: if i, U(i,i) is exactly zero. The factorization has been completed,
               but the factor U is exactly singular, so the solution could not be computed.
Example: C Bindings
int PLASMA_dgesv(int N, int NRHS, double *A, int LDA, double *L, int *IPIV, double *B, int LDB)
Example: Fortran Bindings
PLASMA_DGESV(INTEGER N, INTEGER NRHS, DOUBLE PRECISION A, INTEGER LDA, INTEGER LH, INTEGER IPIVH, DOUBLE PRECISION B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_dgesv

PLASMA_dgesv_Tile

Purpose

PLASMA_dgesv_Tile - Computes the solution to a system of linear equations A X = B, where A is an N-by-N matrix and X and B are N-by-NRHS matrices. The tile LU decomposition with partial tile pivoting and row interchanges is used to factor A. The factored form of A is then used to solve the system of equations A X = B. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
A        double* (INOUT)
         On entry, the N-by-N coefficient matrix A.
         On exit, the tile L and U factors from the factorization (not equivalent to LAPACK).

L        double* (OUT)
         On exit, auxiliary factorization data, related to the tile L factor,
         necessary to solve the system of equations.

IPIV     int* (OUT)
         On exit, the pivot indices that define the permutations (not equivalent to LAPACK).

B        double* (INOUT)
         On entry, the N-by-NRHS matrix of right hand side matrix B.
         On exit, if return value = 0, the N-by-NRHS solution matrix X.

Example: Return Value:
          = 0: successful exit
          > 0: if i, U(i,i) is exactly zero. The factorization has been completed,
               but the factor U is exactly singular, so the solution could not be computed.
Example: C Bindings
int PLASMA_dgesv_Tile(PLASMA_desc *A, PLASMA_desc *L, int *IPIV, PLASMA_desc *B)
Example: Fortran Bindings
PLASMA_DGESV_TILE(INTEGER*4 A, INTEGER*4 L, INTEGER IPIVH, INTEGER*4 B, INTEGER INFO)
Online Browsing

Dive into PLASMA_dgesv_Tile

PLASMA_dgetrf

Purpose

PLASMA_dgetrf - Computes an LU factorization of a general M-by-N matrix A using the tile LU algorithm with partial tile pivoting with row interchanges.

Example: Arguments
M        int (IN)
         The number of rows of the matrix A. M >= 0.

N        int (IN)
         The number of columns of the matrix A. N >= 0.

A        double* (INOUT)
         On entry, the M-by-N matrix to be factored.
         On exit, the tile factors L and U from the factorization.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,M).

L        double* (OUT)
         On exit, auxiliary factorization data, related to the tile L factor,
         required by PLASMA_dgetrs to solve the system of equations.

IPIV     int* (OUT)
         The pivot indices that define the permutations (not equivalent to LAPACK).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
          > 0: if i, U(i,i) is exactly zero. The factorization has been completed,
               but the factor U is exactly singular, and division by zero will occur
               if it is used to solve a system of equations.
Example: C Bindings
int PLASMA_dgetrf(int M, int N, double *A, int LDA, double *L, int *IPIV)
Example: Fortran Bindings
PLASMA_DGETRF(INTEGER M, INTEGER N, DOUBLE PRECISION A, INTEGER LDA, INTEGER LH, INTEGER IPIVH, INTEGER INFO)
Online Browsing

Dive into PLASMA_dgetrf

PLASMA_dgetrf_Tile

Purpose

PLASMA_dgetrf_Tile - Computes an LU factorization of a general M-by-N matrix A using the tile LU algorithm with partial tile pivoting with row interchanges. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
A        double* (INOUT)
         On entry, the M-by-N matrix to be factored.
         On exit, the tile factors L and U from the factorization.

L        double* (OUT)
         On exit, auxiliary factorization data, related to the tile L factor,
         required by PLASMA_dgetrs to solve the system of equations.

IPIV     int* (OUT)
         The pivot indices that define the permutations (not equivalent to LAPACK).

Example: Return Value:
          = 0: successful exit
          > 0: if i, U(i,i) is exactly zero. The factorization has been completed,
               but the factor U is exactly singular, and division by zero will occur
               if it is used to solve a system of equations.
Example: C Bindings
int PLASMA_dgetrf_Tile(PLASMA_desc *A, PLASMA_desc *L, int *IPIV)
Example: Fortran Bindings
PLASMA_DGETRF_TILE(INTEGER*4 A, INTEGER*4 L, INTEGER IPIVH, INTEGER INFO)
Online Browsing

Dive into PLASMA_dgetrf_Tile

PLASMA_dgetrs

Purpose

PLASMA_dgetrs - Solves a system of linear equations A * X = B, with a general N-by-N matrix A using the tile LU factorization computed by PLASMA_dgetrf.

Example: Arguments
trans    PLASMA_enum (IN)
         Intended to specify the the form of the system of equations:
         = PlasmaNoTrans:   A * X = B     (No transpose)
         = PlasmaTrans:     A**T * X = B  (Transpose)
         = PlasmaTrans: A**T * X = B  (Conjugate transpose)
         Currently only PlasmaNoTrans is supported.

N        int (IN)
         The order of the matrix A.  N >= 0.

NRHS     int (IN)
         The number of right hand sides, i.e., the number of columns of the matrix B.
         NRHS >= 0.

A        double* (IN)
         The tile factors L and U from the factorization, computed by PLASMA_dgetrf.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,N).

L        double* (IN)
         Auxiliary factorization data, related to the tile L factor, computed by PLASMA_dgetrf.

IPIV     int* (IN)
         The pivot indices from PLASMA_dgetrf (not equivalent to LAPACK).

B        double* (INOUT)
         On entry, the N-by-NRHS matrix of right hand side matrix B.
         On exit, the solution matrix X.

LDB      int (IN)
         The leading dimension of the array B. LDB >= max(1,N).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_dgetrs(PLASMA_enum uplo, int N, int NRHS, double *A, int LDA, double *L, int *IPIV, double *B, int LDB)
Example: Fortran Bindings
PLASMA_DGETRS(INTEGER uplo, INTEGER N, INTEGER NRHS, DOUBLE PRECISION A, INTEGER LDA, INTEGER LH, INTEGER IPIVH, DOUBLE PRECISION B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_dgetrs

PLASMA_dgetrs_Tile

Purpose

PLASMA_dgetrs_Tile - Solves a system of linear equations A * X = B, with a general N-by-N matrix A using the tile LU factorization computed by PLASMA_dgetrf. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
A        double* (IN)
         The tile factors L and U from the factorization, computed by PLASMA_dgetrf.

L        double* (IN)
         Auxiliary factorization data, related to the tile L factor, computed by PLASMA_dgetrf.

IPIV     int* (IN)
         The pivot indices from PLASMA_dgetrf (not equivalent to LAPACK).

B        double* (INOUT)
         On entry, the N-by-NRHS matrix of right hand side matrix B.
         On exit, the solution matrix X.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_dgetrs_Tile(PLASMA_desc *A, PLASMA_desc *L, int *IPIV, PLASMA_desc *B)
Example: Fortran Bindings
PLASMA_DGETRS_TILE(INTEGER*4 A, INTEGER*4 L, INTEGER IPIVH, INTEGER*4 B, INTEGER INFO)
Online Browsing

Dive into PLASMA_dgetrs_Tile

PLASMA_dposv

Purpose

PLASMA_dposv - Computes the solution to a system of linear equations A * X = B, where A is an N-by-N symmetric positive definite (or Hermitian positive definite in the complex case) matrix and X and B are N-by-NRHS matrices. The Cholesky decomposition is used to factor A as

A = U**T * U, if uplo = PlasmaUpper, or
A = L * L**T, if uplo =  PlasmaLower,

where U is an upper triangular matrix and L is a lower triangular matrix. The factored form of A is then used to solve the system of equations A * X = B.

Example: Arguments
uplo     PLASMA_enum (IN)
         Specifies whether the matrix A is upper triangular or lower triangular:
         = PlasmaUpper: Upper triangle of A is stored;
         = PlasmaLower: Lower triangle of A is stored.

N        int (IN)
         The number of linear equations, i.e., the order of the matrix A. N >= 0.

NRHS     int (IN)
         The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.

A        double* (INOUT)
         On entry, the symmetric positive definite (or Hermitian) matrix A.
         If uplo = PlasmaUpper, the leading N-by-N upper triangular part of A
         contains the upper triangular part of the matrix A, and the strictly lower triangular
         part of A is not referenced.
         If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower
         triangular part of the matrix A, and the strictly upper triangular part of A is not
         referenced.
         On exit, if return value = 0, the factor U or L from the Cholesky factorization
         A = U**T*U or A = L*L**T.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,N).

B        double* (INOUT)
         On entry, the N-by-NRHS right hand side matrix B.
         On exit, if return value = 0, the N-by-NRHS solution matrix X.

LDB      int (IN)
         The leading dimension of the array B. LDB >= max(1,N).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
          > 0: if i, the leading minor of order i of A is not positive definite, so the
               factorization could not be completed, and the solution has not been computed.
Example: C Bindings
int PLASMA_dposv(PLASMA_enum uplo, int N, int NRHS, double *A, int LDA, double *B, int LDB)
Example: Fortran Bindings
PLASMA_DPOSV(INTEGER uplo, INTEGER N, INTEGER NRHS, DOUBLE PRECISION A, INTEGER LDA, DOUBLE PRECISION B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_dposv

PLASMA_dposv_Tile

Purpose

PLASMA_dposv_Tile - Computes the solution to a system of linear equations A * X = B, where A is an N-by-N symmetric positive definite (or Hermitian positive definite in the complex case) matrix and X and B are N-by-NRHS matrices. The Cholesky decomposition is used to factor A as

A = U**T * U, if uplo = PlasmaUpper, or
A = L * L**T, if uplo =  PlasmaLower,

where U is an upper triangular matrix and L is a lower triangular matrix. The factored form of A is then used to solve the system of equations A * X = B. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
uplo     PLASMA_enum (IN)
         Specifies whether the matrix A is upper triangular or lower triangular:
         = PlasmaUpper: Upper triangle of A is stored;
         = PlasmaLower: Lower triangle of A is stored.

A        double* (INOUT)
         On entry, the symmetric positive definite (or Hermitian) matrix A.
         If uplo = PlasmaUpper, the leading N-by-N upper triangular part of A
         contains the upper triangular part of the matrix A, and the strictly lower triangular
         part of A is not referenced.
         If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower
         triangular part of the matrix A, and the strictly upper triangular part of A is not
         referenced.
         On exit, if return value = 0, the factor U or L from the Cholesky factorization
         A = U**T*U or A = L*L**T.

B        double* (INOUT)
         On entry, the N-by-NRHS right hand side matrix B.
         On exit, if return value = 0, the N-by-NRHS solution matrix X.

Example: Return Value:
          = 0: successful exit
          > 0: if i, the leading minor of order i of A is not positive definite, so the
               factorization could not be completed, and the solution has not been computed.
Example: C Bindings
int PLASMA_dposv_Tile(PLASMA_enum uplo, PLASMA_desc *A, PLASMA_desc *B)
Example: Fortran Bindings
PLASMA_DPOSV_TILE(INTEGER uplo, INTEGER*4 A, INTEGER*4 B, INTEGER INFO)
Online Browsing

Dive into PLASMA_dposv_Tile

PLASMA_dpotrf

Purpose

PLASMA_dpotrf - Computes the Cholesky factorization of a symmetric positive definite (or Hermitian positive definite in the complex case) matrix A. The factorization has the form

A = U**T * U, if uplo = PlasmaUpper, or
A = L * L**T, if uplo =  PlasmaLower,

where U is an upper triangular matrix and L is a lower triangular matrix.

Example: Arguments
uplo     PLASMA_enum (IN)
         = PlasmaUpper: Upper triangle of A is stored;
         = PlasmaLower: Lower triangle of A is stored.

N        int (IN)
         The order of the matrix A. N >= 0.

A        double* (INOUT)
         On entry, the symmetric positive definite (or Hermitian) matrix A.
         If uplo = PlasmaUpper, the leading N-by-N upper triangular part of A
         contains the upper triangular part of the matrix A, and the strictly lower triangular
         part of A is not referenced.
         If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower
         triangular part of the matrix A, and the strictly upper triangular part of A is not
         referenced.
         On exit, if return value = 0, the factor U or L from the Cholesky factorization
         A = U**T*U or A = L*L**T.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,N).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
          > 0: if i, the leading minor of order i of A is not positive definite, so the
               factorization could not be completed, and the solution has not been computed.
Example: C Bindings
int PLASMA_dpotrf(PLASMA_enum uplo, int N, double *A, int LDA)
Example: Fortran Bindings
PLASMA_DPOTRF(INTEGER uplo, INTEGER N, DOUBLE PRECISION A, INTEGER LDA, INTEGER INFO)
Online Browsing

Dive into PLASMA_dpotrf

PLASMA_dpotrf_Tile

Purpose

PLASMA_dpotrf_Tile - Computes the Cholesky factorization of a symmetric positive definite (or Hermitian positive definite in the complex case) matrix A. The factorization has the form

A = U**T * U, if uplo = PlasmaUpper, or
A = L * L**T, if uplo =  PlasmaLower,

where U is an upper triangular matrix and L is a lower triangular matrix. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
uplo     PLASMA_enum (IN)
         = PlasmaUpper: Upper triangle of A is stored;
         = PlasmaLower: Lower triangle of A is stored.

A        double* (INOUT)
         On entry, the symmetric positive definite (or Hermitian) matrix A.
         If uplo = PlasmaUpper, the leading N-by-N upper triangular part of A
         contains the upper triangular part of the matrix A, and the strictly lower triangular
         part of A is not referenced.
         If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower
         triangular part of the matrix A, and the strictly upper triangular part of A is not
         referenced.
         On exit, if return value = 0, the factor U or L from the Cholesky factorization
         A = U**T*U or A = L*L**T.

Example: Return Value:
          = 0: successful exit
          > 0: if i, the leading minor of order i of A is not positive definite, so the
               factorization could not be completed, and the solution has not been computed.
Example: C Bindings
int PLASMA_dpotrf_Tile(PLASMA_enum uplo, PLASMA_desc *A)
Example: Fortran Bindings
PLASMA_DPOTRF_TILE(INTEGER uplo, INTEGER*4 A, INTEGER INFO)
Online Browsing

Dive into PLASMA_dpotrf_Tile

PLASMA_dpotrs

Purpose

PLASMA_dpotrs - Solves a system of linear equations A * X = B with a symmetric positive definite (or Hermitian positive definite in the complex case) matrix A using the Cholesky factorization A = UT*U or A = L*LT computed by PLASMA_dpotrf.

Example: Arguments
uplo     PLASMA_enum (IN)
         = PlasmaUpper: Upper triangle of A is stored;
         = PlasmaLower: Lower triangle of A is stored.

N        int (IN)
         The order of the matrix A. N >= 0.

NRHS     int (IN)
         The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.

A        double* (IN)
         The triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T,
         computed by PLASMA_dpotrf.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,N).

B        double* (INOUT)
         On entry, the N-by-NRHS right hand side matrix B.
         On exit, if return value = 0, the N-by-NRHS solution matrix X.

LDB      int (IN)
         The leading dimension of the array B. LDB >= max(1,N).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_dpotrs(PLASMA_enum uplo, int N, int NRHS, double *A, int LDA, double *B, int LDB)
Example: Fortran Bindings
PLASMA_DPOTRS(INTEGER uplo, INTEGER N, INTEGER NRHS, DOUBLE PRECISION A, INTEGER LDA, DOUBLE PRECISION B, INTEGER  LDB, INTEGER  INFO)
Online Browsing

Dive into PLASMA_dpotrs

PLASMA_dpotrs_Tile

Purpose

PLASMA_dpotrs_Tile - Solves a system of linear equations A * X = B with a symmetric positive definite (or Hermitian positive definite in the complex case) matrix A using the Cholesky factorization A = UT*U or A = L*LT computed by PLASMA_dpotrf. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
uplo     PLASMA_enum (IN)
         = PlasmaUpper: Upper triangle of A is stored;
         = PlasmaLower: Lower triangle of A is stored.

A        double* (IN)
         The triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T,
         computed by PLASMA_dpotrf.

B        double* (INOUT)
         On entry, the N-by-NRHS right hand side matrix B.
         On exit, if return value = 0, the N-by-NRHS solution matrix X.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_dpotrs_Tile(PLASMA_enum uplo, PLASMA_desc *A, PLASMA_desc *B)
Example: Fortran Bindings
PLASMA_DPOTRS_TILE(INTEGER uplo, INTEGER*4 A, INTEGER*4 B, INTEGER INFO)
Online Browsing

Dive into PLASMA_dpotrs_Tile

PLASMA_dsgesv

Purpose

PLASMA_dsgesv - Computes the solution to a system of linear equations A X = B, where A is an N-by-N matrix and X and B are N-by-NRHS matrices. The tile LU decomposition with partial tile pivoting and row interchanges is used to factor A. The factored form of A is then used to solve the system of equations A X = B.

IMPORTANT NOTICE: in its current state, this routine only intends to be a proof-of-concept. There are still some costly serial parts and one may NOT expect to achieve high performance.

PLASMA_dsgesv first attempts to factorize the matrix in COMPLEX and use this factorization within an iterative refinement procedure to produce a solution with COMPLEX*16 normwise backward error quality (see below). If the approach fails the method switches to a COMPLEX*16 factorization and solve.

The iterative refinement is not going to be a winning strategy if the ratio COMPLEX performance over COMPLEX*16 performance is too small. A reasonable strategy should take the number of right-hand sides and the size of the matrix into account. This might be done with a call to ILAENV in the future. Up to now, we always try iterative refinement.

The iterative refinement process is stopped if ITER > ITERMAX or for all the RHS we have: RNRM < SQRT(N)*XNRM*ANRM*EPS*BWDMAX where

The values ITERMAX and BWDMAX are fixed to 30 and 1.0D+00 respectively.

Example: Arguments
N        int (IN)
         The number of linear equations, i.e., the order of the matrix A. N >= 0.

NRHS     int (IN)
         The number of right hand sides, i.e., the number of columns of the matrix B.
         NRHS >= 0.

A        double* (INOUT)
         On entry, the N-by-N coefficient matrix A.
         On exit, the tile L and U factors from the factorization (not equivalent to LAPACK).

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,N).

L        double* (OUT)
         On exit, auxiliary factorization data, related to the tile L factor,
         necessary to solve the system of equations.

IPIV     int* (OUT)
         On exit, the pivot indices that define the permutations (not equivalent to LAPACK).

B        double* (IN)
         The N-by-NRHS matrix of right hand side matrix B.

LDB      int (IN)
         The leading dimension of the array B. LDB >= max(1,N).

X        double* (OUT)
         If return value = 0, the N-by-NRHS solution matrix X.

LDX      int (IN)
         The leading dimension of the array B. LDX >= max(1,N).

ITER     int* (OUT)is the number of the current iteration in the iterative refinement process


Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
          > 0: if i, U(i,i) is exactly zero. The factorization has been completed,
               but the factor U is exactly singular, so the solution could not be computed.
Example: C Bindings
int PLASMA_dsgesv(int N, int NRHS, double *A, int LDA, double *L, int *IPIV, double *B, int LDB, double *X, int LDX, int *ITER)
Example: Fortran Bindings
PLASMA_DSGESV(INTEGER N, INTEGER NRHS, DOUBLE PRECISION A, INTEGER LDA, INTEGER LH, INTEGER IPIVH, DOUBLE PRECISION B, INTEGER LDB, DOUBLE PRECISION X, INTEGER LDX, INTEGER ITER, INTEGER INFO)
Online Browsing

Dive into PLASMA_dsgesv

PLASMA_dsgesv_Tile

Purpose

PLASMA_dsgesv - Computes the solution to a system of linear equations A X = B, where A is an N-by-N matrix and X and B are N-by-NRHS matrices. The tile LU decomposition with partial tile pivoting and row interchanges is used to factor A. The factored form of A is then used to solve the system of equations A X = B. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

IMPORTANT NOTICE: in its current state, this routine only intends to be a proof-of-concept. There are still some costly serial parts and one may NOT expect to achieve high performance.

PLASMA_dsgesv first attempts to factorize the matrix in COMPLEX and use this factorization within an iterative refinement procedure to produce a solution with COMPLEX*16 normwise backward error quality (see below). If the approach fails the method switches to a COMPLEX*16 factorization and solve.

The iterative refinement is not going to be a winning strategy if the ratio COMPLEX performance over COMPLEX*16 performance is too small. A reasonable strategy should take the number of right-hand sides and the size of the matrix into account. This might be done with a call to ILAENV in the future. Up to now, we always try iterative refinement.

The iterative refinement process is stopped if ITER > ITERMAX or for all the RHS we have: RNRM < SQRT(N)*XNRM*ANRM*EPS*BWDMAX where

The values ITERMAX and BWDMAX are fixed to 30 and 1.0D+00 respectively.

Example: Arguments
N        int (IN)
         The number of linear equations, i.e., the order of the matrix A. N >= 0.

NRHS     int (IN)
         The number of right hand sides, i.e., the number of columns of the matrix B.
         NRHS >= 0.

A        double* (INOUT)
         On entry, the N-by-N coefficient matrix A.
         On exit, the tile L and U factors from the factorization (not equivalent to LAPACK).

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,N).

L        double* (OUT)
         On exit, auxiliary factorization data, related to the tile L factor,
         necessary to solve the system of equations.

IPIV     int* (OUT)
         On exit, the pivot indices that define the permutations (not equivalent to LAPACK).

B        double* (IN)
         The N-by-NRHS matrix of right hand side matrix B.

LDB      int (IN)
         The leading dimension of the array B. LDB >= max(1,N).

X        double* (OUT)
         If return value = 0, the N-by-NRHS solution matrix X.

LDX      int (IN)
         The leading dimension of the array B. LDX >= max(1,N).

ITER     int* (OUT)is the number of the current iteration in the iterative refinement process


Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
          > 0: if i, U(i,i) is exactly zero. The factorization has been completed,
               but the factor U is exactly singular, so the solution could not be computed.
Example: C Bindings
Example: Fortran Bindings
PLASMA_DSGESV_TILE(INTEGER*4 A, INTEGER4 L, INTEGER IPIVH, INTEGER*4 B, INTEGER*4 X, INTEGER ITER, INTEGER INFO)
Online Browsing

Dive into PLASMA_dsgesv_Tile

PLASMA_dtrsm

Purpose

PLASMA_dtrsm - Computes triangular solve A*X = B or X*A = B

Example: Arguments
side     PLASMA_enum (IN)
         Specifies whether A appears on the left or on the right of X:
         = PlasmaLeft:  A*X = B
         = PlasmaRight: X*A = B

uplo     PLASMA_enum (IN)
         Specifies whether the matrix A is upper triangular or lower triangular:
         = PlasmaUpper: Upper triangle of A is stored;
         = PlasmaLower: Lower triangle of A is stored.

transA   PLASMA_enum (IN)
         Specifies whether the matrix A is transposed, not transposed or conjugate transposed:
         = PlasmaNoTrans:   A is transposed;
         = PlasmaTrans:     A is not transposed;
         = PlasmaTrans: A is conjugate transposed.

diag     PLASMA_enum (IN)
         Specifies whether or not A is unit triangular:
         = PlasmaNonUnit: A is non unit;
         = PlasmaUnit:    A us unit.

N        int (IN)
         The order of the matrix A. N >= 0.

NRHS     int (IN)
         The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.

A        double* (IN)
         The triangular matrix A. If uplo = PlasmaUpper, the leading N-by-N 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 N-by-N
         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.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,N).

B        double* (INOUT)
         On entry, the N-by-NRHS right hand side matrix B.
         On exit, if return value = 0, the N-by-NRHS solution matrix X.

LDB      double* (IN)
         The leading dimension of the array B. LDB >= max(1,N).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_dtrsm(PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag, int N, int NRHS, double *A, int LDA, double *B, int LDB)
Example: Fortran Bindings
PLASMA_DTRSM(INTEGER side, INTEGER uplo, INTEGER transA, INTEGER diag, INTEGER N, INTEGER NRHS, DOUBLE PRECISION A, INTEGER LDA, DOUBLE PRECISION B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_dtrsm

PLASMA_dtrsmpl

Purpose

PLASMA_dtrsmpl - Performs the forward substitution step of solving a system of linear equations after the tile LU factorization of the matrix.

Example: Arguments
N        int (IN)
         The order of the matrix A. N >= 0.

NRHS     int (IN)
         The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.

A        double* (IN)
         The tile factor L from the factorization, computed by PLASMA_dgetrf.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,N).

L        double* (IN)
         Auxiliary factorization data, related to the tile L factor, computed by PLASMA_dgetrf.

IPIV     int* (IN)
         The pivot indices from PLASMA_dgetrf (not equivalent to LAPACK).

B        double* (INOUT)
         On entry, the N-by-NRHS right hand side matrix B.
         On exit, if return value = 0, the N-by-NRHS solution matrix X.

LDB      double* (IN)
         The leading dimension of the array B. LDB >= max(1,N).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_dtrsmpl(int N, int NRHS, double *A, int LDA, double *L, int *IPIV, double *B, int LDB)
Example: Fortran Bindings
PLASMA_DTRSMPL(INTEGER N, INTEGER NRHS, DOUBLE PRECISION A, INTEGER LDA, INTEGER LH, INTEGER IPIVH, DOUBLE PRECISION B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_dtrsmpl

PLASMA_dtrsmpl_Tile

Purpose

PLASMA_dtrsmpl_Tile - Performs the forward substitution step of solving a system of linear equations after the tile LU factorization of the matrix. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
A        double* (IN)
         The tile factor L from the factorization, computed by PLASMA_dgetrf.

L        double* (IN)
         Auxiliary factorization data, related to the tile L factor, computed by PLASMA_dgetrf.

IPIV     int* (IN)
         The pivot indices from PLASMA_dgetrf (not equivalent to LAPACK).

B        double* (INOUT)
         On entry, the N-by-NRHS right hand side matrix B.
         On exit, if return value = 0, the N-by-NRHS solution matrix X.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_dtrsmpl_Tile(PLASMA_desc *A, PLASMA_desc *L, int *IPIV, PLASMA_desc *B)
Example: Fortran Bindings
PLASMA_DTRSMPL_TILE(INTEGER*4 A, INTEGER*4 L, INTEGER IPIVH, INTEGER*4 B, INTEGER INFO)
Online Browsing

Dive into PLASMA_dtrsmpl_Tile

PLASMA_dtrsm_Tile

Purpose

PLASMA_dtrsm_Tile - Computes triangular solve A*X = B or X*A = B All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
side     PLASMA_enum (IN)
         Specifies whether A appears on the left or on the right of X:
         = PlasmaLeft:  A*X = B
         = PlasmaRight: X*A = B

uplo     PLASMA_enum (IN)
         Specifies whether the matrix A is upper triangular or lower triangular:
         = PlasmaUpper: Upper triangle of A is stored;
         = PlasmaLower: Lower triangle of A is stored.

transA   PLASMA_enum (IN)
         Specifies whether the matrix A is transposed, not transposed or conjugate transposed:
         = PlasmaNoTrans:   A is transposed;
         = PlasmaTrans:     A is not transposed;
         = PlasmaTrans: A is conjugate transposed.

diag     PLASMA_enum (IN)
         Specifies whether or not A is unit triangular:
         = PlasmaNonUnit: A is non unit;
         = PlasmaUnit:    A us unit.

A        double* (IN)
         The triangular matrix A. If uplo = PlasmaUpper, the leading N-by-N 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 N-by-N
         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.

B        double* (INOUT)
         On entry, the N-by-NRHS right hand side matrix B.
         On exit, if return value = 0, the N-by-NRHS solution matrix X.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_dtrsm_Tile(PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag, PLASMA_desc *A, PLASMA_desc *B)
Example: Fortran Bindings
PLASMA_DTRSM_TILE(INTEGER side, INTEGER uplo, INTEGER transA, INTEGER diag, INTEGER*4 A, INTEGER*4 B, INTEGER INFO)
Online Browsing

Dive into PLASMA_dtrsm_Tile

PLASMA_sgelqf

Purpose

PLASMA_sgelqf - Computes the tile LQ factorization of a complex M-by-N matrix A: A = L * Q.

Example: Arguments
M        int (IN)
         The number of rows of the matrix A. M >= 0.

N        int (IN)
         The number of columns of the matrix A. N >= 0.

A        float* (INOUT)
         On entry, the M-by-N matrix A.
         On exit, the elements on and below the diagonal of the array contain the m-by-min(M,N)
         lower trapezoidal matrix L (L is lower triangular if M <= N); the elements above the
         diagonal represent the unitary matrix Q as a product of elementary reflectors, stored
         by tiles.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,M).

T        float* (OUT)
         On exit, auxiliary factorization data, required by PLASMA_sgelqs to solve the system
         of equations.

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_sgelqf(int M, int N, float *A, int LDA, float *T)
Example: Fortran Bindings
PLASMA_SGELQF(INTEGER M, INTEGER N, REAL A, INTEGER LDA, INTEGER T, INTEGER INFO)
Online Browsing

Dive into PLASMA_sgelqf

PLASMA_sgelqf_Tile

Purpose

PLASMA_sgelqf_Tile - Computes the tile LQ factorization of a complex M-by-N matrix A: A = L * Q. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
A        float* (INOUT)
         On entry, the M-by-N matrix A.
         On exit, the elements on and below the diagonal of the array contain the m-by-min(M,N)
         lower trapezoidal matrix L (L is lower triangular if M <= N); the elements above the
         diagonal represent the unitary matrix Q as a product of elementary reflectors, stored
         by tiles.

T        float* (OUT)
         On exit, auxiliary factorization data, required by PLASMA_sgelqs to solve the system
         of equations.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_sgelqf_Tile(PLASMA_desc *A, PLASMA_desc *T)
Example: Fortran Bindings
PLASMA_SGELQF_TILE(INTEGER*4 A, INTEGER*4 T,INTEGER INFO)
Online Browsing

Dive into PLASMA_sgelqf_Tile

PLASMA_sgelqs

Purpose

PLASMA_sgelqs - Compute a minimum-norm solution min || A*X - B || using the LQ factorization A = L*Q computed by PLASMA_sgelqf.

Example: Arguments
M        int (IN)
         The number of rows of the matrix A. M >= 0.

N        int (IN)
         The number of columns of the matrix A. N >= M >= 0.

NRHS     int (IN)
         The number of columns of B. NRHS >= 0.

A        float* (IN)
         Details of the LQ factorization of the original matrix A as returned by PLASMA_sgelqf.

LDA      int (IN)
         The leading dimension of the array A. LDA >= M.

T        float* (IN)
         Auxiliary factorization data, computed by PLASMA_sgelqf.

B        float* (INOUT)
         On entry, the M-by-NRHS right hand side matrix B.
         On exit, the N-by-NRHS solution matrix X.

LDB      int (IN)
         The leading dimension of the array B. LDB >= N.

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings
int PLASMA_sgelqs(int M, int N, int NRHS, float *A, int LDA, float *T, float *B, int LDB)
Example: Fortran Bindings
PLASMA_SGELQS(INTEGER M, INTEGER N, INTEGER NRHS, REAL A, INTEGER LDA, INTEGER T, REAL B, INTEGER LDB, INTEGER INFO)
Online Browsing

Dive into PLASMA_sgelqs

PLASMA_sgelqs_Tile

Purpose

PLASMA_sgelqs_Tile - Compute a minimum-norm solution min || A*X - B || using the LQ factorization A = L*Q computed by PLASMA_sgelqf_Tile. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Example: Arguments
A        float* (IN)
         Details of the LQ factorization of the original matrix A as returned by PLASMA_sgelqf.

T        float* (IN)
         Auxiliary factorization data, computed by PLASMA_sgelqf.

B        float* (INOUT)
         On entry, the M-by-NRHS right hand side matrix B.
         On exit, the N-by-NRHS solution matrix X.

Example: Return Value:
          = 0: successful exit
Example: C Bindings
int PLASMA_sgelqs_Tile(PLASMA_desc *A, PLASMA_desc *B, PLASMA_desc *T)
Example: Fortran Bindings
PLASMA_SGELQS_TILE(INTEGER*4 A, INTEGER*4 B, INTEGER*4 T, INTEGER INFO)
Online Browsing

Dive into PLASMA_sgelqs_Tile

PLASMA_sgels

Purpose

PLASMA_sgels - solves overdetermined or underdetermined linear systems involving an M-by-N matrix A using the QR or the LQ factorization of A. It is assumed that A has full rank. The following options are provided:

  1. trans = PlasmaNoTrans and M >= N: find the least squares solution of an overdetermined system, i.e., solve the least squares problem: minimize || B - A*X ||.

  2. trans = PlasmaNoTrans and M < N: find the minimum norm solution of an underdetermined system A * X = B.

Several right hand side vectors B and solution vectors X can be handled in a single call; they are stored as the columns of the M-by-NRHS right hand side matrix B and the N-by-NRHS solution matrix X.

Example: Arguments
trans    PLASMA_enum (IN)
         Intended usage:
         = PlasmaNoTrans:   the linear system involves A;
         = PlasmaTrans: the linear system involves A**T.
         Currently only PlasmaNoTrans is supported.

M        int (IN)
         The number of rows of the matrix A. M >= 0.

N        int (IN)
         The number of columns of the matrix A. N >= 0.

NRHS     int (IN)
         The number of right hand sides, i.e., the number of columns of the matrices B and X.
         NRHS >= 0.

A        float* (INOUT)
         On entry, the M-by-N matrix A.
         On exit,
         if M >= N, A is overwritten by details of its QR factorization as returned by
                    PLASMA_sgeqrf;
         if M < N, A is overwritten by details of its LQ factorization as returned by
                     PLASMA_sgelqf.

LDA      int (IN)
         The leading dimension of the array A. LDA >= max(1,M).

T        float* (OUT)
         On exit, auxiliary factorization data.

B        float* (INOUT)
         On entry, the M-by-NRHS matrix B of right hand side vectors, stored columnwise;
         On exit, if return value = 0, B is overwritten by the solution vectors, stored
         columnwise:
         if M >= N, rows 1 to N of B contain the least squares solution vectors; the residual
         sum of squares for the solution in each column is given by the sum of squares of the
         modulus of elements N+1 to M in that column;
         if M < N, rows 1 to N of B contain the minimum norm solution vectors;

LDB      int (IN)
         The leading dimension of the array B. LDB >= MAX(1,M,N).

Example: Return Value:
          = 0: successful exit
          < 0: if -i, the i-th argument had an illegal value
Example: C Bindings