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

## org.mklab.nfc.leq
クラス LUDecomposer<E extends NumericalScalar<E>>

    java.lang.Object
      org.mklab.nfc.leq.LUDecomposer<E>

型パラメータ:
  `E` - 成分の型

    public final class LUDecomposer<E extends NumericalScalar<E>>

extends Object

数値行列のLU分解(P*A=L*U)を求めるためのクラスです。

バージョン:
  $Revision: 1.5 $
作成者:
  koga

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

メソッドの概要
`LUDecompostionElements<E>` | `decompose(E[][] a, NumericalScalar<?> tolerance)` 数値行列のLU分解を返します。
`LUDecompostionElements<E>` | `decomposeWithPermutation(E[][] a, NumericalScalar<?> tolerance)` 数値行列の並べ替え付きLU分解を返します。
`E` | `getDeterminant(E[][] a, NumericalScalar<?> tolerance)` 行列式を返します。
`E[][]` | `inverse(E[][] a, NumericalScalar<?> tolerance)` 逆行列を返します。
`E[][]` | `leftDivide(E[][] a, E[][] b, NumericalScalar<?> tolerance)` 左行列で右行列を割った結果を返します。
`E[]` | `solveLinearEquation(E[][] a, E[] b, NumericalScalar<?> tolerance)` 線形方程式の解を返します。

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

コンストラクタの詳細

### LUDecomposer

    public LUDecomposer()

メソッドの詳細

### decompose

    public LUDecompostionElements<E> decompose(E[][] a,
                                               NumericalScalar<?> tolerance)

  数値行列のLU分解を返します。

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

  > A = Q * H * Q#

  > Q# * Q = I

  の関係が成り立ちます。

  パラメータ:
    `a` - 数値行列
    `tolerance` - 許容誤差
  戻り値:
    {L, U}

### decomposeWithPermutation

    public LUDecompostionElements<E> decomposeWithPermutation(E[][] a,
                                                              NumericalScalar<?> tolerance)

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

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

  > P * A = Q * H * Q#

  > Q# * Q = I

  の関係が成り立ちます。

  パラメータ:
    `a` - 数値行列
    `tolerance` - 許容誤差
  戻り値:
    {L, U, P}

### solveLinearEquation

    public E[] solveLinearEquation(E[][] a,
                                   E[] b,
                                   NumericalScalar<?> tolerance)

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

  Aを行列、bをベクトルをとするとき、

  > A*x = b

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

  パラメータ:
    `a` - 行列
    `b` - 右辺ベクトル
    `tolerance` - 許容誤差
  戻り値:
    解

### inverse

    public E[][] inverse(E[][] a,
                         NumericalScalar<?> tolerance)

  逆行列を返します。

  パラメータ:
    `a` - 対象となる行列
    `tolerance` - 許容誤差
  戻り値:
    逆行列

### leftDivide

    public E[][] leftDivide(E[][] a,
                            E[][] b,
                            NumericalScalar<?> tolerance)

  左行列で右行列を割った結果を返します。

  パラメータ:
    `a` - 左行列
    `b` - 右行列
    `tolerance` - 許容誤差
  戻り値:
    割り算の結果

### getDeterminant

    public E getDeterminant(E[][] a,
                            NumericalScalar<?> tolerance)

  行列式を返します。

  パラメータ:
    `a` - 対象となる行列
    `tolerance` - 許容誤差
  戻り値:
    行列式

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