FactorizationQR

Вычисляет QR-разложение общей матрицы размера m на n: A = Q * R. LAPACK-функция GEQRF.

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

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

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

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

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

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

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

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

Параметры

reduced

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

Q

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

R

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

 

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

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

Примечание

Если reduced = true

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

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

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