FactorizationQR2

Computes the generalized QR factorization of two matrices - A of n-by-m size and B of n-by-p size: A = Q * R, B = Q * T * Z.

LAPACK function GGQRF.

Computing for type matrix<double>

bool  matrix::FactorizationQR2(
  matrix&       B,           // matrix B
  matrix&       Q,           // orthogonal matrix Q
  matrix&         R,           // upper triangular matrix R
  matrix&       T,           // upper trapezoidal matrix T
  matrix&         Z           // orthogonal matrix Z
  );

Computing for type matrix<float>

bool  matrix::FactorizationQR2(
  matrixf&     B,           // matrix B
  matrixf&     Q,           // orthogonal matrix Q
  matrixf&       R,           // upper triangular matrix R
  matrixf&     T,           // upper trapezoidal matrix T
  matrixf&       Z           // orthogonal matrix Z
  );

Computing for type matrix<complex>

bool  matrix::FactorizationQR2(
  matrixc&     B,           // matrix B
  matrixc&     Q,           // unitary matrix Q
  matrixc&       R,           // upper triangular matrix R
  matrixc&     T,           // upper trapezoidal matrix T
  matrixc&       Z           // unitary matrix Z
  );

Computing for type matrix<complexf>

bool  matrix::FactorizationQR2(
  matrixcf&     B,           // matrix B
  matrixcf&     Q,           // unitary matrix Q
  matrixcf&       R,           // upper triangular matrix R
  matrixcf&     T,           // upper trapezoidal matrix T
  matrixcf&       Z           // unitary matrix Z
  );

Parameters

B

[in]  Second matrix in the generalized QR factorization.

Q

[out]  Orthogonal or unitary matrix Q.

R

[out]  Upper triangular matrix R. If n<m, matrix R is upper trapezoidal.

T

[out]  Upper trapezoidal matrix T.

Z

[out]  Orthogonal or unitary matrix Z.

 

Return Value

Return true if successful, otherwise false in case of an error.