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

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

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

型パラメータ:
  `E` - 複素成分の実部と虚部の型

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

extends Object

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

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

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

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

コンストラクタの詳細

### ComplexSingularValueDecomposer

    public ComplexSingularValueDecomposer()

メソッドの詳細

### singularValueDecompose

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

  複素行列を特異値分解を返します。

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

  > A = U * D * V #

  の関係が成り立ちます。

  パラメータ:
    `a` - 複素行列
  戻り値:
    {U, D V}

### singularValue

    public E[] singularValue(ComplexScalar<E>[][] a)

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

  パラメータ:
    `a` - 複素行列
  戻り値:
    特異値

### maximumSingularValue

    public E maximumSingularValue(ComplexScalar<E>[][] a)

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

  パラメータ:
    `a` - 複素行列
  戻り値:
    最大特異値

### minimumSingularValue

    public E minimumSingularValue(ComplexScalar<E>[][] a)

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

  パラメータ:
    `a` - 複素行列の実部
  戻り値:
    最小特異値

### isSingular

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

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

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

### rank

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

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

  パラメータ:
    `a` - 複素行列
    `tolerance` - 許容誤差
  戻り値:
    ランク

### isFullRank

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

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

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

### pseudoInverse

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

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

  パラメータ:
    `a` - 複素行列
    `tolerance` - 許容誤差
  戻り値:
    擬似逆行列

### leastSquare

    public ComplexScalar<E>[][] leastSquare(ComplexScalar<E>[][] a,
                                            ComplexScalar<E>[][] b,
                                            E toleance)

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

  複素行列をA、複素行列をBとすとき、

  > A * X = B

  の解すなわち

  > X = A-1 * B

  を返します。

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

### kernel

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

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

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

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

### norm

    public E norm(ComplexScalar<E>[][] a)

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

  パラメータ:
    `a` - 複素行列
  戻り値:
    最大特異値

### conditionNumber

    public E conditionNumber(ComplexScalar<E>[][] a)

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

  パラメータ:
    `a` - 複素行列
  戻り値:
    条件数

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