PLASMA
Parallel Linear Algebra Software for Multicore Architectures

Functions

 __attribute__ ((weak))
 

Detailed Description

Function Documentation

__attribute__ ( (weak)  )

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

\[ A = L \times Q \]

The tile Q is represented as a product of elementary reflectors

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

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:n)^H is stored on exit in A(i,i+1:n), 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 below the diagonal of the array contain the m-by-min(m,n) lower trapezoidal tile L (L is lower triangular if m <= n); the elements above 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-m 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.
tauAuxiliarry workspace array of length m.
workAuxiliary workspace array of length ib*m.
[in]lworkSize of the array work. Should be at least ib*m.
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value

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

\[ A = L \times Q \]

The tile Q is represented as a product of elementary reflectors

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

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:n)^T is stored on exit in A(i,i+1:n), 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 below the diagonal of the array contain the m-by-min(m,n) lower trapezoidal tile L (L is lower triangular if m <= n); the elements above 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-m 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.
tauAuxiliarry workspace array of length m.
workAuxiliary workspace array of length ib*m.
[in]lworkSize of the array work. Should be at least ib*m.
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value