FactorizationLQ

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

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

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

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

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

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

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

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

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

Параметры

reduced

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

L

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

Q

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

 

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

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

Примечание

Если reduced = true

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

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

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