Main Content

fixed.qrAB

C = Q'B と上三角因子 R の計算

説明

[C,R] = fixed.qrAB(A,B) は、C = Q'B と上三角因子 R を計算します。この関数は、AB に対してギブンス回転を同時に実行し、AR に、BC に変換します。

この構文は、次と等価です。

[C,R] = qr(A,B)

[C,R] = fixed.qrAB(A,B,regularizationParameter) は、regularizationParameter で指定された正則化パラメーター値を使用して C と R を計算します。正則化パラメーターが指定されている場合、この関数はギブンス回転を同時に実行し、次の変換を行います。

[λInA]R

および

[0n,pB]C

ここで、A は m 行 n 列の行列、B は m 行 p 列の行列、λ は正則化パラメーターです。

この構文は、次と等価です。

[Q,R] = qr([regularizationParameter*eye(n); A], 0);
C = Q'[zeros(n,p);B];

すべて折りたたむ

この例では、上三角因子 RC=Qb を計算する方法を示します。

入力行列 A および b を定義します。

rng('default');
m = 6;
n = 3;
p = 1;
A = randn(m,n)
A = 6×3

    0.5377   -0.4336    0.7254
    1.8339    0.3426   -0.0631
   -2.2588    3.5784    0.7147
    0.8622    2.7694   -0.2050
    0.3188   -1.3499   -0.1241
   -1.3077    3.0349    1.4897

b = randn(m,p)
b = 6×1

    1.4090
    1.4172
    0.6715
   -1.2075
    0.7172
    1.6302

関数 fixed.qrAB により、上三角因子 RC=Qb が返されます。

[C, R] = fixed.qrAB(A,b)
C = 3×1

   -0.3284
    0.4055
    2.5481

R = 3×3

    3.3630   -2.8841   -1.0421
         0    4.8472    0.6885
         0         0    1.3258

この例では、上三角因子 RC=Qb を計算して線形方程式系 Ax=b を解く方法を示します。正則化パラメーターを使用すると、最小二乗問題の調整を向上させ、線形方程式系を解く際の推定値の分散を小さくすることができます。

入力行列 A および b を定義します。

rng('default');
m = 50;
n = 5;
p = 1;
A = randn(m,n);
b = randn(m,p);

関数 fixed.qrAB を使用して上三角因子 RC=Qb を計算します。

[C, R] = fixed.qrAB(A, b, 0.01)
C = 5×1

   -0.6361
    1.7663
    1.5892
   -2.0638
   -0.1327

R = 5×5

    9.0631    0.7471    0.4126   -0.3606    0.1883
         0    7.2515   -1.1145    0.6011   -0.7544
         0         0    7.6132   -0.9460   -0.7062
         0         0         0    6.3065   -2.3238
         0         0         0         0    5.9297

この結果を使用し、x = R\C を使用して Ax=b を解きます。関数 fixed.qrMatrixSolve を使用して x = R\C を計算します。

x = fixed.qrMatrixSolve(R,C)
x = 5×1

   -0.1148
    0.2944
    0.1650
   -0.3355
   -0.0224

この結果を、x = A\b を直接計算した場合と比較します。

x = A\b
x = 5×1

   -0.1148
    0.2944
    0.1650
   -0.3355
   -0.0224

入力引数

すべて折りたたむ

入力係数行列。行列として指定します。

データ型: single | double | fi
複素数のサポート: あり

右辺の行列。行列として指定します。

データ型: single | double | fi
複素数のサポート: あり

正則化パラメーター。非負のスカラーとして指定します。正則化パラメーターを小さい正の値にすると、問題の調整を向上させ、推定値の分散を小さくすることができます。バイアスがありますが、推定値の分散が小さいと、多くの場合、最小二乗推定値と比べて平均二乗誤差が小さくなります。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi

出力引数

すべて折りたたむ

線形システムの因子。C = Q'B を満たす行列として返されます。

上三角因子。A = QR を満たす行列として返されます。

拡張機能

バージョン履歴

R2020b で導入