PLASMA
Parallel Linear Algebra Software for Multicore Architectures
or/ungqr: Generates Q from QR factorization

Functions

int plasma_cungqr (int m, int n, int k, plasma_complex32_t *pA, int lda, plasma_desc_t T, plasma_complex32_t *pQ, int ldq)
 
void plasma_omp_cungqr (plasma_desc_t A, plasma_desc_t T, plasma_desc_t Q, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
 
int plasma_dorgqr (int m, int n, int k, double *pA, int lda, plasma_desc_t T, double *pQ, int ldq)
 
void plasma_omp_dorgqr (plasma_desc_t A, plasma_desc_t T, plasma_desc_t Q, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
 
int plasma_sorgqr (int m, int n, int k, float *pA, int lda, plasma_desc_t T, float *pQ, int ldq)
 
void plasma_omp_sorgqr (plasma_desc_t A, plasma_desc_t T, plasma_desc_t Q, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
 
int plasma_zungqr (int m, int n, int k, plasma_complex64_t *pA, int lda, plasma_desc_t T, plasma_complex64_t *pQ, int ldq)
 
void plasma_omp_zungqr (plasma_desc_t A, plasma_desc_t T, plasma_desc_t Q, plasma_workspace_t work, plasma_sequence_t *sequence, plasma_request_t *request)
 

Detailed Description

Function Documentation

int plasma_cungqr ( int  m,
int  n,
int  k,
plasma_complex32_t *  pA,
int  lda,
plasma_desc_t  T,
plasma_complex32_t *  pQ,
int  ldq 
)

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.

Parameters
[in]mThe number of rows of the matrix Q. m >= 0.
[in]nThe number of columns of the matrix Q. m >= n >= 0.
[in]kThe number of columns of elementary tile reflectors whose product defines the matrix Q. n >= k >= 0.
[in]pADetails of the QR factorization of the original matrix A as returned by plasma_cgeqrf, where the k first columns are the reflectors.
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
[in]TAuxiliary factorization data, computed by plasma_cgeqrf.
[out]pQOn exit, pointer to the m-by-n matrix Q.
[in]ldqThe leading dimension of the array Q. ldq >= max(1,m).
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value
See also
plasma_omp_cungqr
plasma_cungqr
plasma_dorgqr
plasma_sorgqr
plasma_cgeqrf
void plasma_omp_cungqr ( plasma_desc_t  A,
plasma_desc_t  T,
plasma_desc_t  Q,
plasma_workspace_t  work,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Non-blocking tile version of plasma_cungqr(). May return before the computation is finished. Allows for pipelining of operations at runtime.

Parameters
[in]ADescriptor of matrix A. A is stored in the tile layout.
[in]TDescriptor of matrix T. Auxiliary factorization data, computed by plasma_cgeqrf.
[out]QDescriptor of matrix Q. On exit, matrix Q stored in the tile layout.
[in]workWorkspace for the auxiliary arrays needed by some coreblas kernels. For multiplication by Q contains preallocated space for work arrays. Allocated by the plasma_workspace_create function.
[in]sequenceIdentifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes).
[out]requestIdentifies this function call (for exception handling purposes).
Return values
voidErrors are returned by setting sequence->status and request->status to error values. The sequence->status and request->status should never be set to PlasmaSuccess (the initial values) since another async call may be setting a failure value at the same time.
See also
plasma_cungqr
plasma_omp_cungqr
plasma_omp_dorgqr
plasma_omp_sorgqr
plasma_omp_cgeqrf
int plasma_dorgqr ( int  m,
int  n,
int  k,
double *  pA,
int  lda,
plasma_desc_t  T,
double *  pQ,
int  ldq 
)

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_dgeqrf.

Parameters
[in]mThe number of rows of the matrix Q. m >= 0.
[in]nThe number of columns of the matrix Q. m >= n >= 0.
[in]kThe number of columns of elementary tile reflectors whose product defines the matrix Q. n >= k >= 0.
[in]pADetails of the QR factorization of the original matrix A as returned by plasma_dgeqrf, where the k first columns are the reflectors.
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
[in]TAuxiliary factorization data, computed by plasma_dgeqrf.
[out]pQOn exit, pointer to the m-by-n matrix Q.
[in]ldqThe leading dimension of the array Q. ldq >= max(1,m).
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value
See also
plasma_omp_dorgqr
plasma_cungqr
plasma_dorgqr
plasma_sorgqr
plasma_dgeqrf
void plasma_omp_dorgqr ( plasma_desc_t  A,
plasma_desc_t  T,
plasma_desc_t  Q,
plasma_workspace_t  work,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Non-blocking tile version of plasma_dorgqr(). May return before the computation is finished. Allows for pipelining of operations at runtime.

Parameters
[in]ADescriptor of matrix A. A is stored in the tile layout.
[in]TDescriptor of matrix T. Auxiliary factorization data, computed by plasma_dgeqrf.
[out]QDescriptor of matrix Q. On exit, matrix Q stored in the tile layout.
[in]workWorkspace for the auxiliary arrays needed by some coreblas kernels. For multiplication by Q contains preallocated space for work arrays. Allocated by the plasma_workspace_create function.
[in]sequenceIdentifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes).
[out]requestIdentifies this function call (for exception handling purposes).
Return values
voidErrors are returned by setting sequence->status and request->status to error values. The sequence->status and request->status should never be set to PlasmaSuccess (the initial values) since another async call may be setting a failure value at the same time.
See also
plasma_dorgqr
plasma_omp_cungqr
plasma_omp_dorgqr
plasma_omp_sorgqr
plasma_omp_dgeqrf
int plasma_sorgqr ( int  m,
int  n,
int  k,
float *  pA,
int  lda,
plasma_desc_t  T,
float *  pQ,
int  ldq 
)

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_sgeqrf.

Parameters
[in]mThe number of rows of the matrix Q. m >= 0.
[in]nThe number of columns of the matrix Q. m >= n >= 0.
[in]kThe number of columns of elementary tile reflectors whose product defines the matrix Q. n >= k >= 0.
[in]pADetails of the QR factorization of the original matrix A as returned by plasma_sgeqrf, where the k first columns are the reflectors.
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
[in]TAuxiliary factorization data, computed by plasma_sgeqrf.
[out]pQOn exit, pointer to the m-by-n matrix Q.
[in]ldqThe leading dimension of the array Q. ldq >= max(1,m).
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value
See also
plasma_omp_sorgqr
plasma_cungqr
plasma_dorgqr
plasma_sorgqr
plasma_sgeqrf
void plasma_omp_sorgqr ( plasma_desc_t  A,
plasma_desc_t  T,
plasma_desc_t  Q,
plasma_workspace_t  work,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Non-blocking tile version of plasma_sorgqr(). May return before the computation is finished. Allows for pipelining of operations at runtime.

Parameters
[in]ADescriptor of matrix A. A is stored in the tile layout.
[in]TDescriptor of matrix T. Auxiliary factorization data, computed by plasma_sgeqrf.
[out]QDescriptor of matrix Q. On exit, matrix Q stored in the tile layout.
[in]workWorkspace for the auxiliary arrays needed by some coreblas kernels. For multiplication by Q contains preallocated space for work arrays. Allocated by the plasma_workspace_create function.
[in]sequenceIdentifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes).
[out]requestIdentifies this function call (for exception handling purposes).
Return values
voidErrors are returned by setting sequence->status and request->status to error values. The sequence->status and request->status should never be set to PlasmaSuccess (the initial values) since another async call may be setting a failure value at the same time.
See also
plasma_sorgqr
plasma_omp_cungqr
plasma_omp_dorgqr
plasma_omp_sorgqr
plasma_omp_sgeqrf
int plasma_zungqr ( int  m,
int  n,
int  k,
plasma_complex64_t *  pA,
int  lda,
plasma_desc_t  T,
plasma_complex64_t *  pQ,
int  ldq 
)

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_zgeqrf.

Parameters
[in]mThe number of rows of the matrix Q. m >= 0.
[in]nThe number of columns of the matrix Q. m >= n >= 0.
[in]kThe number of columns of elementary tile reflectors whose product defines the matrix Q. n >= k >= 0.
[in]pADetails of the QR factorization of the original matrix A as returned by plasma_zgeqrf, where the k first columns are the reflectors.
[in]ldaThe leading dimension of the array A. lda >= max(1,m).
[in]TAuxiliary factorization data, computed by plasma_zgeqrf.
[out]pQOn exit, pointer to the m-by-n matrix Q.
[in]ldqThe leading dimension of the array Q. ldq >= max(1,m).
Return values
PlasmaSuccesssuccessful exit
<0 if -i, the i-th argument had an illegal value
See also
plasma_omp_zungqr
plasma_cungqr
plasma_dorgqr
plasma_sorgqr
plasma_zgeqrf
void plasma_omp_zungqr ( plasma_desc_t  A,
plasma_desc_t  T,
plasma_desc_t  Q,
plasma_workspace_t  work,
plasma_sequence_t *  sequence,
plasma_request_t *  request 
)

Non-blocking tile version of plasma_zungqr(). May return before the computation is finished. Allows for pipelining of operations at runtime.

Parameters
[in]ADescriptor of matrix A. A is stored in the tile layout.
[in]TDescriptor of matrix T. Auxiliary factorization data, computed by plasma_zgeqrf.
[out]QDescriptor of matrix Q. On exit, matrix Q stored in the tile layout.
[in]workWorkspace for the auxiliary arrays needed by some coreblas kernels. For multiplication by Q contains preallocated space for work arrays. Allocated by the plasma_workspace_create function.
[in]sequenceIdentifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes).
[out]requestIdentifies this function call (for exception handling purposes).
Return values
voidErrors are returned by setting sequence->status and request->status to error values. The sequence->status and request->status should never be set to PlasmaSuccess (the initial values) since another async call may be setting a failure value at the same time.
See also
plasma_zungqr
plasma_omp_cungqr
plasma_omp_dorgqr
plasma_omp_sorgqr
plasma_omp_zgeqrf