|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--jp.go.ipa.jgcl.JgclMatrix
実数を要素とする行列を表すクラス。
このクラスのインスタンスは、 行列の各要素の値を含む実数の二次元配列 elm[行][列] を持つ。
内部クラスの概要 | |
class |
JgclMatrix.LinearLeastSquareSolution
条件過剰 (未知数の数よりも方程式の数の方が多い) の連立一次方程式 AX = B に対する最小自乗解 X' を表す内部クラス |
class |
JgclMatrix.MatrixIsLUDecomposed
行列が既に LU 分解されていて、要素の値を変更することができないことを示す例外の内部クラス。 |
class |
JgclMatrix.MatrixIsNotSquare
行列が正方でないことを示す例外の内部クラス。 |
コンストラクタの概要 | |
JgclMatrix(double[][] values)
実数の二次元配列を与えてオブジェクトを構築する。 |
|
JgclMatrix(int r,
int c)
指定された行数/列数を持つオブジェクトを構築する。 |
メソッドの概要 | |
JgclMatrix |
add(JgclMatrix mate)
この行列と他の行列の「和」を表す行列を返す。 |
java.lang.Object |
clone()
この行列の複製を返す。 |
JgclMatrix |
copy()
この行列の複製を返す。 |
double |
determinant()
この行列の行列式の値を返す。 |
int |
getColumnSize()
この行列の列数を返す。 |
double |
getElementAt(int i,
int j)
この行列の指定の行/列の要素の値を返す。 |
int |
getRowSize()
この行列の行数を返す。 |
static void |
main(java.lang.String[] argv)
デバッグ用メインプログラム。 |
JgclMatrix |
makeLUDecomposition()
この行列 (N x N 正方行列) を LU 分解した結果を返す。 |
JgclMatrix |
multiply(JgclMatrix mate)
この行列と他の行列の「積」を表す行列を返す。 |
void |
setElementAt(int i,
int j,
double value)
与えられた値を、この行列の指定の行/列の要素に設定する。 |
void |
setElementsAt(int i,
double[] value)
与えられた一次元配列の各要素の値を、この行列の指定の行の各要素に設定する。 |
JgclMatrix.LinearLeastSquareSolution |
solveLinearLeastSquare(double[] rightHandValues)
この行列を左辺の一次式の係数 (A) とする 条件過剰 (未知数の数よりも方程式の数の方が多い) の連立一次方程式 AX = B に対する最小自乗解 X' を求める。 |
JgclMatrix.LinearLeastSquareSolution |
solveLinearLeastSquare2(double[] rightHandValues)
この行列を左辺の一次式の係数 (A) とする 条件過剰 (未知数の数よりも方程式の数の方が多い) の連立一次方程式 AX = B に対する最小自乗解 X' を求める (タイプ 2) 。 |
double[] |
solveSimultaneousLinearEquations(double[] rightHandValues)
この行列を左辺の一次式の係数 (A) とする連立一次方程式 AX = B を解く。 |
JgclMatrix |
subtract(JgclMatrix mate)
この行列と他の行列の「差」を表す行列を返す。 |
クラス java.lang.Object から継承したメソッド |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
public JgclMatrix(int r, int c)
すべての要素の値は 0.0 に初期化される。
r
- 行数c
- 列数public JgclMatrix(double[][] values)
values
- 行列の各要素の値を含む二次元配列メソッドの詳細 |
public int getRowSize()
public int getColumnSize()
public void setElementsAt(int i, double[] value)
elm[i][j] に value[j] を代入する。
i
- 行の番号 (0 ベース)value
- 要素の値を含む一次元配列JgclMatrix.MatrixIsLUDecomposed
- 行列は LU 分解されているので変更できないpublic void setElementAt(int i, int j, double value)
elm[i][j] に value を代入する。
i
- 行の番号 (0 ベース)j
- 列の番号 (0 ベース)value
- 要素の値JgclMatrix.MatrixIsLUDecomposed
- 行列は LU 分解されているので変更できないpublic double getElementAt(int i, int j)
elm[i][j] の値を返す。
i
- 行の番号 (0 ベース)j
- 列の番号 (0 ベース)public JgclMatrix copy()
public java.lang.Object clone()
java.lang.Object
内の clone
public JgclMatrix add(JgclMatrix mate)
this と mate の行数と列数はそれぞれ等しくなければならない。 this と mate の行数あるいは列数が異なる場合には JgclInvalidArgumentValue の例外を発生する。
mate
- 和を取る相手の行列JgclInvalidArgumentValue
public JgclMatrix subtract(JgclMatrix mate)
this と mate の行数と列数はそれぞれ等しくなければならない。 this と mate の行数あるいは列数が異なる場合には JgclInvalidArgumentValue の例外を発生する。
mate
- 差を取る相手の行列JgclInvalidArgumentValue
public JgclMatrix multiply(JgclMatrix mate)
結果として得られる行列の 行数は this の行数に等しく、 列数は mate の列数に等しい。
this の列数と mate の行数は等しくなければならない。 this と列数と mate の行数が異なる場合には JgclInvalidArgumentValue の例外を発生する。
mate
- 積を取る相手の行列JgclInvalidArgumentValue
public double determinant()
この行列が正方行列でない場合には、 MatrixIsNotSquare の例外を発生する。
public JgclMatrix makeLUDecomposition()
処理中に this の対角要素に 1.0e-8 よりも小さい値を持つものが見つかった場合には、null を返す。 この 1.0e-8 という値は、 現在はこのクラスの内部で定数として設定されており、 このクラスのソースプログラムを編集しない限り、変更することはできない。
this が既に LU 分解されたものである場合は、this を返す。
this が正方行列でない場合には、 MatrixIsNotSquare の例外を投げる。
public double[] solveSimultaneousLinearEquations(double[] rightHandValues)
方程式の右辺 (B) は引数として与えられ、解 X を返す。
this (A) は正方行列でなければならない。
this が正方行列でなかったり、逆行列を持たない場合には null を返す
rightHandValues
- 連立方程式の右辺 (B)public JgclMatrix.LinearLeastSquareSolution solveLinearLeastSquare(double[] rightHandValues)
この行列の列数と rightHandValues の要素数が一致しなければ、 JgclInvalidArgumentValue の例外を発生する。
rightHandValues
- 連立方程式の右辺 (B)JgclInvalidArgumentValue
,
solveLinearLeastSquare2(double[])
public JgclMatrix.LinearLeastSquareSolution solveLinearLeastSquare2(double[] rightHandValues)
この行列の列数と rightHandValues の要素数が一致しなければ、 JgclInvalidArgumentValue の例外を発生する。
このメソッドは、基本的には
solveLinearLeastSquare(double[])
と同様の処理を行なうが、行列 A の内容に以下の制限を付けることで、
処理を高速にしたバージョンである。
rightHandValues
- 連立方程式の右辺 (B)JgclInvalidArgumentValue
,
solveLinearLeastSquare(double[])
public static void main(java.lang.String[] argv)
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |