FactorizationQL

Computes the QL factorization of a general m-by-n matrix: A = Q * L. Lapack function GEQLF.

Computing for type matrix<double>

bool  matrix::FactorizationQL(
  bool         reduced,     // calculation mode reduced or complete
  matrix&       Q,           // orthogonal matrix Q
  matrix&         L           // lower triangular matrix L
  );

Computing for type matrix<float>

bool  matrix::FactorizationQL(
  bool         reduced,     // calculation mode reduced or complete
  matrixf&     Q,           // orthogonal matrix Q
  matrixf&       L           // lower triangular matrix L
  );

Computing for type matrix<complex>

bool  matrix::FactorizationQL(
  bool         reduced,     // calculation mode reduced or complete
  matrixc&     Q,           // unitary matrix Q
  matrixc&       L           // lower triangular matrix L
  );

Computing for type matrix<complexf>

bool  matrix::FactorizationQL(
  bool         reduced,     // calculation mode reduced or complete
  matrixcf&     Q,           // unitary matrix Q
  matrixcf&       L           // lower triangular matrix L
  );

Parameters

reduced

[in]  Calculation mode. If reduced is true then matrices Q, L calculated with reduced dimensions (M, K), (K, N). If reduced is false it means complete calculation of matrices Q, L with dimensions (M,M), (M,N).

Q

[out]  Orthogonal or unitary matrix Q.

L

[out]  Lower triangular matrix L.

 

Return Value

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

Note

If reduced is true

  If m >= n, matrix Q is of m-by-n sizes, matrix L is of n-by-n sizes.

  If m < n, matrix Q is of m-by-m sizes, matrix L is of m-by-n sizes.

If reduced is false, matrix Q is of m-by-m sizes, matrix L is of m-by-n sizes.