opgtr#

Functions

void sopgtr(
    const char*          uplo,
    const INT            n,
    const f32*  restrict AP,
    const f32*  restrict tau,
          f32*  restrict Q,
    const INT            ldq,
          f32*  restrict work,
          INT*           info
);
void sopgtr(const char *uplo, const INT n, const f32 *restrict AP, const f32 *restrict tau, f32 *restrict Q, const INT ldq, f32 *restrict work, INT *info)#

SOPGTR generates a real orthogonal matrix Q which is defined as the product of n-1 elementary reflectors H(i) of order n, as returned by SSPTRD using packed storage:

if UPLO = ‘U’, Q = H(n-1) … H(2) H(1),

if UPLO = ‘L’, Q = H(1) H(2) … H(n-1).

Parameters

in
uplo

= ‘U’: Upper triangular packed storage used in previous call to SSPTRD; = ‘L’: Lower triangular packed storage used in previous call to SSPTRD.

in
n

The order of the matrix Q. n >= 0.

in
AP

Double precision array, dimension (n*(n+1)/2). The vectors which define the elementary reflectors.

in
tau

Double precision array, dimension (n-1). tau[i] must contain the scalar factor of the elementary reflector H(i), as returned by SSPTRD.

out
Q

Double precision array, dimension (ldq, n). The n-by-n orthogonal matrix Q.

in
ldq

The leading dimension of the array Q. ldq >= max(1, n).

out
work

Double precision array, dimension (n-1).

out
info

  • = 0: successful exit

  • < 0: if info = -i, the i-th argument had an illegal value.

Functions

void dopgtr(
    const char*          uplo,
    const INT            n,
    const f64*  restrict AP,
    const f64*  restrict tau,
          f64*  restrict Q,
    const INT            ldq,
          f64*  restrict work,
          INT*           info
);
void dopgtr(const char *uplo, const INT n, const f64 *restrict AP, const f64 *restrict tau, f64 *restrict Q, const INT ldq, f64 *restrict work, INT *info)#

DOPGTR generates a real orthogonal matrix Q which is defined as the product of n-1 elementary reflectors H(i) of order n, as returned by DSPTRD using packed storage:

if UPLO = ‘U’, Q = H(n-1) … H(2) H(1),

if UPLO = ‘L’, Q = H(1) H(2) … H(n-1).

Parameters

in
uplo

= ‘U’: Upper triangular packed storage used in previous call to DSPTRD; = ‘L’: Lower triangular packed storage used in previous call to DSPTRD.

in
n

The order of the matrix Q. n >= 0.

in
AP

Double precision array, dimension (n*(n+1)/2). The vectors which define the elementary reflectors.

in
tau

Double precision array, dimension (n-1). tau[i] must contain the scalar factor of the elementary reflector H(i), as returned by DSPTRD.

out
Q

Double precision array, dimension (ldq, n). The n-by-n orthogonal matrix Q.

in
ldq

The leading dimension of the array Q. ldq >= max(1, n).

out
work

Double precision array, dimension (n-1).

out
info

  • = 0: successful exit

  • < 0: if info = -i, the i-th argument had an illegal value.