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

## org.mklab.nfc.svd
クラス RealSingularValueDecomposer<E extends NumericalScalar<E>>

    java.lang.Object
      org.mklab.nfc.svd.RealSingularValueDecomposer<E>

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

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

extends Object

実行列の特異値分解を行うためのクラスです。

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

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

メソッドの概要
`E` | `conditionNumber(E[][] a)` 実行列の条件数を返します。
`boolean` | `isFullRank(E[][] a, NumericalScalar<?> tolerance)` 実行列がフルランクであるか判定します。
`boolean` | `isSingular(E[][] a, NumericalScalar<?> tolerance)` 実行列が非正則であるか判定します。
`E[][]` | `kernel(E[][] a, NumericalScalar<?> tolerance)` 実行列のカーネル(零空間)を張るベクトルからなる行列を返します。
`E[][]` | `leastSquare(E[][] a, E[][] b, NumericalScalar<?> tolerance)` 線形方程式の最小二乗解を返します。
`E` | `maximumSingularValue(E[][] a)` 実行列の最大特異値を返します。
`E` | `minimumSingularValue(E[][] a)` 実行列の最小特異値を返します。
`E` | `norm(E[][] a)` 実行列の最大特異値(2-ノルム)を返します。
`E[][]` | `pseudoInverse(E[][] a, NumericalScalar<?> tolerance)` 実行列の擬似逆行列を返します。
`int` | `rank(E[][] a, NumericalScalar<?> tolerance)` 実行列のランク(階数)を返します。
`E[]` | `singularValue(E[][] a)` 実行列の特異値を返します。
`SingularValueDecompositionElements<E>` | `singularValueDecompose(E[][] a)` 実行列の特異値分解を返します。

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

コンストラクタの詳細

### RealSingularValueDecomposer

    public RealSingularValueDecomposer()

メソッドの詳細

### singularValueDecompose

    public SingularValueDecompositionElements<E> singularValueDecompose(E[][] a)

  実行列の特異値分解を返します。

  対象となる行列をA、特異値を対角成分とする対角行列を D、左特異ベクトルからなる直交行列をU、右特異ベクトルからなる直交行列をVとすると、

  > A = U * D * V T

  の関係が成り立ちます。

  パラメータ:
    `a` - 対象となる行列
  戻り値:
    U, D, V

### singularValue

    public E[] singularValue(E[][] a)

  実行列の特異値を返します。

  パラメータ:
    `a` - 対象となる行列
  戻り値:
    特異値を成分とする配列

### maximumSingularValue

    public E maximumSingularValue(E[][] a)

  実行列の最大特異値を返します。

  パラメータ:
    `a` - 対象となる行列
  戻り値:
    最大特異値

### minimumSingularValue

    public E minimumSingularValue(E[][] a)

  実行列の最小特異値を返します。

  パラメータ:
    `a` - 対象となる行列
  戻り値:
    最小特異値

### isSingular

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

  実行列が非正則であるか判定します。

  パラメータ:
    `a` - 非正則性を調べる行列
    `tolerance` - 許容誤差
  戻り値:
    非正則ならばtrue、そうでなければfalse

### rank

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

  実行列のランク(階数)を返します。

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

### isFullRank

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

  実行列がフルランクであるか判定します。

  パラメータ:
    `a` - 対象となる行列
    `tolerance` - 許容誤差
  戻り値:
    フルランクならばtrue、そうでなければfalse

### pseudoInverse

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

  実行列の擬似逆行列を返します。

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

### leastSquare

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

  線形方程式の最小二乗解を返します。

  aで表される実行列をA, bで表される実行列をBとすとき、

  > A * X = B

  の解即ち

  > X = A-1 * B

  を返します。

  パラメータ:
    `a` - 行列
    `b` - 行列
    `tolerance` - 許容誤差
  戻り値:
    線形方程式の解

### kernel

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

  実行列のカーネル(零空間)を張るベクトルからなる行列を返します。

  許容誤差より小さい特異値をゼロと見なします。

  パラメータ:
    `a` - 行列
    `tolerance` - 許容誤差
  戻り値:
    カーネル

### norm

    public E norm(E[][] a)

  実行列の最大特異値(2-ノルム)を返します。

  パラメータ:
    `a` - 対象となる行列
  戻り値:
    最大特異値(2-ノルム)

### conditionNumber

    public E conditionNumber(E[][] a)

  実行列の条件数を返します。

  パラメータ:
    `a` - 対象となる行列
  戻り値:
    条件数

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