org.mklab.nfc.matrix
クラス GridUtil

java.lang.Object
  上位を拡張 org.mklab.nfc.matrix.GridUtil

public class GridUtil
extends Object

グリッドGridのユーティリティクラスです。

バージョン:
$Revision: 1.17 $
作成者:
Koga Laboratory

コンストラクタの概要
GridUtil()
           
 
メソッドの概要
static
<E extends GridElement<E>>
boolean
anyZero(E[] vector)
          少なくとも1個は零の成分がベクトルに含まれるか判定します。
static
<E extends GridElement<E>>
boolean
anyZero(E[][] matrix)
          少なくとも1個は零の成分が行列に含まれるか判定します。
static
<E extends GridElement<E>>
E[][]
appendDown(GridElement<?>[][] a1, GridElement<?>[][] a2)
          2個のグリッドを縦に接続したグリッドを生成します。
static
<E extends GridElement<E>>
E[][]
appendRight(GridElement<?>[][] a1, GridElement<?>[][] a2)
          2個のグリッドを横に接続したグリッドを生成します。
static
<E extends GridElement<E>>
E[]
clone(E[] grid)
          グリッドの複製を生成します。
static
<E extends GridElement<E>>
E[][]
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
<E extends GridElement<E>>
E[]
createArray(int size, GridElement<?>[] elements)
          指定された成分と同じ型の配列を生成します。
static
<E extends GridElement<E>>
E[]
createArray(int size, GridElement<?>[][] elements)
          指定された成分と同じ型の配列を生成します。
static
<E extends GridElement<E>>
E[][]
createArray(int rowSize, int columnSize, GridElement<?>[] elements)
          指定された成分と同じ型の配列を生成します。
static
<E extends GridElement<E>>
E[][]
createArray(int rowSize, int columnSize, GridElement<?>[][] elements)
          指定された成分と同じ型の配列を生成します。
static
<E extends GridElement<E>>
E[][]
createSameClassArray(GridElement<?>[][] grid)
          グリッドの複製を生成します。
static
<E extends GridElement<E>>
E[][]
createZero(E[][] matrix, int rowSize, int columnSize)
          零行列を生成します。
static
<E extends GridElement<E>>
E[]
createZero(E[] matrix, int rowSize)
          零ベクトルを生成します。
static
<E extends GridElement<E>>
E[]
createZero(E value, int size)
          零ベクトルを生成します。
static
<E extends GridElement<E>>
E[][]
createZero(E value, int rowSize, int columnSize)
          零行列を生成します。
static
<E extends GridElement<E>>
E[][]
diagonal(E[] vector)
          対角グリッドを生成します。
static
<E extends GridElement<E>>
E[]
diagonalToVector(E[][] grid)
          対角成分を取り出し列ベクトルとして返します。
static boolean equals(GridElement<?>[][] a1, GridElement<?>[][] a2)
          2個のグリッドの成分が全て等しか判定します。
static
<E extends GridElement<E>>
void
exchangeColumn(E[][] grid, int column1, int column2)
          column1列とcolumn2列を入れ替えます。
static
<E extends GridElement<E>>
void
exchangeRow(E[][] grid, int row1, int row2)
          row1行とrow2行を入れ替えます。
static
<E extends GridElement<E>>
E[][]
getSubMatrix(E[][] grid, int[] index, int column)
          部分グリッドを生成します。
static
<E extends GridElement<E>>
E[][]
getSubMatrix(E[][] grid, int[] rowIndex, int[] columnIndex)
          部分グリッドを生成します。
static
<E extends GridElement<E>>
E[][]
getSubMatrix(E[][] grid, int[] rowIndex, int columnMin, int columnMax)
          columnMin行目からcolumnMax行目までの成分のrowIndexで指定された列の部分グリッドを生成します。
static
<E extends GridElement<E>>
E[][]
getSubMatrix(E[][] grid, int row, int[] columnIndex)
          row列目の成分のcolumnIndexで指定された行ベクトルを生成します。
static
<E extends GridElement<E>>
E[][]
getSubMatrix(E[][] grid, int rowMin, int rowMax, int[] columnIndex)
          rowMin列からrowMax列目の成分のcolumnIndex で指定された行の部分グリッドを生成します。
static
<E extends GridElement<E>>
E[][]
getSubMatrix(E[][] grid, int rowMin, int rowMax, int columnMin, int columnMax)
          部分グリッドを生成します。
static
<E extends GridElement<E>>
E[]
getSubVector(E[] grid, int[] index)
          部分ベクトルを生成します。
static
<E extends GridElement<E>>
E[]
getSubVector(E[] vector, int min, int max)
          部分ベクトルを生成します。
static boolean isZero(GridElement<?>[][] grid)
          零行列であるか判定します。
static
<E extends GridElement<E>>
E[][]
makeColumnVector(E[][] grid)
          各列ベクトルを縦に結合し、長い列ベクトルを生成します。
static
<E extends GridElement<E>>
E[][]
permutateSelf(E[][] matrix, int[] pivot, int count, boolean rowExchange)
          行や列を交換します。
static void print(GridElement<?>[][] matrix, Writer output, String format, GridElementAlignment alignment, int maxColumnSize)
          ライターに出力します。
static
<E extends GridElement<E>>
E[][]
removeColumnVectors(E[][] grid, int[] removingIndex)
          指定された列を削除したグリッドを生成します。
static
<E extends GridElement<E>>
E[][]
removeColumnVectors(E[][] grid, int min, int max)
          指定された列を削除したグリッドを生成します。
static
<E extends GridElement<E>>
E[][]
removeRowVectors(E[][] grid, int[] removingIndex)
          指定された行を削除したグリッドを生成します。
static
<E extends GridElement<E>>
E[][]
removeRowVectors(E[][] grid, int min, int max)
          指定された行を削除したグリッドを生成します。
static
<E extends GridElement<E>>
E[][]
reshape(E[][] grid, int newRowSize, int newColumnSize)
          グリッドの成分を変えずに、グリッドの大きさ(行の数と列の数)を変形します。
static
<E extends GridElement<E>>
E[][]
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)
          rowTocolumnTo列を始点として、 グリッドsourcerowMin行から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)
          配列destinationto行を始点として、 配列sourcemin行からmax行までの値をコピーします。
static void setSubVector(GridElement<?>[] destination, int min, int max, GridElement<?>[] source)
          配列destinationminからmaxまで 配列sourceの値をコピーします。
static
<E extends GridElement<E>>
void
setZero(E[][] grid)
          グリッドの全ての成分に零を代入します。
static
<E extends GridElement<E>>
E[][]
transpose(E[] grid)
          転置グリッドを生成します。
static
<E extends GridElement<E>>
E[][]
transpose(E[][] grid)
          転置グリッドを生成します。
static
<E extends GridElement<E>>
void
transpose(E[][] matrix, E[][] result)
          転置行列の成分を設定します。
static
<E extends GridElement<E>>
E[][]
vectorToDiagonal(E[] vector)
          ベクトルの成分を対角成分とする対角グリッドを生成します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

GridUtil

public GridUtil()
メソッドの詳細

clone

public static final <E extends GridElement<E>> E[][] clone(E[][] grid)
グリッドの複製を生成します。

型パラメータ:
E - 成分の型
パラメータ:
grid - 複製の元となるグリッド
戻り値:
複製されたグリッド

createSameClassArray

public static final <E extends GridElement<E>> E[][] createSameClassArray(GridElement<?>[][] grid)
グリッドの複製を生成します。

型パラメータ:
E - 成分の型
パラメータ:
grid - 複製の元となるグリッド
戻り値:
複製されたグリッド

clone

public static final <E extends GridElement<E>> E[] clone(E[] grid)
グリッドの複製を生成します。

型パラメータ:
E - 成分の型
パラメータ:
grid - 複製の元となるグリッド
戻り値:
複製されたグリッド

exchangeRow

public static final <E extends GridElement<E>> void exchangeRow(E[][] grid,
                                                                int row1,
                                                                int row2)
row1行とrow2行を入れ替えます。

型パラメータ:
E - 成分の型
パラメータ:
grid - 対象のグリッド
row1 - 行番号1
row2 - 行番号2

exchangeColumn

public static final <E extends GridElement<E>> void exchangeColumn(E[][] grid,
                                                                   int column1,
                                                                   int column2)
column1列とcolumn2列を入れ替えます。

型パラメータ:
E - 成分の型
パラメータ:
grid - 対象のグリッド
column1 - 列番号1
column2 - 列番号2

permutateSelf

public static final <E extends GridElement<E>> E[][] permutateSelf(E[][] matrix,
                                                                   int[] pivot,
                                                                   int count,
                                                                   boolean rowExchange)
行や列を交換します。

型パラメータ:
E - 成分の型 成分の型
パラメータ:
matrix - 対象となる行列
pivot - 交換する行番号や列番号の配列
count - 交換する数
rowExchange - 行を交換する場合true
戻り値:
行や列を交換した行列

equals

public static final boolean equals(GridElement<?>[][] a1,
                                   GridElement<?>[][] a2)
2個のグリッドの成分が全て等しか判定します。

パラメータ:
a1 - 第一グリッド
a2 - 第二グリッド
戻り値:
グリッドの成分が等しければtrue、そうでなければfalseを返します。

copy

public static final void copy(GridElement<?>[][] source,
                              GridElement<?>[][] destination)
グリッドsourceの各成分をグリッドdestinationの各成分にコピーします。

パラメータ:
source - コピー元グリッド
destination - コピー先グリッド

copy

public static final void copy(GridElement<?>[] source,
                              GridElement<?>[] destination)
グリッドsourceの各成分をグリッドdestinationの各成分にコピーします。

パラメータ:
source - コピー元グリッド
destination - コピー先グリッド

appendDown

public static final <E extends GridElement<E>> E[][] appendDown(GridElement<?>[][] a1,
                                                                GridElement<?>[][] a2)
2個のグリッドを縦に接続したグリッドを生成します。

型パラメータ:
E - 成分の型
パラメータ:
a1 - 上側のグリッド
a2 - 下側のグリッド
戻り値:
接続されたグリッド

appendRight

public static final <E extends GridElement<E>> E[][] appendRight(GridElement<?>[][] a1,
                                                                 GridElement<?>[][] a2)
2個のグリッドを横に接続したグリッドを生成します。

型パラメータ:
E - 成分の型
パラメータ:
a1 - 左側のグリッド
a2 - 右側のグリッド
戻り値:
接続されたグリッド

transpose

public static final <E extends GridElement<E>> E[][] transpose(E[] grid)
転置グリッドを生成します。

型パラメータ:
E - 成分の型
パラメータ:
grid - 元のグリッド
戻り値:
転置グリッド

transpose

public static final <E extends GridElement<E>> E[][] transpose(E[][] grid)
転置グリッドを生成します。

型パラメータ:
E - 成分の型
パラメータ:
grid - 元のグリッド
戻り値:
転置グリッド

transpose

public static final <E extends GridElement<E>> void transpose(E[][] matrix,
                                                              E[][] result)
転置行列の成分を設定します。

型パラメータ:
E - 成分の型
パラメータ:
matrix - 元の行列
result - 転置行列の成分を代入する行列

removeColumnVectors

public static <E extends GridElement<E>> E[][] removeColumnVectors(E[][] grid,
                                                                   int min,
                                                                   int max)
指定された列を削除したグリッドを生成します。

型パラメータ:
E - 成分の型
パラメータ:
grid - 対象となるグリッド
min - 開始列
max - 終了列
戻り値:
列を削除されたグリッド

removeColumnVectors

public static <E extends GridElement<E>> E[][] removeColumnVectors(E[][] grid,
                                                                   int[] removingIndex)
指定された列を削除したグリッドを生成します。

型パラメータ:
E - 成分の型
パラメータ:
grid - 元のグリッド
removingIndex - 削除する列の番号
戻り値:
列を削除されたグリッド

removeRowVectors

public static <E extends GridElement<E>> E[][] removeRowVectors(E[][] grid,
                                                                int min,
                                                                int max)
指定された行を削除したグリッドを生成します。

型パラメータ:
E - 成分の型
パラメータ:
grid - 対象となるグリッド
min - 開始行
max - 終了行
戻り値:
行を削除されたグリッド

removeRowVectors

public static <E extends GridElement<E>> E[][] removeRowVectors(E[][] grid,
                                                                int[] removingIndex)
指定された行を削除したグリッドを生成します。

型パラメータ:
E - 成分の型
パラメータ:
grid - 元のグリッド
removingIndex - 削除する行の番号
戻り値:
行を削除されたグリッド

getSubMatrix

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から始まる)
戻り値:
部分行列

getSubMatrix

public static final <E extends GridElement<E>> E[][] getSubMatrix(E[][] grid,
                                                                  int[] index,
                                                                  int column)
部分グリッドを生成します。

型パラメータ:
E - 成分の型
パラメータ:
grid - 対象となるグリッド
index - 該当する行の番号
column - 列番号
戻り値:
部分グリッド

getSubMatrix

public static final <E extends GridElement<E>> E[][] getSubMatrix(E[][] grid,
                                                                  int[] rowIndex,
                                                                  int columnMin,
                                                                  int columnMax)
columnMin行目からcolumnMax行目までの成分のrowIndexで指定された列の部分グリッドを生成します。

型パラメータ:
E - 成分の型
パラメータ:
grid - 対象となるグリッド
rowIndex - 列指定ベクトル
columnMin - 列指定
columnMax - 列指定
戻り値:
部分グリッド

getSubMatrix

public static final <E extends GridElement<E>> E[][] getSubMatrix(E[][] grid,
                                                                  int row,
                                                                  int[] columnIndex)
row列目の成分のcolumnIndexで指定された行ベクトルを生成します。

型パラメータ:
E - 成分の型
パラメータ:
grid - 対象となるグリッド
row - 行番号
columnIndex - 列指定ベクトル
戻り値:
部分グリッド

getSubMatrix

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 - 列指定ベクトル
戻り値:
部分グリッド

getSubMatrix

public static final <E extends GridElement<E>> E[][] getSubMatrix(E[][] grid,
                                                                  int[] rowIndex,
                                                                  int[] columnIndex)
部分グリッドを生成します。

型パラメータ:
E - 成分の型
パラメータ:
grid - 元のグリッド
rowIndex - 該当する行の番号
columnIndex - 該当する列の番号
戻り値:
部分グリッド

getSubVector

public static final <E extends GridElement<E>> E[] getSubVector(E[] grid,
                                                                int[] index)
部分ベクトルを生成します。

型パラメータ:
E - 成分の型
パラメータ:
grid - 元のベクトル
index - 該当する行の番号
戻り値:
部分ベクトル

getSubVector

public static final <E extends GridElement<E>> E[] getSubVector(E[] vector,
                                                                int min,
                                                                int max)
部分ベクトルを生成します。

型パラメータ:
E - 成分の型
パラメータ:
vector - 元のベクトル
min - 開始位置
max - 終了位置
戻り値:
部分ベクトル

diagonalToVector

public static final <E extends GridElement<E>> E[] diagonalToVector(E[][] grid)
対角成分を取り出し列ベクトルとして返します。

型パラメータ:
E - 成分の型
パラメータ:
grid - 対象となるグリッド
戻り値:
対角成分からなる縦ベクトル

vectorToDiagonal

public static <E extends GridElement<E>> E[][] vectorToDiagonal(E[] vector)
ベクトルの成分を対角成分とする対角グリッドを生成します。

型パラメータ:
E - 成分の型
パラメータ:
vector - 対象となるベクトル
戻り値:
対角グリッド

diagonal

public static <E extends GridElement<E>> E[][] diagonal(E[] vector)
対角グリッドを生成します。

型パラメータ:
E - 成分の型
パラメータ:
vector - 対角成分
戻り値:
対角グリッド

reshape

public static final <E extends GridElement<E>> E[][] reshape(E[][] grid,
                                                             int newRowSize,
                                                             int newColumnSize)
グリッドの成分を変えずに、グリッドの大きさ(行の数と列の数)を変形します。

型パラメータ:
E - 成分の型
パラメータ:
grid - 対象となるグリッド
newRowSize - 変更後の行の数
newColumnSize - 変更後の列の数
戻り値:
変形したグリッド

resize

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 - 新しい列の数
戻り値:
サイズ変更後のグリッド

compareElementWise

public static final boolean[][] compareElementWise(GridElement<?>[][] a1,
                                                   String operator,
                                                   GridElement<?>[][] a2)
2個のグリッドを成分毎にoperatorで指定された演算子で比較し, 計算結果を成分とするbooleanのグリッドを生成します。

パラメータ:
a1 - 第一グリッド
operator - 比較演算子(". <", ". <=", ".>", ".>=", ".==", ".!=")
a2 - 第二グリッド
戻り値:
計算結果を成分とするbooleanのグリッド

setSubMatrix

public static final void setSubMatrix(GridElement<?>[][] destination,
                                      int rowTo,
                                      int columnTo,
                                      GridElement<?>[][] source,
                                      int rowMin,
                                      int rowMax,
                                      int columnMin,
                                      int columnMax)
rowTocolumnTo列を始点として、 グリッドsourcerowMin行からrowMax行、 columnMin列からcolumnMax列までの値をコピーします。

パラメータ:
destination - コピー先のグリッド
rowTo - 変更開始行
columnTo - 変更開始列
source - コピー元のグリッド
rowMin - コピー開始行
rowMax - コピー終了行
columnMin - コピー開始列
columnMax - コピー終了列

setSubMatrix

public static final void setSubMatrix(GridElement<?>[][] destination,
                                      int[] rowIndex,
                                      int columnMin,
                                      int columnMax,
                                      GridElement<?>[][] source)
指定された場所に値を代入します。

パラメータ:
destination - 値を設定するグリッド
rowIndex - 指定する行を含む指数
columnMin - 列の始まり
columnMax - 列の終り
source - 代入するグリッド

setSubMatrix

public static final void setSubMatrix(GridElement<?>[][] destination,
                                      int rowMin,
                                      int rowMax,
                                      int[] columnIndex,
                                      GridElement<?>[][] source)
指定された場所に値を代入します。

パラメータ:
destination - 値を代入するグリッド
rowMin - 行の始まり
rowMax - 行の終り
columnIndex - 指定する列を含む指数
source - 代入するグリッド

setSubMatrix

public static final void setSubMatrix(GridElement<?>[][] destination,
                                      int[] rowIndex,
                                      int[] columnIndex,
                                      GridElement<?>[][] source)
指定された場所に値を代入します。

パラメータ:
destination - 値を代入する行列
rowIndex - 指定する行を含む指数
columnIndex - 指定する列を含む指数
source - 代入する行列

setSubVector

public static final void setSubVector(GridElement<?>[] destination,
                                      int to,
                                      GridElement<?>[] source,
                                      int min,
                                      int max)
配列destinationto行を始点として、 配列sourcemin行からmax行までの値をコピーします。

パラメータ:
destination - コピー先
to - 変更開始番号
source - コピー元
min - コピー開始番号
max - コピー終了番号

setSubVector

public static final void setSubVector(GridElement<?>[] destination,
                                      int min,
                                      int max,
                                      GridElement<?>[] source)
配列destinationminからmaxまで 配列sourceの値をコピーします。

パラメータ:
destination - コピー先
min - コピー先の開始番号
max - コピー先の終了番号
source - コピー元

setSubMatrix

public static final void setSubMatrix(GridElement<?>[][] destination,
                                      int rowMin,
                                      int rowMax,
                                      int columnMin,
                                      int columnMax,
                                      GridElement<?>[][] source)
指定したブロックに値を代入します。

パラメータ:
destination - 値を設定するグリッド
rowMin - 開始行
rowMax - 終了行
columnMin - 開始列
columnMax - 終了列
source - 代入するグリッド

setElements

public static final void setElements(GridElement<?>[][] destination,
                                     int[] index,
                                     GridElement<?>[][] source)
指定された番号の成分に値を代入します。

パラメータ:
destination - 値を設定するグリッド
index - 指定する成分番号を含む指数
source - 代入するグリッド

isZero

public static final boolean isZero(GridElement<?>[][] grid)
零行列であるか判定します。

パラメータ:
grid - 調べる行列
戻り値:
零行列ならばtrue、そうでなければfalse

makeColumnVector

public static <E extends GridElement<E>> E[][] makeColumnVector(E[][] grid)
各列ベクトルを縦に結合し、長い列ベクトルを生成します。

型パラメータ:
E - 成分の型
パラメータ:
grid - 対象となるグリッド
戻り値:
列ベクトル

setZero

public static final <E extends GridElement<E>> void setZero(E[][] grid)
グリッドの全ての成分に零を代入します。

型パラメータ:
E - 成分の型
パラメータ:
grid - 対象となるグリッド

createArray

public static <E extends GridElement<E>> E[][] createArray(int rowSize,
                                                           int columnSize,
                                                           GridElement<?>[][] elements)
指定された成分と同じ型の配列を生成します。

型パラメータ:
E - 成分の型
パラメータ:
rowSize - 行の数
columnSize - 列の数
elements - 型を指定するため成分
戻り値:
指定された成分と同じ型の配列

createArray

public static <E extends GridElement<E>> E[][] createArray(int rowSize,
                                                           int columnSize,
                                                           GridElement<?>[] elements)
指定された成分と同じ型の配列を生成します。

型パラメータ:
E - 成分の型
パラメータ:
rowSize - 行の数
columnSize - 列の数
elements - 型を指定するため成分
戻り値:
指定された成分と同じ型の配列

createArray

public static <E extends GridElement<E>> E[] createArray(int size,
                                                         GridElement<?>[] elements)
指定された成分と同じ型の配列を生成します。

型パラメータ:
E - 成分の型
パラメータ:
size - 成分の数
elements - 型を指定するため成分
戻り値:
指定された成分と同じ型の配列

createArray

public static <E extends GridElement<E>> E[] createArray(int size,
                                                         GridElement<?>[][] elements)
指定された成分と同じ型の配列を生成します。

型パラメータ:
E - 成分の型
パラメータ:
size - 成分の数
elements - 型を指定するため成分
戻り値:
指定された成分と同じ型の配列

print

public static void print(GridElement<?>[][] matrix,
                         Writer output,
                         String format,
                         GridElementAlignment alignment,
                         int maxColumnSize)
ライターに出力します。

パラメータ:
matrix - 対象となる行列
output - ライター
format - 成分の出力フォーマット
alignment - 成分の出力配置
maxColumnSize - 最大列の数

anyZero

public static <E extends GridElement<E>> boolean anyZero(E[][] matrix)
少なくとも1個は零の成分が行列に含まれるか判定します。

型パラメータ:
E - 成分の型
パラメータ:
matrix - 判定する対象の行列
戻り値:
少なくとも1個は零の成分があればtrue、そうでなければfalse

anyZero

public static <E extends GridElement<E>> boolean anyZero(E[] vector)
少なくとも1個は零の成分がベクトルに含まれるか判定します。

型パラメータ:
E - 成分の型
パラメータ:
vector - 判定する対象のベクトル
戻り値:
少なくとも1個は零の成分があればtrue、そうでなければfalse

createZero

public static final <E extends GridElement<E>> E[][] createZero(E[][] matrix,
                                                                int rowSize,
                                                                int columnSize)
零行列を生成します。

型パラメータ:
E - 成分の型
パラメータ:
matrix - 対象となる行列
rowSize - 行の数
columnSize - 列の数
戻り値:
零行列

createZero

public static final <E extends GridElement<E>> E[][] createZero(E value,
                                                                int rowSize,
                                                                int columnSize)
零行列を生成します。

型パラメータ:
E - 成分の型
パラメータ:
value - 対象となる値
rowSize - 行の数
columnSize - 列の数
戻り値:
零行列

createZero

public static final <E extends GridElement<E>> E[] createZero(E[] matrix,
                                                              int rowSize)
零ベクトルを生成します。

型パラメータ:
E - 成分の型
パラメータ:
matrix - 対象となる行列
rowSize - 行の数
戻り値:
零ベクトル

createZero

public static final <E extends GridElement<E>> E[] createZero(E value,
                                                              int size)
零ベクトルを生成します。

型パラメータ:
E - 成分の型
パラメータ:
value - 対象となる値
size - 行の数
戻り値:
零ベクトル