PLASMA
Parallel Linear Algebra Software for Multicore Architectures
|
Functions | |
__attribute__ ((weak)) | |
__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).
[in] | m | The number of rows of the tile A. m >= 0. |
[in] | n | The number of columns of the tile A. n >= 0. |
[in] | ib | The inner-blocking size. ib >= 0. |
[in,out] | A | On 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] | lda | The leading dimension of the array A. lda >= max(1,m). |
[out] | T | The 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] | ldt | The leading dimension of the array T. ldt >= ib. |
tau | Auxiliarry workspace array of length m. | |
work | Auxiliary workspace array of length ib*m. | |
[in] | lwork | Size of the array work. Should be at least ib*m. |
PlasmaSuccess | successful 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).
[in] | m | The number of rows of the tile A. m >= 0. |
[in] | n | The number of columns of the tile A. n >= 0. |
[in] | ib | The inner-blocking size. ib >= 0. |
[in,out] | A | On 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] | lda | The leading dimension of the array A. lda >= max(1,m). |
[out] | T | The 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] | ldt | The leading dimension of the array T. ldt >= ib. |
tau | Auxiliarry workspace array of length m. | |
work | Auxiliary workspace array of length ib*m. | |
[in] | lwork | Size of the array work. Should be at least ib*m. |
PlasmaSuccess | successful exit |
< | 0 if -i, the i-th argument had an illegal value |