FactorizationQL

Выполняет QL-разложение общей матрицы размером m на n: A = Q * L. Функция LAPACK GEQLF.

Вычисления для типа matrix<double>

bool  matrix::FactorizationQL(
   bool            reduced,      // режим вычислений: укороченный или полный 
   matrix&         Q,            // ортогональная матрица Q
   matrix&         L             // нижнетреугольная матрица L
   );

Вычисления для типа matrix<float>

bool  matrix::FactorizationQL(
   bool            reduced,      // режим вычислений: укороченный или полный 
   matrixf&        Q,            // ортогональная матрица Q
   matrixf&        L             // нижнетреугольная матрица L
   );

Вычисления для типа matrix<complex>

bool  matrix::FactorizationQL(
   bool            reduced,      // режим вычислений: укороченный или полный 
   matrixc&        Q,            // унитарная матрица Q
   matrixc&        L             // нижнетреугольная матрица L
   );

Вычисления для типа matrix<complexf>

bool  matrix::FactorizationQL(
   bool            reduced,      // режим вычислений: укороченный или полный 
   matrixcf&       Q,            // унитарная матрица Q
   matrixcf&       L             // нижнетреугольная матрица L
   );

Параметры

reduced

[in]  Режим вычислений. Если параметр reduced установлен в значение true, тогда матрицы Q и L вычисляются с размерностями (M,K), (K,N). Если параметр reduced установлен в значение false, выполняется полный расчет матриц Q и L с размерностями (M,M), (M,N).

Q

[out] Ортогональная или унитарная матрица Q.

L

[out]  Нижнетреугольная матрица L.

 

Возвращаемое значение

Возвращает true в случае успеха, иначе false в случае ошибки.

Примечание

Если reduced = true

  При m >= n матрица Q имеет размер m на n, матрица L — n на n.

  При m < n матрица Q имеет размер m на m, матрица L — m на n.

Если параметр reduced = false, матрица Q имеет размер m на m, а матрица L — m на n.