FactorizationRQ

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

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

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

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

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

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

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

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

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

Параметры

reduced

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

R

[out] Верхнетреугольная матрица R.

Q

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

 

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

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

Примечание

Если reduced = true

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

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

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