概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## org.mklab.nfc.leq
クラス DoubleComplexLUDecomposer

    java.lang.Object
      org.mklab.nfc.leq.DoubleComplexLUDecomposer

    public final class DoubleComplexLUDecomposer

extends Object

倍精度(double)型の複素行列のLU分解(P*A=L*U)を求めるためのクラスです。

バージョン:
  $Revision: 1.4 $
作成者:
  matsuki

コンストラクタの概要
`DoubleComplexLUDecomposer()`

メソッドの概要
`LUDecompositionDoubleComplexElements` | `decompose(double[][] aRe, double[][] aIm, double tolerance)` 複素行列のLU分解を返します。
`LUDecompositionDoubleComplexElements` | `decomposeWithPermutation(double[][] aRe, double[][] aIm, double tolerance)` 複素行列の並べ替え付きLU分解を返します。
`double[]` | `getDeterminant(double[][] aRe, double[][] aIm, double tolerance)` 行列式を返します。
`double[][][]` | `inverse(double[][] aRe, double[][] aIm, double tolerance)` 複素行列の逆行列を返します。
`double[][][]` | `leftDivide(double[][] aRe, double[][] aIm, double[][] bRe, double[][] bIm, double tolerance)`
`double[][]` | `solveLinearEquation(double[][] aRe, double[][] aIm, double[] bRe, double[] bIm, double tolerance)` 線形方程式の解を返します。

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

コンストラクタの詳細

### DoubleComplexLUDecomposer

    public DoubleComplexLUDecomposer()

メソッドの詳細

### decompose

    public LUDecompositionDoubleComplexElements decompose(double[][] aRe,
                                                          double[][] aIm,
                                                          double tolerance)

  複素行列のLU分解を返します。

  複素行列をA、下三角行列を行置換した行列をL、上三角行列をUとすると、これらの行列の間には、

  > A = Q * H * Q#

  > Q# * Q = I

  の関係が成り立ちます。

  パラメータ:
    `aRe` - 複素行列の実部
    `aIm` - 複素行列の虚部
    `tolerance` - 許容誤差
  戻り値:
    Lの実部、Lの虚部、Uの実部、Uの虚部

### decomposeWithPermutation

    public LUDecompositionDoubleComplexElements decomposeWithPermutation(double[][] aRe,
                                                                         double[][] aIm,
                                                                         double tolerance)

  複素行列の並べ替え付きLU分解を返します。

  複素行列をA、下三角行列を行置換した行列をL、上三角行列をU、置換行列をPとすると、これらの行列の間には、

  > P * A = Q * H * Q#

  > Q# * Q = I

  の関係が成り立ちます。

  パラメータ:
    `aRe` - 複素行列の実部
    `aIm` - 複素行列の虚部
    `tolerance` - 許容誤差
  戻り値:
    Lの実部、Lの虚部、Uの実部、Uの虚部、Pの実部、Pの虚部

### solveLinearEquation

    public double[][] solveLinearEquation(double[][] aRe,
                                          double[][] aIm,
                                          double[] bRe,
                                          double[] bIm,
                                          double tolerance)

  線形方程式の解を返します。

  実部aRe、虚部aImで表される複素行列をA、実部bRe、虚部bImで表されるベクトルをbとするとき、

  > A*x = b

  の解xが返り値となります。

  パラメータ:
    `aRe` - 係数行列の実部
    `aIm` - 係数行列の行列
    `bRe` - 実部
    `bIm` - 行列
    `tolerance` - 許容誤差
  戻り値:
    解の実部と虚部

### inverse

    public double[][][] inverse(double[][] aRe,
                                double[][] aIm,
                                double tolerance)

  複素行列の逆行列を返します。

  パラメータ:
    `aRe` - 複素行列の実部
    `aIm` - 複素行列の虚部
    `tolerance` - 許容誤差
  戻り値:
    複素行列の逆行列

### leftDivide

    public double[][][] leftDivide(double[][] aRe,
                                   double[][] aIm,
                                   double[][] bRe,
                                   double[][] bIm,
                                   double tolerance)

  パラメータ:
    `aRe` - 左行列の実部
    `aIm` - 左行列の虚部
    `bRe` - 右行列の実部
    `bIm` - 右行列の虚部
    `tolerance` - 許容誤差
  戻り値:
    割り算の結果の実部と虚部

### getDeterminant

    public double[] getDeterminant(double[][] aRe,
                                   double[][] aIm,
                                   double tolerance)

  行列式を返します。

  パラメータ:
    `aRe` - 複素行列の実部
    `aIm` - 複素行列の虚部
    `tolerance` - 許容誤差
  戻り値:
    行列式(第1成分に実部,第2成分に虚部)

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド