org.mklab.nfc.matrix
クラス PolynomialMatrix

java.lang.Object
  上位を拡張 org.mklab.nfc.matrix.AbstractGrid<M>
      上位を拡張 org.mklab.nfc.matrix.AbstractFundamentalMatrix<M>
          上位を拡張 org.mklab.nfc.matrix.AbstractMatrix<M>
              上位を拡張 org.mklab.nfc.matrix.BaseMatrix<M,E>
                  上位を拡張 org.mklab.nfc.matrix.SymbolicMatrix<PolynomialMatrix,Polynomial>
                      上位を拡張 org.mklab.nfc.matrix.PolynomialMatrix
すべての実装されたインタフェース:
Serializable, Cloneable, FundamentalMatrix, Grid, Matrix, MatrixElementOperator<Polynomial>, MatrixElementWiseOperator, SymbolicMatrixOperator<Polynomial>, TransformableMatrix<BaseMatrix<?,?>>, MatxObject
直系の既知のサブクラス:
MatxPolynomialArray

public class PolynomialMatrix
extends SymbolicMatrix<PolynomialMatrix,Polynomial>
implements MatxObject

多項式(Polynomial)を成分とする行列を表わすクラスです。

バージョン:
$Revision: 1.144 $
作成者:
Koga Laboratory
関連項目:
直列化された形式

コンストラクタの概要
PolynomialMatrix()
          0*0の多項式行列を作成します。
PolynomialMatrix(BaseMatrix<?,?> matrix)
          コンストラクター
PolynomialMatrix(DoubleMatrix matrix)
          コンストラクター
PolynomialMatrix(int rowSize, int columnSize)
          rowSize * columnSize の多項式行列を生成します。
PolynomialMatrix(int rowSize, int columnSize, Scalar<?>[][] elements)
          elementsで与えられた成分をもつ rowSize * colSize の 多項式行列を作成します。
PolynomialMatrix(int rowSize, int columnSize, String variableName)
          rowSize * columnSize の 多項式行列を生成します。
PolynomialMatrix(IntMatrix matrix)
          コンストラクター
PolynomialMatrix(Scalar<?>[] elements)
          elementsで与えられた横ベクトルを生成します。
PolynomialMatrix(Scalar<?>[][] elements)
          elementsで与えられた成分をもつ多項式行列を生成します。
 
メソッドの概要
static PolynomialMatrix diagonal(Polynomial[] diagonalElements)
          対角行列を生成します。
protected  String getGridClassName()
          出力するクラスの名前を返します。
 int hashCode()
          Override hashCode.
 PolynomialMatrix integral()
          各成分の1階不定積分を返します。
 PolynomialMatrix integral(int order)
          各成分の不定積分を返します。
 boolean isTransformableFrom(Matrix value)
          引数で与えられた型から、この型へ変換可能か判定します。
static PolynomialMatrix ones(int size)
          全成分1の行列を生成します。
static PolynomialMatrix ones(int rowSize, int columnSize)
          全成分1の行列を生成します。
static PolynomialMatrix ones(int rowSize, int columnSize, String variableName)
          全成分1の行列を生成します。
static PolynomialMatrix ones(int size, String variableName)
          全成分1の行列を生成します。
static PolynomialMatrix powerElementWise(Polynomial scalar, IntMatrix matrix)
          1個の多項式について、行列の各成分の累乗を求めます。
static PolynomialMatrix powerElementWise(Polynomial scalar, Matrix matrix)
          1個の多項式について、行列の各成分の累乗を求めます。
static PolynomialMatrix readMxFormat(InputStream input, MxDataHead head)
          MatxMatrix.readMxFormat(InputStream) から呼ばれる中間メソッドです。
 String toMmString()
          MM形式の文字列を生成します。
 String toMmString(String format)
          MM形式の文字列を生成します。
 Matrix transformFrom(Matrix value)
          引数で与えられた型からこの型へ変換します。
static PolynomialMatrix unit(int size)
          単位行列を生成します。
static PolynomialMatrix unit(int rowSize, int columnSize)
          単位行列を生成します。
static PolynomialMatrix unit(int rowSize, int columnSize, String variableName)
          単位行列を生成します。
static PolynomialMatrix unit(int size, String variableName)
          単位行列を生成します。
 void writeMmFormat(String fileName, String name)
          MMファイル形式で行列データをファイルに出力します。
 void writeMmFormat(Writer output, String name, boolean withStatementSeparator)
          MMフォーマット行列データをライターに出力します。
 void writeMxFormat(OutputStream output, String name)
          データをMX形式で出力ストリームへ出力します。
 void writeMxFormat(String fileName, String name)
          データをMX形式でファイルへ出力します。
 
クラス org.mklab.nfc.matrix.SymbolicMatrix から継承されたメソッド
derivative, derivative, evaluate, evaluate, evaluate, evaluate, evaluate, evaluateElementWise, setVariable, shiftHigher, shiftHigher, shiftLower, shiftLower
 
クラス org.mklab.nfc.matrix.BaseMatrix から継承されたメソッド
add, add, addElementWise, addElementWise, addElementWise, appendDown, appendDown, appendRight, appendRight, ceilElementWise, clone, compareElementWise, compareElementWise, compareElementWise, compareElementWise, compareElementWise, compareElementWise, compareElementWise, conjugate, conjugateTranspose, copy, copy, copy, copy, covariance, covariance, createOnes, createUnit, createZero, cumulativeProduct, cumulativeProductColumnWise, cumulativeProductRowWise, cumulativeSum, cumulativeSumColumnWise, cumulativeSumRowWise, determinant, diagonal, diagonalToVector, divide, divide, divide, divide, divide, divideElementWise, divideElementWise, equals, equals, equals, exchangeColumn, exchangeRow, fixElementWise, floorElementWise, getElement, getElement, getElements, getImaginaryPart, getRealPart, getSubMatrix, getSubMatrix, getSubMatrix, getSubMatrix, getSubVector, inverse, inverse, inverseElementWise, isComplex, isFiniteElementWise, isInfiniteElementWise, isNanElementWise, isReal, isTransformableTo, isUnit, isZero, isZero, leftDivide, leftDivide, leftDivideElementWise, leftDivideElementWise, mean, meanColumnWise, meanRowWise, multiply, multiply, multiply, multiply, multiply, multiplyElementWise, multiplyElementWise, powerElementWise, powerElementWise, printElements, printElements, product, productColumnWise, productRowWise, removeColumnVectors, removeColumnVectors, removeRowVectors, removeRowVectors, reshape, resize, roundElementWise, roundToZeroElementWise, setElement, setElement, setElement, setElement, setElement, setElement, setElements, setImaginaryPart, setImaginaryPart, setImaginaryPart, setImaginaryPart, setRealPart, setRealPart, setRealPart, setRealPart, setSubMatrix, setSubMatrix, setSubMatrix, setSubMatrix, setSubVector, setSubVector, subtract, subtract, subtractElementWise, subtractElementWise, subtractElementWise, sum, sumColumnWise, sumRowWise, toComplex, trace, transformTo, transpose, unaryMinus, variance, vectorToDiagonal
 
クラス org.mklab.nfc.matrix.AbstractMatrix から継承されたメソッド
add, covariance, createOnes, createOnes, createOnes, createUnit, createUnit, createUnit, createZero, createZero, createZero, divide, divideElementWise, isUnit, leftDivide, leftDivide, leftDivide, leftDivide, leftDivideElementWise, multiply, multiplyElementWise, power, powerElementWise, roundToZeroElementWise, shiftLeft, shiftUp, subtract, transformToSameClass
 
クラス org.mklab.nfc.matrix.AbstractFundamentalMatrix から継承されたメソッド
appendDown, appendRight, flipLeftRight, flipUpDown, getColumnVector, getColumnVectors, getColumnVectors, getRowVector, getRowVectors, getRowVectors, getSubMatrix, getSubMatrix, getSubMatrix, getSubVector, getSubVector, rotateLeft, rotateUp, setColumnVector, setColumnVectors, setColumnVectors, setRowVector, setRowVectors, setRowVectors, setSubMatrix, setSubMatrix, setSubMatrix, setSubVector
 
クラス org.mklab.nfc.matrix.AbstractGrid から継承されたメソッド
count, getColumnSize, getDefaultElementAlignment, getDefaultElementFormat, getElementAlignment, getElementFormat, getPrintingElementsString, getPrintingString, getRowSize, hasSameColumnSize, hasSameRowSize, isEmpty, isSameSize, isSquare, length, print, print, print, removeColumnVector, removeRowVector, setColumnSize, setDefaultElementAlignment, setDefaultElementFormat, setElementAlignment, setElementFormat, setRowSize, toString
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 
インタフェース org.mklab.nfc.matrix.Matrix から継承されたメソッド
add, conjugate, conjugateTranspose, covariance, createOnes, createOnes, createOnes, createOnes, createUnit, createUnit, createUnit, createUnit, createZero, createZero, createZero, createZero, cumulativeProduct, cumulativeProductColumnWise, cumulativeProductRowWise, cumulativeSum, cumulativeSumColumnWise, cumulativeSumRowWise, divide, divide, divide, divide, getImaginaryPart, getRealPart, inverse, inverse, isComplex, isReal, isTransformableTo, isUnit, isUnit, isZero, leftDivide, leftDivide, leftDivide, leftDivide, meanColumnWise, meanRowWise, multiply, multiply, multiply, multiply, power, productColumnWise, productRowWise, setImaginaryPart, setImaginaryPart, setImaginaryPart, setImaginaryPart, setRealPart, setRealPart, setRealPart, setRealPart, shiftLeft, shiftUp, subtract, sumColumnWise, sumRowWise, toComplex, transformTo, unaryMinus
 
インタフェース org.mklab.nfc.matrix.FundamentalMatrix から継承されたメソッド
appendDown, appendRight, compareElementWise, copy, diagonalToVector, equals, flipLeftRight, flipUpDown, getColumnVector, getColumnVectors, getColumnVectors, getRowVector, getRowVectors, getRowVectors, getSubMatrix, getSubMatrix, getSubMatrix, getSubMatrix, getSubMatrix, getSubMatrix, getSubMatrix, getSubVector, getSubVector, getSubVector, reshape, resize, rotateLeft, rotateUp, setColumnVector, setColumnVectors, setColumnVectors, setRowVector, setRowVectors, setRowVectors, setSubMatrix, setSubMatrix, setSubMatrix, setSubMatrix, setSubMatrix, setSubMatrix, setSubMatrix, setSubVector, setSubVector, setSubVector, transpose, vectorToDiagonal
 
インタフェース org.mklab.nfc.matrix.Grid から継承されたメソッド
clone, count, exchangeColumn, exchangeRow, getColumnSize, getElementAlignment, getElementFormat, getPrintingElementsString, getPrintingString, getRowSize, hasSameColumnSize, hasSameRowSize, isEmpty, isSameSize, isSquare, isZero, length, print, print, print, printElements, printElements, removeColumnVector, removeColumnVectors, removeColumnVectors, removeRowVector, removeRowVectors, removeRowVectors, setElementAlignment, setElementFormat
 
インタフェース org.mklab.nfc.matrix.MatrixElementWiseOperator から継承されたメソッド
addElementWise, addElementWise, addElementWise, ceilElementWise, compareElementWise, compareElementWise, compareElementWise, divideElementWise, fixElementWise, floorElementWise, inverseElementWise, isFiniteElementWise, isInfiniteElementWise, isNanElementWise, leftDivideElementWise, multiplyElementWise, powerElementWise, powerElementWise, powerElementWise, roundElementWise, roundToZeroElementWise, roundToZeroElementWise, subtractElementWise, subtractElementWise, subtractElementWise
 
インタフェース org.mklab.nfc.matrix.MatrixElementOperator から継承されたメソッド
copy, copy, determinant, getElement, getElement, mean, product, setElement, setElement, setElement, setElement, setElement, setElement, sum, trace, variance
 

コンストラクタの詳細

PolynomialMatrix

public PolynomialMatrix()
0*0の多項式行列を作成します。


PolynomialMatrix

public PolynomialMatrix(Scalar<?>[] elements)
elementsで与えられた横ベクトルを生成します。

パラメータ:
elements - ベクトルの成分をもつ配列

PolynomialMatrix

public PolynomialMatrix(int rowSize,
                        int columnSize)
rowSize * columnSize の多項式行列を生成します。

パラメータ:
rowSize - 行の数
columnSize - 列の数

PolynomialMatrix

public PolynomialMatrix(int rowSize,
                        int columnSize,
                        String variableName)
rowSize * columnSize の 多項式行列を生成します。

パラメータ:
rowSize - 行の数
columnSize - 列の数
variableName - 変数の名前

PolynomialMatrix

public PolynomialMatrix(Scalar<?>[][] elements)
elementsで与えられた成分をもつ多項式行列を生成します。

パラメータ:
elements - 行列の成分をもつ配列

PolynomialMatrix

public PolynomialMatrix(IntMatrix matrix)
コンストラクター

パラメータ:
matrix - 整数行列

PolynomialMatrix

public PolynomialMatrix(DoubleMatrix matrix)
コンストラクター

パラメータ:
matrix - 実数行列

PolynomialMatrix

public PolynomialMatrix(BaseMatrix<?,?> matrix)
コンストラクター

パラメータ:
matrix - 複素行列

PolynomialMatrix

public PolynomialMatrix(int rowSize,
                        int columnSize,
                        Scalar<?>[][] elements)
elementsで与えられた成分をもつ rowSize * colSize の 多項式行列を作成します。

パラメータ:
rowSize - 行の数
columnSize - 列の数
elements - 行列の成分をもつ配列
メソッドの詳細

isTransformableFrom

public boolean isTransformableFrom(Matrix value)
インタフェース Matrix の記述:
引数で与えられた型から、この型へ変換可能か判定します。

定義:
インタフェース Matrix 内の isTransformableFrom
オーバーライド:
クラス BaseMatrix<PolynomialMatrix,Polynomial> 内の isTransformableFrom
パラメータ:
value - 変換元
戻り値:
変換可能ならtrue、そうでなければfalse
関連項目:
Matrix.isTransformableFrom(org.mklab.nfc.matrix.Matrix)

transformFrom

public Matrix transformFrom(Matrix value)
インタフェース Matrix の記述:
引数で与えられた型からこの型へ変換します。

定義:
インタフェース Matrix 内の transformFrom
オーバーライド:
クラス BaseMatrix<PolynomialMatrix,Polynomial> 内の transformFrom
パラメータ:
value - 変換元
戻り値:
変換で生成された値
関連項目:
Matrix.transformFrom(org.mklab.nfc.matrix.Matrix)

unit

public static PolynomialMatrix unit(int size)
単位行列を生成します。

パラメータ:
size - 行列の大きさ
戻り値:
単位行列

unit

public static PolynomialMatrix unit(int size,
                                    String variableName)
単位行列を生成します。

パラメータ:
size - 行列の大きさ
variableName - 変数の名前
戻り値:
単位行列

unit

public static PolynomialMatrix unit(int rowSize,
                                    int columnSize)
単位行列を生成します。

パラメータ:
rowSize - 行の数
columnSize - 列の数
戻り値:
単位行列

unit

public static PolynomialMatrix unit(int rowSize,
                                    int columnSize,
                                    String variableName)
単位行列を生成します。

パラメータ:
rowSize - 行の数
columnSize - 列の数
variableName - 変数の名前
戻り値:
単位行列

ones

public static PolynomialMatrix ones(int size)
全成分1の行列を生成します。

パラメータ:
size - 行列の大きさ
戻り値:
全成分1の行列

ones

public static PolynomialMatrix ones(int size,
                                    String variableName)
全成分1の行列を生成します。

パラメータ:
size - 行列の大きさ
variableName - 変数の名前
戻り値:
全成分1の行列

ones

public static PolynomialMatrix ones(int rowSize,
                                    int columnSize)
全成分1の行列を生成します。

パラメータ:
rowSize - 行の数
columnSize - 列の数
戻り値:
全成分1の行列

ones

public static PolynomialMatrix ones(int rowSize,
                                    int columnSize,
                                    String variableName)
全成分1の行列を生成します。

パラメータ:
rowSize - 行の数
columnSize - 列の数
variableName - 変数の名前
戻り値:
全成分1の行列

integral

public PolynomialMatrix integral()
各成分の1階不定積分を返します。

戻り値:
多項式行列の1階不定積分

integral

public PolynomialMatrix integral(int order)
各成分の不定積分を返します。

パラメータ:
order - 階数
戻り値:
多項式行列の不定積分

writeMxFormat

public void writeMxFormat(OutputStream output,
                          String name)
                   throws IOException
インタフェース MatxObject の記述:
データをMX形式で出力ストリームへ出力します。 outputがcloseされるまで、いくつでも出力可能です。

定義:
インタフェース MatxObject 内の writeMxFormat
パラメータ:
output - 出力ストリーム
name - データの名前
例外:
IOException - 出力ストリームに出力できない場合
関連項目:
MatxObject.writeMxFormat(java.io.OutputStream, java.lang.String)

writeMxFormat

public void writeMxFormat(String fileName,
                          String name)
                   throws IOException
インタフェース MatxObject の記述:
データをMX形式でファイルへ出力します。

定義:
インタフェース MatxObject 内の writeMxFormat
パラメータ:
fileName - ファイル名
name - データの名前
例外:
IOException - ファイルに出力できない場合
関連項目:
MatxObject.writeMxFormat(java.lang.String, java.lang.String)

readMxFormat

public static PolynomialMatrix readMxFormat(InputStream input,
                                            MxDataHead head)
                                     throws IOException
MatxMatrix.readMxFormat(InputStream) から呼ばれる中間メソッドです。

このメソッドは直接使わず

MatrixA = Matrix. MatxMatrix.readMxFormat(String)
の形でMatrixMatxMatrix.readMxFormat(String)を使う

パラメータ:
input - 入力ストリーム
head - ヘッダー
戻り値:
mxファイルから読み込み,生成された行列
例外:
IOException - 入力ストリームから読み込めない場合

toMmString

public String toMmString()
インタフェース MatxObject の記述:
MM形式の文字列を生成します。

定義:
インタフェース MatxObject 内の toMmString
戻り値:
MM形式の文字列
関連項目:
MatxObject.toMmString()

toMmString

public String toMmString(String format)
インタフェース MatxObject の記述:
MM形式の文字列を生成します。

定義:
インタフェース MatxObject 内の toMmString
パラメータ:
format - 出力フォーマット
戻り値:
MM形式の文字列
関連項目:
MatxObject.toMmString(java.lang.String)

writeMmFormat

public void writeMmFormat(String fileName,
                          String name)
                   throws IOException
インタフェース MatxObject の記述:
MMファイル形式で行列データをファイルに出力します。

定義:
インタフェース MatxObject 内の writeMmFormat
パラメータ:
fileName - ファイル名
name - 名前
例外:
IOException - ファイルに出力できない場合
関連項目:
MatxObject.writeMmFormat(java.lang.String, java.lang.String)

writeMmFormat

public void writeMmFormat(Writer output,
                          String name,
                          boolean withStatementSeparator)
                   throws IOException
インタフェース MatxObject の記述:
MMフォーマット行列データをライターに出力します。

定義:
インタフェース MatxObject 内の writeMmFormat
パラメータ:
output - ライター
name - 名前
withStatementSeparator - セミコロンと改行コードを出力するならばtrue、そうでなければfalse
例外:
IOException - ライターに出力できない場合
関連項目:
MatxObject.writeMmFormat(java.io.Writer, java.lang.String, boolean)

getGridClassName

protected String getGridClassName()
クラス AbstractGrid の記述:
出力するクラスの名前を返します。

オーバーライド:
クラス AbstractGrid<PolynomialMatrix> 内の getGridClassName
戻り値:
出力するクラスの名前
関連項目:
AbstractGrid.getGridClassName()

powerElementWise

public static PolynomialMatrix powerElementWise(Polynomial scalar,
                                                Matrix matrix)
1個の多項式について、行列の各成分の累乗を求めます。

パラメータ:
scalar - 累乗の対象
matrix - 累乗の指数を成分とする行列
戻り値:
累乗の結果

powerElementWise

public static PolynomialMatrix powerElementWise(Polynomial scalar,
                                                IntMatrix matrix)
1個の多項式について、行列の各成分の累乗を求めます。

パラメータ:
scalar - 累乗の対象
matrix - 累乗の指数を成分とする行列
戻り値:
累乗の結果

diagonal

public static PolynomialMatrix diagonal(Polynomial[] diagonalElements)
対角行列を生成します。

パラメータ:
diagonalElements - 対角成分
戻り値:
対角行列

hashCode

public int hashCode()
クラス BaseMatrix の記述:
Override hashCode.

オーバーライド:
クラス BaseMatrix<PolynomialMatrix,Polynomial> 内の hashCode
戻り値:
the Objects hashcode.
関連項目:
BaseMatrix.hashCode()