|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectfigure.AbstractMatrix
figure.SparseMatrix
figure.matrix.SparseMatrixSolver
public class SparseMatrixSolver
連立方程式の解を求めるための疎行列クラス
入れ子のクラスの概要 |
---|
クラス figure.SparseMatrix から継承された入れ子のクラス/インタフェース |
---|
SparseMatrix.Data, SparseMatrix.RowData |
フィールドの概要 |
---|
クラス figure.SparseMatrix から継承されたフィールド |
---|
columnCount, rowCount, rowdata |
クラス figure.AbstractMatrix から継承されたフィールド |
---|
dataMax, TOLERANCE |
コンストラクタの概要 | |
---|---|
SparseMatrixSolver(int size)
正方行列を構築する |
メソッドの概要 | |
---|---|
MatrixSolver |
extruct(int size,
int[] rows,
int[] columns)
指定した行・列を取り出した行列を返す |
Matrix |
extructRowColumn(int size,
int[] rows,
int[] columns)
指定した行・列を取り出した行列を返す |
Matrix |
getILU(double tolerance)
不完全 LU 分解をする |
Matrix |
getLU(double tolerance)
LU 分解をする |
MatrixSolver |
inverse()
逆行列を求める |
static MatrixSolver |
inverse(SparseMatrix lu,
double tolerance)
LU 分解法で逆行列を求める |
Vector |
solve(Vector p,
MatrixSolveMethod method)
連立方程式の解を求める |
Vector |
solveByCG(Vector p,
double tolerance)
共役勾配法で連立方程式の解を求める |
Vector |
solveByCG(Vector p,
double tolerance,
int iterMax)
共役勾配法で連立方程式の解を求める |
Vector |
solveByGauss(Vector p,
double tolerance)
ガウス消去法で連立方程式の解を求める |
Vector |
solveByGaussJordan(Vector p,
double tolerance)
Gauss - Jordan 法で連立方程式の解を求める |
Vector |
solveByILUCG(SparseMatrix lu,
Vector p,
double tolerance,
int iterMax)
不完全 LU 分解共役勾配法で連立方程式の解を求める |
Vector |
solveByILUCG(Vector p,
double tolerance)
不完全 LU 分解共役勾配法で連立方程式の解を求める |
Vector |
solveByILUCG(Vector p,
double tolerance,
int iterMax)
不完全 LU 分解共役勾配法で連立方程式の解を求める |
static Vector |
solveByLU(SparseMatrix lu,
Vector p,
double tolerance)
LU 分解法で連立方程式の解を求める |
Vector |
solveByLU(Vector p,
double tolerance)
LU 分解法で連立方程式の解を求める |
Vector |
solveByLUNoPreserv(Vector p,
double tolerance)
LU 分解法で連立方程式の解を求める 元の行列は保持しない |
Vector |
solveBySOR(Vector p,
double tolerance,
int iterMax,
double relax)
SOR 法で連立方程式の解を求める |
クラス figure.SparseMatrix から継承されたメソッド |
---|
add, add, clone, columnCount, columnCount, eliminateRowColumn, get, getData, getDiagonal, getDiagonalColumn, getNonZeroCount, getRowData, init, mul, mul, mul, rowCount, set, setRowData, transposition, unitMatrix |
クラス figure.AbstractMatrix から継承されたメソッド |
---|
checkRange, determinant, equals, getColumnVector, getColumnVectors, getRowVector, getRowVectors, hashCode, isSymmetry, toString, toStrings, trace |
クラス java.lang.Object から継承されたメソッド |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
インタフェース figure.Matrix から継承されたメソッド |
---|
add, add, clone, columnCount, determinant, eliminateRowColumn, get, getColumnVector, getColumnVectors, getRowVector, getRowVectors, init, isSymmetry, mul, rowCount, set, toStrings, trace, transposition |
コンストラクタの詳細 |
---|
public SparseMatrixSolver(int size)
size
- 行列の大きさメソッドの詳細 |
---|
public Matrix extructRowColumn(int size, int[] rows, int[] columns)
Matrix
内の extructRowColumn
SparseMatrix
内の extructRowColumn
size
- 正方行列の大きさrows
- 行のインデックスを格納した配列columns
- 列のインデックスを格納した配列
public MatrixSolver extruct(int size, int[] rows, int[] columns)
MatrixSolver
内の extruct
size
- 正方行列の大きさrows
- 行のインデックスを格納した配列columns
- 列のインデックスを格納した配列
public Vector solve(Vector p, MatrixSolveMethod method) throws MatrixSolveException
MatrixSolver
内の solve
p
- ベクトル pmethod
- 行列解法
MatrixSolveException
- 連立方程式の解が求まらないときpublic Vector solveByGauss(Vector p, double tolerance) throws MatrixSolveException
MatrixSolver
内の solveByGauss
p
- ベクトル ptolerance
- 閾値
MatrixSolveException
- 連立方程式の解が求まらないときpublic Vector solveByGaussJordan(Vector p, double tolerance) throws MatrixSolveException
MatrixSolver
内の solveByGaussJordan
p
- ベクトル ptolerance
- 閾値
MatrixSolveException
- 連立方程式の解が求まらないときpublic Matrix getLU(double tolerance) throws MatrixSolveException
MatrixSolver
内の getLU
tolerance
- 閾値
MatrixSolveException
- LU 分解ができないときpublic static Vector solveByLU(SparseMatrix lu, Vector p, double tolerance) throws MatrixSolveException
lu
- LU 分解された行列p
- ベクトル ptolerance
- 閾値
MatrixSolveException
- 連立方程式の解が求まらないときpublic Vector solveByLU(Vector p, double tolerance) throws MatrixSolveException
MatrixSolver
内の solveByLU
p
- ベクトル ptolerance
- 閾値
MatrixSolveException
- 連立方程式の解が求まらないときpublic Vector solveByLUNoPreserv(Vector p, double tolerance) throws MatrixSolveException
p
- ベクトル ptolerance
- 閾値
MatrixSolveException
- 連立方程式の解が求まらないときpublic Vector solveBySOR(Vector p, double tolerance, int iterMax, double relax) throws MatrixSolveException
MatrixSolver
内の solveBySOR
p
- ベクトル ptolerance
- 閾値iterMax
- 反復回数の上限relax
- 緩和係数
MatrixSolveException
- 連立方程式の解が求まらないときpublic Vector solveByCG(Vector p, double tolerance) throws MatrixSolveException
MatrixSolver
内の solveByCG
p
- ベクトル ptolerance
- 閾値
MatrixSolveException
- 連立方程式の解が求まらないときpublic Vector solveByCG(Vector p, double tolerance, int iterMax) throws MatrixSolveException
MatrixSolver
内の solveByCG
p
- ベクトル ptolerance
- 閾値iterMax
- 反復回数の上限
MatrixSolveException
- 連立方程式の解が求まらないときpublic Vector solveByILUCG(Vector p, double tolerance) throws MatrixSolveException
MatrixSolver
内の solveByILUCG
p
- ベクトル ptolerance
- 閾値
MatrixSolveException
- 連立方程式の解が求まらないときpublic Vector solveByILUCG(Vector p, double tolerance, int iterMax) throws MatrixSolveException
MatrixSolver
内の solveByILUCG
p
- ベクトル ptolerance
- 閾値iterMax
- 反復回数の上限
MatrixSolveException
- 連立方程式の解が求まらないときpublic Vector solveByILUCG(SparseMatrix lu, Vector p, double tolerance, int iterMax) throws MatrixSolveException
lu
- 不完全 LU 分解された行列p
- ベクトル ptolerance
- 閾値iterMax
- 反復回数の上限
MatrixSolveException
- 連立方程式の解が求まらないときpublic Matrix getILU(double tolerance) throws MatrixSolveException
tolerance
- 閾値
MatrixSolveException
- 不完全 LU 分解ができないときpublic MatrixSolver inverse() throws MatrixSolveException
MatrixSolver
内の inverse
MatrixSolveException
- 逆行列が求まらないときpublic static MatrixSolver inverse(SparseMatrix lu, double tolerance) throws MatrixSolveException
lu
- LU 分解された行列tolerance
- 閾値
MatrixSolveException
- 逆行列が求まらないとき
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |