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

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

public interface FundamentalMatrix
extends Grid

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

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

メソッドの概要
 Matrix appendDown(Matrix value)
          下側に行列valueを付けた行列を生成します。
 Matrix appendRight(Matrix value)
          右側にvalueを付けた行列を生成します。
 BooleanMatrix compareElementWise(String operator, Matrix opponent)
          opponentと成分毎にoperatorで指定された演算子で比較した結果を BooleanMatrixで返します。
 void copy(Matrix source)
          sourceの成分をコピーします。
 Matrix diagonalToVector()
          対角成分をからなる列ベクトルを生成します。
 boolean equals(Matrix opponent, double tolerance)
          行列opponentと値が許容誤差以内で等しいか判定します。
 Matrix flipLeftRight()
          左右の列を反転した行列を生成します。
 Matrix flipUpDown()
          上下の行を反転した行列を生成します。
 Matrix getColumnVector(int column)
          指定された列を返します。
 Matrix getColumnVectors(int minimum, int maximum)
          minimum列からmaximum列までの部分行列を生成します。
 Matrix getColumnVectors(IntMatrix index)
          indexで指定された列からなる部分行列を生成します。
 Matrix getRowVector(int row)
          指定された行を返します。
 Matrix getRowVectors(int minimum, int maximum)
          minimum行からmaximum行までの部分行列を生成します。
 Matrix getRowVectors(IntMatrix index)
          indexで指定された行からなる部分行列を生成します。
 Matrix getSubMatrix(int row, int column, Grid block)
          blockのサイズで分割したときのrowcolumn 列番目のブロック行列を返します。
 Matrix getSubMatrix(int rowMinimum, int rowMaximum, int columnMinimum, int columnMaximum)
          部分行列this(rowMinimum:rowMaximum,columnMinimum:columnMaximum)を生成します。
 Matrix getSubMatrix(int rowMinimum, int rowMaximum, IntMatrix columnIndex)
          rowMinimum行からrowMaximum行目で、columnIndex で指定された列を成分とする部分行列を生成します。
 Matrix getSubMatrix(int row, IntMatrix columnIndex)
          row行ベクトルのcolumnIndexで指定された成分からなる横ベクトルを生成します。
 Matrix getSubMatrix(IntMatrix rowIndex, int column)
          column列ベクトルのrowIndexで指定された成分からなる縦ベクトルを生成します。
 Matrix getSubMatrix(IntMatrix rowIndex, int columnMinimum, int columnMaximum)
          columnMinimum列からcolumnMaximum列まで、 rowIndexで指定された行を成分とする部分行列を生成します。
 Matrix getSubMatrix(IntMatrix rowIndex, IntMatrix columnIndex)
          rowIndexで指定された行で、columnIndex で指定された列を成分とする部分行列を生成します。
 Matrix getSubVector(int minimum, int maximum)
          成分を行毎に数え、minimumからmaximumまでの成分からなるベクトルを生成します。
 Matrix getSubVector(int minimum, int maximum, int by)
          成分を行毎に数え、minimumからmaximumまでのby 飛び成分からなるベクトルを生成します。
 Matrix getSubVector(IntMatrix index)
          行毎に数えindexで指定した成分を成分とする部分行列を生成します。
 Matrix reshape(int newRowSize, int newColumnSize)
          サイズをnewRowSize*newColumnSizeに変更した行列を生成します。
 Matrix resize(int newRowSize, int newColmunSize)
          newRowSize*newColumnSizeにサイズ変更します。
 Matrix rotateLeft(int number)
          全ての成分を左方向へ回転します。
 Matrix rotateUp(int number)
          全ての成分を上方向へ回転します。
 void setColumnVector(int column, Matrix source)
          指定された列にsourceを代入します。
 void setColumnVectors(int minimum, int maximum, Matrix source)
          minimum列からmaximum列にsourceを代入します。
 void setColumnVectors(IntMatrix index, Matrix source)
          指定された列にsourceを代入します。
 void setRowVector(int row, Matrix source)
          指定された行にsourceを代入します。
 void setRowVectors(int minimum, int maximum, Matrix source)
          minimum行からmaximum行にsourceを代入します。
 void setRowVectors(IntMatrix index, Matrix source)
          指定された複数の行にsourceを代入します。
 void setSubMatrix(int row, int column, Grid block, Matrix source)
          指定した成分に行列sourceを代入します。
 void setSubMatrix(int rowMinimum, int rowMaximum, int columnMinimum, int columnMaximum, Matrix source)
          指定した成分に行列sourceを代入します。
 void setSubMatrix(int rowMinimum, int rowMaximum, IntMatrix columnIndex, Matrix source)
          rowMinimum列目からrowMaximum列目の成分のcolumnIndex で指定された行の成分に行列sourceを代入します。
 void setSubMatrix(int row, IntMatrix columnIndex, Matrix source)
          row列目の成分のcolumnIndexで指定された行の成分に行列sourceを代入します。
 void setSubMatrix(IntMatrix rowIndex, int columnMinimum, int columnMaximum, Matrix source)
          rowIndexで指定した行のcolumnMinimum列からcolumnMaximum 列までの行列sourceを代入します。
 void setSubMatrix(IntMatrix rowIndex, int column, Matrix source)
          rowIndexで指定した行のcolumn列に行列source を代入します。
 void setSubMatrix(IntMatrix rowIndex, IntMatrix columnIndex, Matrix source)
          rowIndexで指定した行のcolumnIndexで指定した列に行列sourceを代入します。
 void setSubVector(int minimum, int maximum, int by, Matrix source)
          成分を行毎に数え、minimumからmaximumまでの成分をby飛びに代入します。
 void setSubVector(int minimum, int maximum, Matrix source)
          成分を行毎に数え、minimumからmaximumまでにsourceの成分を代入します。
 void setSubVector(IntMatrix index, Matrix source)
          indexで指定した各成分に行列sourceの成分を代入します。
 Matrix transpose()
          転置行列(this T )を生成します。
 Matrix 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
 

メソッドの詳細

equals

boolean equals(Matrix opponent,
               double tolerance)
行列opponentと値が許容誤差以内で等しいか判定します。

パラメータ:
opponent - 比較する行列
tolerance - 許容誤差
戻り値:
等しければtrue、そうでなければfalse

copy

void copy(Matrix source)
sourceの成分をコピーします。

パラメータ:
source - コピー元の行列

appendDown

Matrix appendDown(Matrix value)
下側に行列valueを付けた行列を生成します。

パラメータ:
value - 付ける行列
戻り値:
下側にvalueをつけた行列

appendRight

Matrix appendRight(Matrix value)
右側にvalueを付けた行列を生成します。

パラメータ:
value - 付ける複素数
戻り値:
右側にvalueを付けた行列

transpose

Matrix transpose()
転置行列(this T )を生成します。

戻り値:
転置行列

getSubMatrix

Matrix getSubMatrix(int rowMinimum,
                    int rowMaximum,
                    int columnMinimum,
                    int columnMaximum)
部分行列this(rowMinimum:rowMaximum,columnMinimum:columnMaximum)を生成します。

パラメータ:
rowMinimum - 開始行番号(1から始まります)
rowMaximum - 終了行番号(1から始まります)
columnMinimum - 開始列番号(1から始まります)
columnMaximum - 終了列番号(1から始まります)
戻り値:
自身の部分行列

getSubMatrix

Matrix getSubMatrix(IntMatrix rowIndex,
                    int column)
column列ベクトルのrowIndexで指定された成分からなる縦ベクトルを生成します。

パラメータ:
rowIndex - 行指定ベクトル
column - 列指定
戻り値:
部分行列

getSubMatrix

Matrix getSubMatrix(IntMatrix rowIndex,
                    int columnMinimum,
                    int columnMaximum)
columnMinimum列からcolumnMaximum列まで、 rowIndexで指定された行を成分とする部分行列を生成します。

パラメータ:
rowIndex - 行指定ベクトル
columnMinimum - 開始列番号(1から始まります)
columnMaximum - 終了列番号(1から始まります)
戻り値:
部分行列

getSubMatrix

Matrix getSubMatrix(int row,
                    IntMatrix columnIndex)
row行ベクトルのcolumnIndexで指定された成分からなる横ベクトルを生成します。

パラメータ:
row - 行指定
columnIndex - 列指定ベクトル
戻り値:
部分行列

getSubMatrix

Matrix getSubMatrix(int rowMinimum,
                    int rowMaximum,
                    IntMatrix columnIndex)
rowMinimum行からrowMaximum行目で、columnIndex で指定された列を成分とする部分行列を生成します。

パラメータ:
rowMinimum - 開始行番号(1から始まります)
rowMaximum - 終了行番号(1から始まります)
columnIndex - 列指定ベクトル
戻り値:
部分行列

getSubMatrix

Matrix getSubMatrix(IntMatrix rowIndex,
                    IntMatrix columnIndex)
rowIndexで指定された行で、columnIndex で指定された列を成分とする部分行列を生成します。

パラメータ:
rowIndex - 行指定ベクトル
columnIndex - 列指定ベクトル
戻り値:
部分行列

getSubMatrix

Matrix getSubMatrix(int row,
                    int column,
                    Grid block)
blockのサイズで分割したときのrowcolumn 列番目のブロック行列を返します。

パラメータ:
row - 行番号
column - 列番号
block - 基本ブロック行列
戻り値:
部分行列

getSubVector

Matrix getSubVector(IntMatrix index)
行毎に数えindexで指定した成分を成分とする部分行列を生成します。

パラメータ:
index - 行番号を含むベクトル
戻り値:
部分行列

getSubVector

Matrix getSubVector(int minimum,
                    int maximum,
                    int by)
成分を行毎に数え、minimumからmaximumまでのby 飛び成分からなるベクトルを生成します。

パラメータ:
minimum - 開始位置(1から始まります)
maximum - 終了位置(1から始まります)
by - 飛ばす数
戻り値:
fromからtoまでの成分を持つ横ベクトル

getSubVector

Matrix getSubVector(int minimum,
                    int maximum)
成分を行毎に数え、minimumからmaximumまでの成分からなるベクトルを生成します。

パラメータ:
minimum - 開始位置(1から始まります)
maximum - 終了位置(1から始まります)
戻り値:
fromからtoまでの成分を持つ横ベクトル

getRowVector

Matrix getRowVector(int row)
指定された行を返します。

パラメータ:
row - 行番号
戻り値:
指定された行

getRowVectors

Matrix getRowVectors(int minimum,
                     int maximum)
minimum行からmaximum行までの部分行列を生成します。

パラメータ:
minimum - 開始行番号(1から始まります)
maximum - 終了行番号(1から始まります)
戻り値:
部分行列

getRowVectors

Matrix getRowVectors(IntMatrix index)
indexで指定された行からなる部分行列を生成します。

パラメータ:
index - 取り出す行番号
戻り値:
部分行列

getColumnVector

Matrix getColumnVector(int column)
指定された列を返します。

パラメータ:
column - 列番号
戻り値:
指定された列

getColumnVectors

Matrix getColumnVectors(int minimum,
                        int maximum)
minimum列からmaximum列までの部分行列を生成します。

パラメータ:
minimum - 開始列番号(1から始まります)
maximum - 終了列番号(1から始まります)
戻り値:
部分行列

getColumnVectors

Matrix getColumnVectors(IntMatrix index)
indexで指定された列からなる部分行列を生成します。

パラメータ:
index - 取り出す列番号
戻り値:
部分行列

diagonalToVector

Matrix diagonalToVector()
対角成分をからなる列ベクトルを生成します。

戻り値:
対角成分からなる列ベクトル

vectorToDiagonal

Matrix vectorToDiagonal()
列ベクトルまたは行ベクトルの各成分を対角成分に持つ行列を生成します。

戻り値:
対角成分からなる縦ベクトル

reshape

Matrix reshape(int newRowSize,
               int newColumnSize)
サイズをnewRowSize*newColumnSizeに変更した行列を生成します。

成分は、行方向の成分順に並べ替えられます。 newRowSize * newColumnSize個の成分を持っていないと、エラーになる。

パラメータ:
newRowSize - 行の数
newColumnSize - 列の数
戻り値:
サイズ変更された行列

resize

Matrix resize(int newRowSize,
              int newColmunSize)
newRowSize*newColumnSizeにサイズ変更します。

reshape(int, int)とは異なり、成分位置の変更はせず, 自身より大きなサイズに変更する時は、0で埋められ、 自身より小さなサイズに変更する時は余分な成分は切り取られます。

パラメータ:
newRowSize - 指定行の数
newColmunSize - 指定列の数
戻り値:
サイズ変更後の行列

flipLeftRight

Matrix flipLeftRight()
左右の列を反転した行列を生成します。

戻り値:
左右反転した行列

flipUpDown

Matrix flipUpDown()
上下の行を反転した行列を生成します。

戻り値:
上下反転した行列

rotateUp

Matrix rotateUp(int number)
全ての成分を上方向へ回転します。numberが負の場合、下方向へ回転します。

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

rotateLeft

Matrix rotateLeft(int number)
全ての成分を左方向へ回転します。numberが負の場合、右方向へ回転します。

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

setSubMatrix

void setSubMatrix(int rowMinimum,
                  int rowMaximum,
                  int columnMinimum,
                  int columnMaximum,
                  Matrix source)
指定した成分に行列sourceを代入します。

パラメータ:
rowMinimum - 開始行番号(1から始まります)
rowMaximum - 終了行番号(1から始まります)
columnMinimum - 開始列番号(1から始まります)
columnMaximum - 終了列番号(1から始まります)
source - 代入する行列

setSubMatrix

void setSubMatrix(IntMatrix rowIndex,
                  int column,
                  Matrix source)
rowIndexで指定した行のcolumn列に行列source を代入します。

パラメータ:
rowIndex - 行番号のリスト
column - 列番号
source - 代入する行列

setSubMatrix

void setSubMatrix(IntMatrix rowIndex,
                  int columnMinimum,
                  int columnMaximum,
                  Matrix source)
rowIndexで指定した行のcolumnMinimum列からcolumnMaximum 列までの行列sourceを代入します。

パラメータ:
rowIndex - 行番号のリスト
columnMinimum - 開始列番号(1から始まります)
columnMaximum - 終了列番号(1から始まります)
source - 代入する行列

setSubMatrix

void setSubMatrix(int row,
                  IntMatrix columnIndex,
                  Matrix source)
row列目の成分のcolumnIndexで指定された行の成分に行列sourceを代入します。

パラメータ:
row - 行番号
columnIndex - 列番号のリスト
source - 代入する行列

setSubMatrix

void setSubMatrix(int rowMinimum,
                  int rowMaximum,
                  IntMatrix columnIndex,
                  Matrix source)
rowMinimum列目からrowMaximum列目の成分のcolumnIndex で指定された行の成分に行列sourceを代入します。

パラメータ:
rowMinimum - 開始行番号(1から始まります)
rowMaximum - 終了行番号(1から始まります)
columnIndex - 列番号のリスト
source - 代入する行列

setSubMatrix

void setSubMatrix(IntMatrix rowIndex,
                  IntMatrix columnIndex,
                  Matrix source)
rowIndexで指定した行のcolumnIndexで指定した列に行列sourceを代入します。

パラメータ:
rowIndex - 行番号のリスト
columnIndex - 列番号のリスト
source - 代入する行列

setSubMatrix

void setSubMatrix(int row,
                  int column,
                  Grid block,
                  Matrix source)
指定した成分に行列sourceを代入します。

パラメータ:
row - 行番号
column - 列番号
block - 基本ブロック行列
source - 代入する行列

setSubVector

void setSubVector(IntMatrix index,
                  Matrix source)
indexで指定した各成分に行列sourceの成分を代入します。

パラメータ:
index - 成分の番号のリスト
source - 代入する行列

setSubVector

void setSubVector(int minimum,
                  int maximum,
                  Matrix source)
成分を行毎に数え、minimumからmaximumまでにsourceの成分を代入します。

パラメータ:
minimum - 開始位置(1から始まります)
maximum - 終了位置(1から始まります)
source - 代入するベクトル

setSubVector

void setSubVector(int minimum,
                  int maximum,
                  int by,
                  Matrix source)
成分を行毎に数え、minimumからmaximumまでの成分をby飛びに代入します。

パラメータ:
minimum - 開始位置(1から始まります)
maximum - 終了位置(1から始まります)
by - 飛ばす数
source - 代入するベクトル

setRowVector

void setRowVector(int row,
                  Matrix source)
指定された行にsourceを代入します。

パラメータ:
row - 行番号
source - 代入する行列

setRowVectors

void setRowVectors(int minimum,
                   int maximum,
                   Matrix source)
minimum行からmaximum行にsourceを代入します。

パラメータ:
minimum - 開始行番号(1から始まります)
maximum - 終了行番号(1から始まります)
source - 代入する行列

setRowVectors

void setRowVectors(IntMatrix index,
                   Matrix source)
指定された複数の行にsourceを代入します。

パラメータ:
index - 行番号
source - 代入する行列

setColumnVector

void setColumnVector(int column,
                     Matrix source)
指定された列にsourceを代入します。

パラメータ:
column - 列番号
source - 代入する行列

setColumnVectors

void setColumnVectors(int minimum,
                      int maximum,
                      Matrix source)
minimum列からmaximum列にsourceを代入します。

パラメータ:
minimum - 開始列番号(1から始まります)
maximum - 終了列番号(1から始まります)
source - 代入する行列

setColumnVectors

void setColumnVectors(IntMatrix index,
                      Matrix source)
指定された列にsourceを代入します。

パラメータ:
index - 列番号
source - 代入する行列

compareElementWise

BooleanMatrix compareElementWise(String operator,
                                 Matrix opponent)
opponentと成分毎にoperatorで指定された演算子で比較した結果を BooleanMatrixで返します。

パラメータ:
operator - 比較演算子(". <", ". <=", ".>", ".>=", ".==", ".!=")
opponent - 比較対象
戻り値:
各成分に比較結果が入ったBooleanMatrix