LATRZ - 5.2 English - 68552

AOCL API Guide (68552)

Document ID
68552
Release Date
2025-12-29
Version
5.2 English
template<typename T>
void latrz(integer *m, integer *n, integer *l, T *a, integer *lda, T *tau, T *work)#

LATRZ factors an upper trapezoidal matrix by means of orthogonal transformations.

Purpose:

 LATRZ factors the M-by-(M+L) real upper trapezoidal matrix
 [ A1 A2 ] = [ A(1:M,1:M) A(1:M,N-L+1:N) ] as (R  0) * Z, by means
 of orthogonal transformations.  Z is an (M+L)-by-(M+L) orthogonal
 matrix and, R and A1 are M-by-M upper triangular matrices.
Parameters:
  • M[in]

    M is INTEGER

    The number of rows of the matrix A. M >= 0.

  • N[in]

    N is INTEGER

    The number of columns of the matrix A. N >= 0.

  • L[in]

    L is INTEGER

    The number of columns of the matrix A containing the meaningful part of the Householder vectors. N-M >= L >= 0.

  • A[inout]

    A is REAL array, dimension (LDA,N)

    On entry, the leading M-by-N upper trapezoidal part of the array A must contain the matrix to be factorized. On exit, the leading M-by-M upper triangular part of A contains the upper triangular matrix R, and elements N-L+1 to N of the first M rows of A, with the array TAU, represent the orthogonal matrix Z as a product of M elementary reflectors.

  • LDA[in]

    LDA is INTEGER

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

  • TAU[out]

    TAU is REAL array, dimension (M)

    The scalar factors of the elementary reflectors.

  • WORK[out] WORK is REAL array, dimension (M)