0

Javaで指定されたサイズの恒等行列を作成するユーティリティはありますか?

4

4 に答える 4

6

一般的に使用される線形代数については、ApacheCommonsMathを試してください。

// Set dimension to the size of the square matrix that you would like
// Example, this will make a 3x3 matrix with ones on the diagonal and
// zeros elsewhere.
int dimension = 3;
RealMatrix identity = RealMatrix.createRealIdentityMatrix(dimension);
于 2009-09-03T17:26:00.897 に答える
5

2 次元配列を使用してマトリックスを表し、サードパーティのライブラリを使用しない場合:

public class MatrixHelper {
  public static double[][] getIdentity(int size) {
    double[][] matrix = new double[size][size];
    for(int i = 0; i < size; i++) matrix[i][i] = 1;
    return matrix;
  }
}
于 2009-09-03T18:12:15.657 に答える
4

マトリックスのすべてのニーズにJamaをお勧めします。恒等行列を生成するための呼び出しがあります( identity メソッドを参照してください)。

于 2009-09-03T16:57:14.620 に答える
1

メモリ効率の高いソリューションは、次のようなクラスを作成することです。

public class IdentityMatrix{
     private int dimension;

     public IdentityMatrix(int dimension){
          this.dimension=dimension
     }

     public double getValue(int row,int column){
          return row == column ? 1 : 0;
     }
}
于 2009-11-25T14:40:52.817 に答える