|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
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 内の clonepublic JgclMatrix add(JgclMatrix mate)
this と mate の行数と列数はそれぞれ等しくなければならない。 this と mate の行数あるいは列数が異なる場合には JgclInvalidArgumentValue の例外を発生する。
mate - 和を取る相手の行列JgclInvalidArgumentValuepublic JgclMatrix subtract(JgclMatrix mate)
this と mate の行数と列数はそれぞれ等しくなければならない。 this と mate の行数あるいは列数が異なる場合には JgclInvalidArgumentValue の例外を発生する。
mate - 差を取る相手の行列JgclInvalidArgumentValuepublic JgclMatrix multiply(JgclMatrix mate)
結果として得られる行列の 行数は this の行数に等しく、 列数は mate の列数に等しい。
this の列数と mate の行数は等しくなければならない。 this と列数と mate の行数が異なる場合には JgclInvalidArgumentValue の例外を発生する。
mate - 積を取る相手の行列JgclInvalidArgumentValuepublic 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)
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||