org.mklab.nfc.matrix
インタフェース Matrix

すべてのスーパーインタフェース:
FundamentalMatrix, Grid, MatrixElementWiseOperator
既知のサブインタフェースの一覧:
MatxArray, NumericalMatrixOperator<E>, SymbolicMatrixOperator<E>, TransformableMatrix<M>
既知の実装クラスの一覧:
AbstractMatrix, BaseMatrix, DoubleComplexMatrix, DoubleMatrix, IntMatrix, MatxComplexArray, MatxIntegerArray, MatxPolynomialArray, MatxRationalPolynomialArray, MatxRealArray, NumericalComplexMatrix, NumericalMatrix, PolynomialMatrix, RationalPolynomialMatrix, SymbolicMatrix

public interface Matrix
extends FundamentalMatrix, MatrixElementWiseOperator

行列を表わすインターフェースです。

バージョン:
$Revision: 1.146 $
作成者:
koga

メソッドの概要
 Matrix add(Matrix value)
          valueとの和を返します。
 Matrix conjugate()
          共役複素行列を返します。
 Matrix conjugateTranspose()
          各成分の共役複素数の転置行列を返します。
 Matrix covariance(Matrix value)
          opponentとの共分散行列を返します。
 Matrix createOnes()
          同サイズの全成分が1である行列を生成します。
 Matrix createOnes(int size)
          size*sizeの全成分が1である行列を生成します。
 Matrix createOnes(int rowSize, int columnSize)
          rowSize*columnSizeの全成分が1である行列を生成します。
 Matrix createOnes(int rowNumber, int columnNumber, Grid block)
          行列blockrowNumber*columnNumber 倍の全成分が1である行列を生成します。
 Matrix createUnit()
          同サイズの単位行列を生成します。
 Matrix createUnit(int size)
          size*sizeの単位行列を生成します。
 Matrix createUnit(int rowSize, int columnSize)
          rowSize*columnSizeの単位行列を生成します。
 Matrix createUnit(int rowNumber, int columnNumber, Grid block)
          行列blockrowNumber*columnNumber 倍の単位行列を生成します。
 Matrix createZero()
          同サイズの零行列を生成します。
 Matrix createZero(int size)
          size*sizeの零行列を生成します。
 Matrix createZero(int rowSize, int columnSize)
          rowSize*columnSizeの零行列を生成します。
 Matrix createZero(int rowNumber, int columnNumber, Grid block)
          行列blockrowNumber*columnNumber 倍の零行列を生成します。
 Matrix cumulativeProduct()
          各要の累積積からなる行列を返します。
 Matrix cumulativeProductColumnWise()
          列毎の累積積行列を返します。
 Matrix cumulativeProductRowWise()
          行毎の累積積行列を返します。
 Matrix cumulativeSum()
          各要の累積和からなる行列を返します。
 Matrix cumulativeSumColumnWise()
          列毎の累積和行列を返します。
 Matrix cumulativeSumRowWise()
          行毎の累積和行列を返します。
 Matrix divide(double value)
          各成分と実数valueの商(this/value)を返します。
 Matrix divide(int value)
          各成分と整数valueの商(this/value)を返します。
 Matrix divide(Matrix value)
          行列valueの逆行列との積(this*value -1 )を返します。
 Matrix divide(Scalar<?> value)
          各成分とスカラーの商からなる行列を返します。
 Matrix getImaginaryPart()
          虚部行列を返します。
 Matrix getRealPart()
          実部行列を返します。
 Matrix inverse()
          逆行列(this -1 )を返します。
 Matrix inverse(double tolerance, boolean stopIfSingular)
          逆行列(this -1 )を返します。
 boolean isComplex()
          複素成分をもつか判定します。
 boolean isReal()
          実成分のみをもつか(複素成分をもたないか)判定します。
 boolean isTransformableFrom(Matrix value)
          引数で与えられた型から、この型へ変換可能か判定します。
 boolean isTransformableTo(Matrix value)
          この型から引数で与えられた型へ変換可能か判定します。
 boolean isUnit()
          単位行列であるか判定します。
 boolean isUnit(double tolerance)
          単位行列であるか判定します。
 boolean isZero(double tolerance)
          零行列であるか判定します。
 Matrix leftDivide(double value)
          逆行列と実数valueの積(this -1 *value)を返します。
 Matrix leftDivide(int value)
          逆行列と整数valueの積(this -1 *value)を返します。
 Matrix leftDivide(Matrix value)
          逆行列と行列valueの積(this -1 *value)を返します。
 Matrix leftDivide(Scalar<?> value)
          逆行列とスカラーvalueの積(this -1 *value)を返します。
 Matrix meanColumnWise()
          各成分列毎の平均値行ベクトルを返します。
 Matrix meanRowWise()
          各成分行毎の平均値列ベクトルを返します。
 Matrix multiply(double value)
          各成分と実数valueの積を(this*value)を返します。
 Matrix multiply(int value)
          各成分と整数valueの積を(this*value)を返します。
 Matrix multiply(Matrix value)
          行列valueとの積(this*value)を返します。
 Matrix multiply(Scalar<?> value)
          各成分とスカラーvalueの積を返します。
 Matrix power(int order)
          整数order乗(this order )を返します。
 Matrix productColumnWise()
          列毎に掛けた行ベクトルを返します。
 Matrix productRowWise()
          行毎に掛けた列ベクトルを返します。
 void setImaginaryPart(BaseMatrix<?,?> imaginaryPart)
          虚部行列を設定します。
 void setImaginaryPart(DoubleMatrix imaginaryPart)
          虚部行列を設定します。
 void setImaginaryPart(IntMatrix imaginaryPart)
          虚部行列を設定します。
 void setImaginaryPart(Matrix imaginaryPart)
          虚部行列を設定します。
 void setRealPart(BaseMatrix<?,?> realPart)
          実部行列を設定します。
 void setRealPart(DoubleMatrix realPart)
          実部行列を設定します。
 void setRealPart(IntMatrix realPart)
          実部行列を設定します。
 void setRealPart(Matrix realPart)
          実部行列を設定します。
 Matrix shiftLeft(int number)
          全ての成分を左方向へシフトします。
 Matrix shiftUp(int number)
          全ての成分を上方向へシフトします。
 Matrix subtract(Matrix value)
          valueとの差を返します。
 Matrix sumColumnWise()
          列毎に加えた行ベクトルを返します。
 Matrix sumRowWise()
          行毎に加えた列ベクトルを返します。
 Matrix toComplex()
          複素成分行列へ変換します。
 Matrix transformFrom(Matrix value)
          引数で与えられた型からこの型へ変換します。
 Matrix transformTo(Matrix value)
          この型から引数で与えられた型へ変換します。
 Matrix unaryMinus()
          符号を反転した値(-this)を返します。
 
インタフェース 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
 

メソッドの詳細

add

Matrix add(Matrix value)
valueとの和を返します。

パラメータ:
value - 行列
戻り値:
valueとの和

subtract

Matrix subtract(Matrix value)
valueとの差を返します。

パラメータ:
value - 引く行列
戻り値:
valueとの差

multiply

Matrix multiply(int value)
各成分と整数valueの積を(this*value)を返します。

パラメータ:
value - 整数
戻り値:
各成分と整数valueの積

multiply

Matrix multiply(double value)
各成分と実数valueの積を(this*value)を返します。

パラメータ:
value - 実数
戻り値:
各成分と実数valueの積

multiply

Matrix multiply(Scalar<?> value)
各成分とスカラーvalueの積を返します。

パラメータ:
value - スカラー
戻り値:
各成分とvalueの積

multiply

Matrix multiply(Matrix value)
行列valueとの積(this*value)を返します。

パラメータ:
value - 行列
戻り値:
valueとの積

inverse

Matrix inverse()
逆行列(this -1 )を返します。

戻り値:
逆行列

inverse

Matrix inverse(double tolerance,
               boolean stopIfSingular)
逆行列(this -1 )を返します。

パラメータ:
tolerance - 許容誤差
stopIfSingular - trueならば、正則でない場合、処理を中止し、例外を投げます。
戻り値:
逆行列

divide

Matrix divide(int value)
各成分と整数valueの商(this/value)を返します。

パラメータ:
value - 割る整数
戻り値:
各成分とvalueとの商

divide

Matrix divide(double value)
各成分と実数valueの商(this/value)を返します。

パラメータ:
value - 割る実数
戻り値:
各成分とvalueとの商

divide

Matrix divide(Scalar<?> value)
各成分とスカラーの商からなる行列を返します。

パラメータ:
value - スカラー
戻り値:
各成分とvalueの商

divide

Matrix divide(Matrix value)
行列valueの逆行列との積(this*value -1 )を返します。

パラメータ:
value - 割る行列
戻り値:
valueの逆行列との積

leftDivide

Matrix leftDivide(int value)
逆行列と整数valueの積(this -1 *value)を返します。

パラメータ:
value - 割る整数
戻り値:
逆行列とvalueとの積

leftDivide

Matrix leftDivide(double value)
逆行列と実数valueの積(this -1 *value)を返します。

パラメータ:
value - 割る実数
戻り値:
逆行列とvalueとの積

leftDivide

Matrix leftDivide(Scalar<?> value)
逆行列とスカラーvalueの積(this -1 *value)を返します。

パラメータ:
value - スカラー
戻り値:
逆行列とvalueの積

leftDivide

Matrix leftDivide(Matrix value)
逆行列と行列valueの積(this -1 *value)を返します。

パラメータ:
value - 割る行列
戻り値:
逆行列とvalueとの積

unaryMinus

Matrix unaryMinus()
符号を反転した値(-this)を返します。

戻り値:
符号を反転した値

conjugate

Matrix conjugate()
共役複素行列を返します。

戻り値:
共役複素行列

conjugateTranspose

Matrix conjugateTranspose()
各成分の共役複素数の転置行列を返します。

戻り値:
複素共役転置

power

Matrix power(int order)
整数order乗(this order )を返します。

パラメータ:
order - 指数
戻り値:
order乗

isZero

boolean isZero(double tolerance)
零行列であるか判定します。

パラメータ:
tolerance - 許容誤差
戻り値:
零行列ならばtrue、そうでなければfalse

isUnit

boolean isUnit()
単位行列であるか判定します。

戻り値:
単位行列ならばtrue、そうでなければfalse

isUnit

boolean isUnit(double tolerance)
単位行列であるか判定します。

パラメータ:
tolerance - 許容誤差
戻り値:
単位行列ならばtrue、そうでなければfalse

isReal

boolean isReal()
実成分のみをもつか(複素成分をもたないか)判定します。

戻り値:
実成分のみをもつならばtrue、そうでなければfalse

isComplex

boolean isComplex()
複素成分をもつか判定します。

戻り値:
複素成分をもつならばtrue、そうでなければfalse

createZero

Matrix createZero()
同サイズの零行列を生成します。

戻り値:
零行列

createZero

Matrix createZero(int size)
size*sizeの零行列を生成します。

パラメータ:
size - サイズ指定
戻り値:
size*sizeの零行列

createZero

Matrix createZero(int rowSize,
                  int columnSize)
rowSize*columnSizeの零行列を生成します。

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

createZero

Matrix createZero(int rowNumber,
                  int columnNumber,
                  Grid block)
行列blockrowNumber*columnNumber 倍の零行列を生成します。

パラメータ:
rowNumber - 行方向の倍数
columnNumber - 列方向の倍数
block - 基本となる行列
戻り値:
blockrowNumber* columnNumber倍の零行列

createUnit

Matrix createUnit()
同サイズの単位行列を生成します。

戻り値:
単位行列

createUnit

Matrix createUnit(int size)
size*sizeの単位行列を生成します。

パラメータ:
size - サイズ指定
戻り値:
size*sizeの単位行列

createUnit

Matrix createUnit(int rowSize,
                  int columnSize)
rowSize*columnSizeの単位行列を生成します。

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

createUnit

Matrix createUnit(int rowNumber,
                  int columnNumber,
                  Grid block)
行列blockrowNumber*columnNumber 倍の単位行列を生成します。

パラメータ:
rowNumber - 行方向の倍数
columnNumber - 列方向の倍数
block - 基本となる行列
戻り値:
blockrowNumber* columnNumber倍の単位行列

createOnes

Matrix createOnes()
同サイズの全成分が1である行列を生成します。

戻り値:
全成分が1である行列

createOnes

Matrix createOnes(int size)
size*sizeの全成分が1である行列を生成します。

パラメータ:
size - サイズ指定
戻り値:
size*sizeの全成分が1である行列

createOnes

Matrix createOnes(int rowSize,
                  int columnSize)
rowSize*columnSizeの全成分が1である行列を生成します。

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

createOnes

Matrix createOnes(int rowNumber,
                  int columnNumber,
                  Grid block)
行列blockrowNumber*columnNumber 倍の全成分が1である行列を生成します。

パラメータ:
rowNumber - 行方向の倍数
columnNumber - 列方向の倍数
block - 基本となる行列
戻り値:
blockrowNumber* columnNumber倍の全成分が1である行列

cumulativeSum

Matrix cumulativeSum()
各要の累積和からなる行列を返します。

戻り値:
累積和行列

cumulativeProduct

Matrix cumulativeProduct()
各要の累積積からなる行列を返します。

戻り値:
累積積行列

sumRowWise

Matrix sumRowWise()
行毎に加えた列ベクトルを返します。

戻り値:
行毎加算列ベクトル

sumColumnWise

Matrix sumColumnWise()
列毎に加えた行ベクトルを返します。

戻り値:
列毎加算行ベクトル

productRowWise

Matrix productRowWise()
行毎に掛けた列ベクトルを返します。

戻り値:
行毎積列ベクトル

productColumnWise

Matrix productColumnWise()
列毎に掛けた行ベクトルを返します。

戻り値:
列毎積行ベクトル

cumulativeSumRowWise

Matrix cumulativeSumRowWise()
行毎の累積和行列を返します。

戻り値:
行毎の累積和行列

cumulativeSumColumnWise

Matrix cumulativeSumColumnWise()
列毎の累積和行列を返します。

戻り値:
列毎の累積和行列

cumulativeProductRowWise

Matrix cumulativeProductRowWise()
行毎の累積積行列を返します。

戻り値:
行毎の累積積行列

cumulativeProductColumnWise

Matrix cumulativeProductColumnWise()
列毎の累積積行列を返します。

戻り値:
列毎の累積積行列

meanRowWise

Matrix meanRowWise()
各成分行毎の平均値列ベクトルを返します。

戻り値:
行毎平均値ベクトル

meanColumnWise

Matrix meanColumnWise()
各成分列毎の平均値行ベクトルを返します。

戻り値:
列毎行平均値ベクトル

covariance

Matrix covariance(Matrix value)
opponentとの共分散行列を返します。

パラメータ:
value - 対となるベクトル
戻り値:
共分散行列 (Covariance)

getRealPart

Matrix getRealPart()
実部行列を返します。

戻り値:
実部行列

getImaginaryPart

Matrix getImaginaryPart()
虚部行列を返します。

戻り値:
虚部行列

setRealPart

void setRealPart(Matrix realPart)
実部行列を設定します。

パラメータ:
realPart - 実部行列

setRealPart

void setRealPart(IntMatrix realPart)
実部行列を設定します。

パラメータ:
realPart - 実部行列

setRealPart

void setRealPart(DoubleMatrix realPart)
実部行列を設定します。

パラメータ:
realPart - 実部行列

setRealPart

void setRealPart(BaseMatrix<?,?> realPart)
実部行列を設定します。

パラメータ:
realPart - 実部行列

setImaginaryPart

void setImaginaryPart(Matrix imaginaryPart)
虚部行列を設定します。

パラメータ:
imaginaryPart - 虚部行列

setImaginaryPart

void setImaginaryPart(IntMatrix imaginaryPart)
虚部行列を設定します。

パラメータ:
imaginaryPart - 虚部行列

setImaginaryPart

void setImaginaryPart(DoubleMatrix imaginaryPart)
虚部行列を設定します。

パラメータ:
imaginaryPart - 虚部行列

setImaginaryPart

void setImaginaryPart(BaseMatrix<?,?> imaginaryPart)
虚部行列を設定します。

パラメータ:
imaginaryPart - 虚部行列

shiftUp

Matrix shiftUp(int number)
全ての成分を上方向へシフトします。 上側には零が代入されます。numberが負の場合、下方向へシフトします。

パラメータ:
number - シフトで進む数
戻り値:
全ての成分を上方向へシフトした行列

shiftLeft

Matrix shiftLeft(int number)
全ての成分を左方向へシフトします。 右側には零が代入されます。numberが負の場合、右方向へシフトします。

パラメータ:
number - シフトで進む数
戻り値:
全ての成分を左方向へシフトした行列

toComplex

Matrix toComplex()
複素成分行列へ変換します。

戻り値:
複素成分行列

isTransformableFrom

boolean isTransformableFrom(Matrix value)
引数で与えられた型から、この型へ変換可能か判定します。

パラメータ:
value - 変換元
戻り値:
変換可能ならtrue、そうでなければfalse

transformFrom

Matrix transformFrom(Matrix value)
引数で与えられた型からこの型へ変換します。

パラメータ:
value - 変換元
戻り値:
変換で生成された値

isTransformableTo

boolean isTransformableTo(Matrix value)
この型から引数で与えられた型へ変換可能か判定します。

パラメータ:
value - 変換先
戻り値:
変換可能ならtrue、そうでなければfalse

transformTo

Matrix transformTo(Matrix value)
この型から引数で与えられた型へ変換します。

パラメータ:
value - 変換先
戻り値:
変換で生成された値