rStats.js v1.3.0
    検索インデックスを準備しています...

    Function qrSolve

    • QR 分解を使って、a x = b を最小二乗の意味で解きます。R の qr.solve() と同等です。

      ランクが min(nrow, ncol) より小さい場合は例外を投げます。b を省略した場合は、a の逆行列を返します (正方行列の場合だけです)。横長の行列では、使われない列の係数は 0 になります (R と同じです)。

      LAPACK による分解 (qr(a, { lapack: true })) にはランクがありません。そのため、ある |R[k][k]| が tol * |R[0][0]| 以下 (tol は options の値で、既定は 1e-7) の場合は、代わりに例外を投げます。R の qr.solve() はこれを検出しません。

      Parameters

      • a: MatrixInput | QR

        行列 (行の配列です) または qr が返す QR 分解です。

      • Optionalb: VectorOrMatrix

        右辺です。ベクトルまたは行列です。既定: 単位行列です。

      • options: { tol?: number } = {}

        tol: a が行列の場合に qr へ渡す許容誤差です。既定: 1e-7 です。

      戻り値 number[] | number[][]

      b がベクトルの場合はベクトルです。それ以外の場合は行の配列です。

      qrSolve([[2, 1], [1, 3]], [3, 5]); // [0.8, 1.4]
      qrSolve([[1, 1], [1, 2], [1, 3]], [1, 2, 4]); // [-0.6667, 1.5]