線形系 AX = Y を解きます。Xベクトル入力とYベクトル入力に配線するデータタイプにより、多態性VIのインスタンスが決まります。


icon

入力/出力

  • c2dcdb.png 入力行列

    入力行列は非特異で、正方または矩形の複素行列でなければなりません。非特異行列とは、行または列に他の行または列の線形結合が含まれていない行列です。特にサイズが大きいシステムの場合、行列が特異であるかどうかを事前に決定できない場合があります。

    入力行列が特異行列で行列タイプが一般の場合、最小二乗解が検出されます。それ以外の場合、VIはエラーを返します。

  • c2dcdb.png 既知行列

    既知行列は、既知の従属変数値の行列です。既知行列の行数は、入力行列の行数と同じである必要があります。既知行列入力行列の行数が異なる場合、このVIは解行列を空の配列にしてエラーを返します。

  • cenum.png 行列タイプ

    行列タイプは、入力行列のタイプです。入力行列のタイプがわかっていれば、解行列を計算する速度が向上し、誤計算となる可能性のある不要な計算を回避できます。

    0
    General
    (デフォルト)
    1
    Positive definite
    2
    Lower triangular
    3
    Upper triangular
  • i2dcdb.png 解行列

    解行列はAX = Yの解Xを返します。Aは入力行列で、Yは既知行列です。

  • ii32.png エラー

    エラーは、VIからのエラーまたは警告を返します。エラーは「エラーコードからエラークラスタ」VIに配線して、エラーコードまたは警告をエラークラスタに変換できます。

  • Aは入力行列を表すm x n行列、Yは既知ベクトルm個の係数のセット、Xは式を解く解ベクトルn個の要素のセットとします。

    AX = Y

    m > nの場合、システムには未知数よりも多くの式が含まれるため、システムは過剰決定系となります。AX=Yを満たす解は存在しない可能性があるため、VIは||AX – Y||を最小化する最小二乗解Xを求めます。

    m < nの場合、システムに式よりも多くの未知数が含まれるため、システムは劣決定系となります。AX = Y を満たす無限の解を持つことができる。VIはこれらの解決策のいずれかを見つける。

    m = nの場合、Aが正則行列であれば、つまり行または列がそれぞれ他の行または列の線形結合でなければ、入力行列Aをその下三角行列Lと上三角行列Uに分解することによって、この連立1次方程式をXについて解くことができます。そして、

    AX = LZ = Y

    および

    Z = UX

    が元のシステムの別の表現として使用できることを仮定します。また、Zもn個の要素のベクトルであることに注目してください。

    三角形系は、再帰的手法を使用して簡単に解くことができます。その結果、AからL行列とU行列を取得する場合、Zは連立1次方程式LZ = Y、Xは連立1次方程式UX = Zから求めることができます。

    mnの場合、Aは直交行列Qと上三角行列Rに分解でき、A=QRとなる。すると、線形システムはQRX=Yで表すことができる。すると、RX=QTYと解くことができます。

    この三角形系は、再帰的手法を使用してこの三角形系を解き、xを簡単に求めることができます。

    メモ 行列が特異行列かどうかは、特に大規模なシステムでは、必ずしも決定できるとは限りません。「線形方程式を解く」VIは、このVIを使用する前に有効なシステムであるかを確認しなくてもよいように、特異行列を検出して、エラーを返します。

    行列反転の数値的実装は単に計算のコストが高いだけでなく、再帰的な性質を持つために浮動小数点演算プロセッサによって生じる丸め誤差に影響されやすくなります。計算には可能な限り最高の確度が使用されますが、VIは必ずしもシステムの問題を解くことができると限りません。

    複素線形方程式を解く

    Aはm x n入力行列、Yは既知ベクトルm個の要素のセット、Xは式を解く解ベクトルn個の要素のセットを表します。

    AX = Y

    m > nの場合、システムには未知数よりも多くの式が含まれるため、システムは過剰決定系となります。AX=Yを満たす解は存在しないため、VIは||AX – Y||を最小化する最小二乗解Xを求めます。

    m < nの場合、システムに式よりも多くの未知数が含まれるため、システムは劣決定系となります。AX=Yを満たす無限の解を持つかもしれない。そして、VIはこれらのソリューションの中から1つを選択する。

    m = nの場合、Aが正則行列であれば、つまり行または列がそれぞれ他の行または列の線形結合でなければ、入力行列Aをその下三角行列Lと上三角行列Uに分解することによって、この連立1次方程式をXについて解くことができます。そして、

    AX = LZ = Y

    および

    Z = UX

    が元のシステムの別の表現として使用できることを仮定します。また、Zもn個の要素のベクトルであることに注目してください。

    三角形系は、再帰的手法を使用して簡単に解くことができます。その結果、AからL行列とU行列を取得する場合、Zは連立1次方程式LZ = Y、Xは連立1次方程式UX = Zから求めることができます。

    mnのとき、Aは直交行列Qと上三角行列Rに分解できるので、A=QRとなり、線形系はQRX=Yで表すことができる。すると、RX=QHYを解くことができます。この三角形系は、再帰的手法を使用してこの三角形系を解き、Xを簡単に求めることができます。

    メモ 行列反転の数値的実装は単に計算のコストが高いだけでなく、再帰的な性質を持つために浮動小数点演算プロセッサによって生じる丸め誤差に影響されやすくなります。計算には可能な限り最高の確度が使用されますが、VIは必ずしもシステムの問題を解くことができると限りません。

    サンプルプログラム

    LabVIEWに含まれている以下のサンプルファイルを参照してください。

    • labview\examples\Mathematics\Linear Algebra\Linear Algebra Calculator.vi