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