PLASMA
Parallel Linear Algebra Software for Multicore Architectures

Functions

 __attribute__ ((weak))
 

Detailed Description

Function Documentation

__attribute__ ( (weak)  )

Computes a QR factorization of an m-by-n tile A: The factorization has the form

\[ A = Q \times R \]

The tile Q is represented as a product of elementary reflectors

\[ Q = H(1) H(2) ... H(k), \]

where \( k = min(m,n) \).

Each \( H(i) \) has the form

\[ H(i) = I - \tau \times v \times v^H \]

where \( tau \) is a scalar, and \( v \) is a vector with v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), and \( tau \) in tau(i).

Parameters
[in]mThe number of rows of the tile A. m >= 0.
[in]nThe number of columns of the tile A. n >= 0.
[in]ibThe inner-blocking size. ib >= 0.
[in,out]AOn entry, the m-by-n tile A. On exit, the elements on and above the diagonal of the array contain the min(m,n)-by-n upper trapezoidal tile R (R is upper triangular if m >= n); the elements below the diagonal, with the array tau, represent the unitary tile Q as a product of elementary reflectors (see Further Details).
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
[out]TThe ib-by-n triangular factor T of the block reflector. T is upper triangular by block (economic storage); The rest of the array is not referenced.
[in]ldtThe leading dimension of the array T. ldt >= ib.
tauAuxiliary workspace array of length n.
workAuxiliary workspace array of length ib*n.
[in]lworkSize of the array work. Should be at least ib*n.
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value

Computes a QR factorization of an m-by-n tile A: The factorization has the form

\[ A = Q \times R \]

The tile Q is represented as a product of elementary reflectors

\[ Q = H(1) H(2) ... H(k), \]

where \( k = min(m,n) \).

Each \( H(i) \) has the form

\[ H(i) = I - \tau \times v \times v^T \]

where \( tau \) is a scalar, and \( v \) is a vector with v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), and \( tau \) in tau(i).

Parameters
[in]mThe number of rows of the tile A. m >= 0.
[in]nThe number of columns of the tile A. n >= 0.
[in]ibThe inner-blocking size. ib >= 0.
[in,out]AOn entry, the m-by-n tile A. On exit, the elements on and above the diagonal of the array contain the min(m,n)-by-n upper trapezoidal tile R (R is upper triangular if m >= n); the elements below the diagonal, with the array tau, represent the orthogonal tile Q as a product of elementary reflectors (see Further Details).
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
[out]TThe ib-by-n triangular factor T of the block reflector. T is upper triangular by block (economic storage); The rest of the array is not referenced.
[in]ldtThe leading dimension of the array T. ldt >= ib.
tauAuxiliary workspace array of length n.
workAuxiliary workspace array of length ib*n.
[in]lworkSize of the array work. Should be at least ib*n.
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value