|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectorg.mklab.nfc.matrix.GridUtil
public class GridUtil
グリッドGrid
のユーティリティクラスです。
コンストラクタの概要 | |
---|---|
GridUtil()
|
メソッドの概要 | ||
---|---|---|
static
|
anyZero(E[] vector)
少なくとも1個は零の成分がベクトルに含まれるか判定します。 |
|
static
|
anyZero(E[][] matrix)
少なくとも1個は零の成分が行列に含まれるか判定します。 |
|
static
|
appendDown(GridElement<?>[][] a1,
GridElement<?>[][] a2)
2個のグリッドを縦に接続したグリッドを生成します。 |
|
static
|
appendRight(GridElement<?>[][] a1,
GridElement<?>[][] a2)
2個のグリッドを横に接続したグリッドを生成します。 |
|
static
|
clone(E[] grid)
グリッドの複製を生成します。 |
|
static
|
clone(E[][] grid)
グリッドの複製を生成します。 |
|
static boolean[][] |
compareElementWise(GridElement<?>[][] a1,
String operator,
GridElement<?>[][] a2)
2個のグリッドを成分毎にoperatorで指定された演算子で比較し, 計算結果を成分とするbooleanのグリッドを生成します。 |
|
static void |
copy(GridElement<?>[][] source,
GridElement<?>[][] destination)
グリッド source の各成分をグリッドdestination の各成分にコピーします。 |
|
static void |
copy(GridElement<?>[] source,
GridElement<?>[] destination)
グリッド source の各成分をグリッドdestination の各成分にコピーします。 |
|
static
|
createArray(int size,
GridElement<?>[] elements)
指定された成分と同じ型の配列を生成します。 |
|
static
|
createArray(int size,
GridElement<?>[][] elements)
指定された成分と同じ型の配列を生成します。 |
|
static
|
createArray(int rowSize,
int columnSize,
GridElement<?>[] elements)
指定された成分と同じ型の配列を生成します。 |
|
static
|
createArray(int rowSize,
int columnSize,
GridElement<?>[][] elements)
指定された成分と同じ型の配列を生成します。 |
|
static
|
createSameClassArray(GridElement<?>[][] grid)
グリッドの複製を生成します。 |
|
static
|
createZero(E[][] matrix,
int rowSize,
int columnSize)
零行列を生成します。 |
|
static
|
createZero(E[] matrix,
int rowSize)
零ベクトルを生成します。 |
|
static
|
createZero(E value,
int size)
零ベクトルを生成します。 |
|
static
|
createZero(E value,
int rowSize,
int columnSize)
零行列を生成します。 |
|
static
|
diagonal(E[] vector)
対角グリッドを生成します。 |
|
static
|
diagonalToVector(E[][] grid)
対角成分を取り出し列ベクトルとして返します。 |
|
static boolean |
equals(GridElement<?>[][] a1,
GridElement<?>[][] a2)
2個のグリッドの成分が全て等しか判定します。 |
|
static
|
exchangeColumn(E[][] grid,
int column1,
int column2)
column1 列とcolumn2 列を入れ替えます。 |
|
static
|
exchangeRow(E[][] grid,
int row1,
int row2)
row1 行とrow2 行を入れ替えます。 |
|
static
|
getSubMatrix(E[][] grid,
int[] index,
int column)
部分グリッドを生成します。 |
|
static
|
getSubMatrix(E[][] grid,
int[] rowIndex,
int[] columnIndex)
部分グリッドを生成します。 |
|
static
|
getSubMatrix(E[][] grid,
int[] rowIndex,
int columnMin,
int columnMax)
columnMin 行目からcolumnMax 行目までの成分のrowIndex
code>で指定された列の部分グリッドを生成します。 |
|
static
|
getSubMatrix(E[][] grid,
int row,
int[] columnIndex)
row 列目の成分のcolumnIndex で指定された行ベクトルを生成します。 |
|
static
|
getSubMatrix(E[][] grid,
int rowMin,
int rowMax,
int[] columnIndex)
rowMin 列からrowMax 列目の成分のcolumnIndex
で指定された行の部分グリッドを生成します。 |
|
static
|
getSubMatrix(E[][] grid,
int rowMin,
int rowMax,
int columnMin,
int columnMax)
部分グリッドを生成します。 |
|
static
|
getSubVector(E[] grid,
int[] index)
部分ベクトルを生成します。 |
|
static
|
getSubVector(E[] vector,
int min,
int max)
部分ベクトルを生成します。 |
|
static boolean |
isZero(GridElement<?>[][] grid)
零行列であるか判定します。 |
|
static
|
makeColumnVector(E[][] grid)
各列ベクトルを縦に結合し、長い列ベクトルを生成します。 |
|
static
|
permutateSelf(E[][] matrix,
int[] pivot,
int count,
boolean rowExchange)
行や列を交換します。 |
|
static void |
print(GridElement<?>[][] matrix,
Writer output,
String format,
GridElementAlignment alignment,
int maxColumnSize)
ライターに出力します。 |
|
static
|
removeColumnVectors(E[][] grid,
int[] removingIndex)
指定された列を削除したグリッドを生成します。 |
|
static
|
removeColumnVectors(E[][] grid,
int min,
int max)
指定された列を削除したグリッドを生成します。 |
|
static
|
removeRowVectors(E[][] grid,
int[] removingIndex)
指定された行を削除したグリッドを生成します。 |
|
static
|
removeRowVectors(E[][] grid,
int min,
int max)
指定された行を削除したグリッドを生成します。 |
|
static
|
reshape(E[][] grid,
int newRowSize,
int newColumnSize)
グリッドの成分を変えずに、グリッドの大きさ(行の数と列の数)を変形します。 |
|
static
|
resize(E[][] grid,
int newRowSize,
int newColumnSize)
newRowSize *newColSize にサイズ変更します。 |
|
static void |
setElements(GridElement<?>[][] destination,
int[] index,
GridElement<?>[][] source)
指定された番号の成分に値を代入します。 |
|
static void |
setSubMatrix(GridElement<?>[][] destination,
int[] rowIndex,
int[] columnIndex,
GridElement<?>[][] source)
指定された場所に値を代入します。 |
|
static void |
setSubMatrix(GridElement<?>[][] destination,
int[] rowIndex,
int columnMin,
int columnMax,
GridElement<?>[][] source)
指定された場所に値を代入します。 |
|
static void |
setSubMatrix(GridElement<?>[][] destination,
int rowTo,
int columnTo,
GridElement<?>[][] source,
int rowMin,
int rowMax,
int columnMin,
int columnMax)
rowTo 行columnTo 列を始点として、
グリッドsource のrowMin 行からrowMax 行、
columnMin 列からcolumnMax 列までの値をコピーします。 |
|
static void |
setSubMatrix(GridElement<?>[][] destination,
int rowMin,
int rowMax,
int[] columnIndex,
GridElement<?>[][] source)
指定された場所に値を代入します。 |
|
static void |
setSubMatrix(GridElement<?>[][] destination,
int rowMin,
int rowMax,
int columnMin,
int columnMax,
GridElement<?>[][] source)
指定したブロックに値を代入します。 |
|
static void |
setSubVector(GridElement<?>[] destination,
int to,
GridElement<?>[] source,
int min,
int max)
配列 destination のto 行を始点として、
配列source の
min 行からmax 行までの値をコピーします。 |
|
static void |
setSubVector(GridElement<?>[] destination,
int min,
int max,
GridElement<?>[] source)
配列 destination のmin からmax まで
配列source の値をコピーします。 |
|
static
|
setZero(E[][] grid)
グリッドの全ての成分に零を代入します。 |
|
static
|
transpose(E[] grid)
転置グリッドを生成します。 |
|
static
|
transpose(E[][] grid)
転置グリッドを生成します。 |
|
static
|
transpose(E[][] matrix,
E[][] result)
転置行列の成分を設定します。 |
|
static
|
vectorToDiagonal(E[] vector)
ベクトルの成分を対角成分とする対角グリッドを生成します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public GridUtil()
メソッドの詳細 |
---|
public static final <E extends GridElement<E>> E[][] clone(E[][] grid)
E
- 成分の型grid
- 複製の元となるグリッド
public static final <E extends GridElement<E>> E[][] createSameClassArray(GridElement<?>[][] grid)
E
- 成分の型grid
- 複製の元となるグリッド
public static final <E extends GridElement<E>> E[] clone(E[] grid)
E
- 成分の型grid
- 複製の元となるグリッド
public static final <E extends GridElement<E>> void exchangeRow(E[][] grid, int row1, int row2)
row1
行とrow2
行を入れ替えます。
E
- 成分の型grid
- 対象のグリッドrow1
- 行番号1row2
- 行番号2public static final <E extends GridElement<E>> void exchangeColumn(E[][] grid, int column1, int column2)
column1
列とcolumn2
列を入れ替えます。
E
- 成分の型grid
- 対象のグリッドcolumn1
- 列番号1column2
- 列番号2public static final <E extends GridElement<E>> E[][] permutateSelf(E[][] matrix, int[] pivot, int count, boolean rowExchange)
E
- 成分の型 成分の型matrix
- 対象となる行列pivot
- 交換する行番号や列番号の配列count
- 交換する数rowExchange
- 行を交換する場合true
public static final boolean equals(GridElement<?>[][] a1, GridElement<?>[][] a2)
a1
- 第一グリッドa2
- 第二グリッド
public static final void copy(GridElement<?>[][] source, GridElement<?>[][] destination)
source
の各成分をグリッドdestination
の各成分にコピーします。
source
- コピー元グリッドdestination
- コピー先グリッドpublic static final void copy(GridElement<?>[] source, GridElement<?>[] destination)
source
の各成分をグリッドdestination
の各成分にコピーします。
source
- コピー元グリッドdestination
- コピー先グリッドpublic static final <E extends GridElement<E>> E[][] appendDown(GridElement<?>[][] a1, GridElement<?>[][] a2)
E
- 成分の型a1
- 上側のグリッドa2
- 下側のグリッド
public static final <E extends GridElement<E>> E[][] appendRight(GridElement<?>[][] a1, GridElement<?>[][] a2)
E
- 成分の型a1
- 左側のグリッドa2
- 右側のグリッド
public static final <E extends GridElement<E>> E[][] transpose(E[] grid)
E
- 成分の型grid
- 元のグリッド
public static final <E extends GridElement<E>> E[][] transpose(E[][] grid)
E
- 成分の型grid
- 元のグリッド
public static final <E extends GridElement<E>> void transpose(E[][] matrix, E[][] result)
E
- 成分の型matrix
- 元の行列result
- 転置行列の成分を代入する行列public static <E extends GridElement<E>> E[][] removeColumnVectors(E[][] grid, int min, int max)
E
- 成分の型grid
- 対象となるグリッドmin
- 開始列max
- 終了列
public static <E extends GridElement<E>> E[][] removeColumnVectors(E[][] grid, int[] removingIndex)
E
- 成分の型grid
- 元のグリッドremovingIndex
- 削除する列の番号
public static <E extends GridElement<E>> E[][] removeRowVectors(E[][] grid, int min, int max)
E
- 成分の型grid
- 対象となるグリッドmin
- 開始行max
- 終了行
public static <E extends GridElement<E>> E[][] removeRowVectors(E[][] grid, int[] removingIndex)
E
- 成分の型grid
- 元のグリッドremovingIndex
- 削除する行の番号
public static final <E extends GridElement<E>> E[][] getSubMatrix(E[][] grid, int rowMin, int rowMax, int columnMin, int columnMax)
E
- 成分の型grid
- 対象となるグリッドrowMin
- 始端行の数(0から始まる)rowMax
- 終端行の数(0から始まる)columnMin
- 始端列の数(0から始まる)columnMax
- 終端列の数(0から始まる)
public static final <E extends GridElement<E>> E[][] getSubMatrix(E[][] grid, int[] index, int column)
E
- 成分の型grid
- 対象となるグリッドindex
- 該当する行の番号column
- 列番号
public static final <E extends GridElement<E>> E[][] getSubMatrix(E[][] grid, int[] rowIndex, int columnMin, int columnMax)
columnMin
行目からcolumnMax
行目までの成分のrowIndex
code>で指定された列の部分グリッドを生成します。
- 型パラメータ:
E
- 成分の型- パラメータ:
grid
- 対象となるグリッドrowIndex
- 列指定ベクトルcolumnMin
- 列指定columnMax
- 列指定
- 戻り値:
- 部分グリッド
public static final <E extends GridElement<E>> E[][] getSubMatrix(E[][] grid, int row, int[] columnIndex)
row
列目の成分のcolumnIndex
で指定された行ベクトルを生成します。
E
- 成分の型grid
- 対象となるグリッドrow
- 行番号columnIndex
- 列指定ベクトル
public static final <E extends GridElement<E>> E[][] getSubMatrix(E[][] grid, int rowMin, int rowMax, int[] columnIndex)
rowMin
列からrowMax
列目の成分のcolumnIndex
で指定された行の部分グリッドを生成します。
E
- 成分の型grid
- 対象となるグリッドrowMin
- 開始行rowMax
- 終了行columnIndex
- 列指定ベクトル
public static final <E extends GridElement<E>> E[][] getSubMatrix(E[][] grid, int[] rowIndex, int[] columnIndex)
E
- 成分の型grid
- 元のグリッドrowIndex
- 該当する行の番号columnIndex
- 該当する列の番号
public static final <E extends GridElement<E>> E[] getSubVector(E[] grid, int[] index)
E
- 成分の型grid
- 元のベクトルindex
- 該当する行の番号
public static final <E extends GridElement<E>> E[] getSubVector(E[] vector, int min, int max)
E
- 成分の型vector
- 元のベクトルmin
- 開始位置max
- 終了位置
public static final <E extends GridElement<E>> E[] diagonalToVector(E[][] grid)
E
- 成分の型grid
- 対象となるグリッド
public static <E extends GridElement<E>> E[][] vectorToDiagonal(E[] vector)
E
- 成分の型vector
- 対象となるベクトル
public static <E extends GridElement<E>> E[][] diagonal(E[] vector)
E
- 成分の型vector
- 対角成分
public static final <E extends GridElement<E>> E[][] reshape(E[][] grid, int newRowSize, int newColumnSize)
E
- 成分の型grid
- 対象となるグリッドnewRowSize
- 変更後の行の数newColumnSize
- 変更後の列の数
public static final <E extends GridElement<E>> E[][] resize(E[][] grid, int newRowSize, int newColumnSize)
newRowSize
*newColSize
にサイズ変更します。
reshape(E[][], int, int)
とは異なり、成分位置の変更はせず, 自身より大きなサイズに変更する時は,零が埋められ、
自身より小さなサイズに変更する時は余分な成分は切り取られます。
E
- 成分の型grid
- 対象となるグリッドnewRowSize
- 新しい行の数newColumnSize
- 新しい列の数
public static final boolean[][] compareElementWise(GridElement<?>[][] a1, String operator, GridElement<?>[][] a2)
a1
- 第一グリッドoperator
- 比較演算子(". <", ". <=", ".>", ".>=", ".==", ".!=")a2
- 第二グリッド
public static final void setSubMatrix(GridElement<?>[][] destination, int rowTo, int columnTo, GridElement<?>[][] source, int rowMin, int rowMax, int columnMin, int columnMax)
rowTo
行columnTo
列を始点として、
グリッドsource
のrowMin
行からrowMax
行、
columnMin
列からcolumnMax
列までの値をコピーします。
destination
- コピー先のグリッドrowTo
- 変更開始行columnTo
- 変更開始列source
- コピー元のグリッドrowMin
- コピー開始行rowMax
- コピー終了行columnMin
- コピー開始列columnMax
- コピー終了列public static final void setSubMatrix(GridElement<?>[][] destination, int[] rowIndex, int columnMin, int columnMax, GridElement<?>[][] source)
destination
- 値を設定するグリッドrowIndex
- 指定する行を含む指数columnMin
- 列の始まりcolumnMax
- 列の終りsource
- 代入するグリッドpublic static final void setSubMatrix(GridElement<?>[][] destination, int rowMin, int rowMax, int[] columnIndex, GridElement<?>[][] source)
destination
- 値を代入するグリッドrowMin
- 行の始まりrowMax
- 行の終りcolumnIndex
- 指定する列を含む指数source
- 代入するグリッドpublic static final void setSubMatrix(GridElement<?>[][] destination, int[] rowIndex, int[] columnIndex, GridElement<?>[][] source)
destination
- 値を代入する行列rowIndex
- 指定する行を含む指数columnIndex
- 指定する列を含む指数source
- 代入する行列public static final void setSubVector(GridElement<?>[] destination, int to, GridElement<?>[] source, int min, int max)
destination
のto
行を始点として、
配列source
の
min
行からmax
行までの値をコピーします。
destination
- コピー先to
- 変更開始番号source
- コピー元min
- コピー開始番号max
- コピー終了番号public static final void setSubVector(GridElement<?>[] destination, int min, int max, GridElement<?>[] source)
destination
のmin
からmax
まで
配列source
の値をコピーします。
destination
- コピー先min
- コピー先の開始番号max
- コピー先の終了番号source
- コピー元public static final void setSubMatrix(GridElement<?>[][] destination, int rowMin, int rowMax, int columnMin, int columnMax, GridElement<?>[][] source)
destination
- 値を設定するグリッドrowMin
- 開始行rowMax
- 終了行columnMin
- 開始列columnMax
- 終了列source
- 代入するグリッドpublic static final void setElements(GridElement<?>[][] destination, int[] index, GridElement<?>[][] source)
destination
- 値を設定するグリッドindex
- 指定する成分番号を含む指数source
- 代入するグリッドpublic static final boolean isZero(GridElement<?>[][] grid)
grid
- 調べる行列
public static <E extends GridElement<E>> E[][] makeColumnVector(E[][] grid)
E
- 成分の型grid
- 対象となるグリッド
public static final <E extends GridElement<E>> void setZero(E[][] grid)
E
- 成分の型grid
- 対象となるグリッドpublic static <E extends GridElement<E>> E[][] createArray(int rowSize, int columnSize, GridElement<?>[][] elements)
E
- 成分の型rowSize
- 行の数columnSize
- 列の数elements
- 型を指定するため成分
public static <E extends GridElement<E>> E[][] createArray(int rowSize, int columnSize, GridElement<?>[] elements)
E
- 成分の型rowSize
- 行の数columnSize
- 列の数elements
- 型を指定するため成分
public static <E extends GridElement<E>> E[] createArray(int size, GridElement<?>[] elements)
E
- 成分の型size
- 成分の数elements
- 型を指定するため成分
public static <E extends GridElement<E>> E[] createArray(int size, GridElement<?>[][] elements)
E
- 成分の型size
- 成分の数elements
- 型を指定するため成分
public static void print(GridElement<?>[][] matrix, Writer output, String format, GridElementAlignment alignment, int maxColumnSize)
matrix
- 対象となる行列output
- ライターformat
- 成分の出力フォーマットalignment
- 成分の出力配置maxColumnSize
- 最大列の数public static <E extends GridElement<E>> boolean anyZero(E[][] matrix)
E
- 成分の型matrix
- 判定する対象の行列
public static <E extends GridElement<E>> boolean anyZero(E[] vector)
E
- 成分の型vector
- 判定する対象のベクトル
public static final <E extends GridElement<E>> E[][] createZero(E[][] matrix, int rowSize, int columnSize)
E
- 成分の型matrix
- 対象となる行列rowSize
- 行の数columnSize
- 列の数
public static final <E extends GridElement<E>> E[][] createZero(E value, int rowSize, int columnSize)
E
- 成分の型value
- 対象となる値rowSize
- 行の数columnSize
- 列の数
public static final <E extends GridElement<E>> E[] createZero(E[] matrix, int rowSize)
E
- 成分の型matrix
- 対象となる行列rowSize
- 行の数
public static final <E extends GridElement<E>> E[] createZero(E value, int size)
E
- 成分の型value
- 対象となる値size
- 行の数
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |