|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectorg.mklab.nfc.svd.DoubleRealSingularValueDecomposer
public final class DoubleRealSingularValueDecomposer
倍精度(double)型の実行列の特異値分解を行うためのクラスです。
コンストラクタの概要 | |
---|---|
DoubleRealSingularValueDecomposer()
|
メソッドの概要 | |
---|---|
double |
conditionNumber(double[][] a)
実行列の条件数を返します。 |
boolean |
isFullRank(double[][] a,
double tolerance)
実行列がフルランクであるか判定します。 |
boolean |
isSingular(double[][] a,
double tolerance)
実行列が非正則であるか判定します。 |
double[][] |
kernel(double[][] a,
double tolerance)
複素行列のカーネル(零空間)を張るベクトルからなる行列を返します。 |
double[][] |
leastSquare(double[][] a,
double[][] b,
double tolerance)
線形方程式の最小二乗解を返します。 |
double |
maximumSingularValue(double[][] a)
実行列の最大特異値を返します。 |
double |
minimumSingularValue(double[][] a)
実行列の最小特異値を返します。 |
double |
norm(double[][] a)
実行列の最大特異値(2-ノルム)を返します。 |
double[][] |
pseudoInverse(double[][] a,
double tolerance)
実行列の擬似逆行列を返します。 |
int |
rank(double[][] a,
double tolerance)
実行列のランク(階数)を返します。 |
double[] |
singularValue(double[][] a)
実行列の特異値を返します。 |
SingularValueDecompositionDoubleRealElements |
singularValueDecompose(double[][] a)
実行列の特異値分解を返します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public DoubleRealSingularValueDecomposer()
メソッドの詳細 |
---|
public SingularValueDecompositionDoubleRealElements singularValueDecompose(double[][] a)
対象となる行列をA、特異値を対角成分とする対角行列を D、左特異ベクトルからなる直交行列をU、右特異ベクトルからなる直交行列をVとすると、
A = U * D * V Tの関係が成り立ちます。
a
- 対象となる行列
public double[] singularValue(double[][] a)
a
- 対象となる行列
public double maximumSingularValue(double[][] a)
a
- 対象となる行列
public double minimumSingularValue(double[][] a)
a
- 対象となる行列
public boolean isSingular(double[][] a, double tolerance)
a
- 非正則性を調べる行列tolerance
- 許容誤差
public int rank(double[][] a, double tolerance)
a
- 対象となる行列tolerance
- 許容誤差
public boolean isFullRank(double[][] a, double tolerance)
a
- 対象となる行列tolerance
- 許容誤差
public double[][] pseudoInverse(double[][] a, double tolerance)
a
- 対象となる行列tolerance
- 許容誤差
public double[][] leastSquare(double[][] a, double[][] b, double tolerance)
aで表される複素行列をA, bで表される複素行列をBとすとき、
A * X = Bの解即ち
X = A-1 * Bを返します。
a
- 行列b
- 行列tolerance
- 許容誤差
public double[][] kernel(double[][] a, double tolerance)
a
- 行列tolerance
- 許容誤差
public double norm(double[][] a)
a
- 対象となる行列
public double conditionNumber(double[][] a)
a
- 対象となる行列
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |