orhr_col#
Functions
-
void sorhr_col(const INT m, const INT n, const INT nb, f32 *restrict A, const INT lda, f32 *restrict T, const INT ldt, f32 *restrict D, INT *info)#
SORHR_COL takes an M-by-N real matrix Q_in with orthonormal columns as input, stored in A, and performs Householder Reconstruction (HR), i.e.
reconstructs Householder vectors V(i) implicitly representing another M-by-N matrix Q_out, with the property that Q_in = Q_out*S, where S is an N-by-N diagonal matrix with diagonal entries equal to +1 or -1. The Householder vectors (columns V(i) of V) are stored in A on output, and the diagonal entries of S are stored in D. Block reflectors are also returned in T.
Parameters
inmThe number of rows of the matrix A. m >= 0.
innThe number of columns of the matrix A. m >= n >= 0.
innbThe column block size to be used in the reconstruction of Householder column vector blocks. nb >= 1.
inoutADouble precision array, dimension (lda, n). On entry, the M-by-N orthonormal matrix Q_in. On exit, below diagonal contains the unit lower-trapezoidal matrix V of Householder vectors, above diagonal contains U.
inldaThe leading dimension of the array A. lda >= max(1, m).
outTDouble precision array, dimension (ldt, n). On exit, contains upper-triangular block reflectors.
inldtThe leading dimension of the array T. ldt >= max(1, min(nb, n)).
outDDouble precision array, dimension min(m, n). The diagonal elements of the sign matrix S.
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
void sorhr_col(
const INT m,
const INT n,
const INT nb,
f32* restrict A,
const INT lda,
f32* restrict T,
const INT ldt,
f32* restrict D,
INT* info
);
Functions
-
void dorhr_col(const INT m, const INT n, const INT nb, f64 *restrict A, const INT lda, f64 *restrict T, const INT ldt, f64 *restrict D, INT *info)#
DORHR_COL takes an M-by-N real matrix Q_in with orthonormal columns as input, stored in A, and performs Householder Reconstruction (HR), i.e.
reconstructs Householder vectors V(i) implicitly representing another M-by-N matrix Q_out, with the property that Q_in = Q_out*S, where S is an N-by-N diagonal matrix with diagonal entries equal to +1 or -1. The Householder vectors (columns V(i) of V) are stored in A on output, and the diagonal entries of S are stored in D. Block reflectors are also returned in T.
Parameters
inmThe number of rows of the matrix A. m >= 0.
innThe number of columns of the matrix A. m >= n >= 0.
innbThe column block size to be used in the reconstruction of Householder column vector blocks. nb >= 1.
inoutADouble precision array, dimension (lda, n). On entry, the M-by-N orthonormal matrix Q_in. On exit, below diagonal contains the unit lower-trapezoidal matrix V of Householder vectors, above diagonal contains U.
inldaThe leading dimension of the array A. lda >= max(1, m).
outTDouble precision array, dimension (ldt, n). On exit, contains upper-triangular block reflectors.
inldtThe leading dimension of the array T. ldt >= max(1, min(nb, n)).
outDDouble precision array, dimension min(m, n). The diagonal elements of the sign matrix S.
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
void dorhr_col(
const INT m,
const INT n,
const INT nb,
f64* restrict A,
const INT lda,
f64* restrict T,
const INT ldt,
f64* restrict D,
INT* info
);