@Override public Vector solve(Vector b, Vector x) { DenseMatrix B = new DenseMatrix(b, false), X = new DenseMatrix(x, false); solve(B, X); return x; }
@Override public Vector solve(Vector b, Vector x) { DenseMatrix B = new DenseMatrix(b, false), X = new DenseMatrix(x, false); solve(B, X); return x; }
@Override public long process(BenchmarkMatrix[] inputs, BenchmarkMatrix[] outputs, long numTrials) { DenseMatrix matA = inputs[0].getOriginal(); DenseMatrix matB = inputs[1].getOriginal(); DenseMatrix result = new DenseMatrix(matA.numColumns(),matB.numColumns()); long prev = System.nanoTime(); for( long i = 0; i < numTrials; i++ ) { matA.solve(matB,result); } long elapsedTime = System.nanoTime()-prev; if( outputs != null ) { outputs[0] = new MtjBenchmarkMatrix(result); } return elapsedTime; } }
@Override public long process(BenchmarkMatrix[] inputs, BenchmarkMatrix[] outputs, long numTrials) { DenseMatrix matA = inputs[0].getOriginal(); DenseMatrix I = Matrices.identity(matA.numColumns()); DenseMatrix inv = new DenseMatrix(matA.numColumns(),matA.numColumns()); long prev = System.nanoTime(); for( long i = 0; i < numTrials; i++ ) { matA.solve(I,inv); } long elapsedTime = System.nanoTime()-prev; if( outputs != null ) { outputs[0] = new MtjBenchmarkMatrix(inv); } return elapsedTime; } }
public Matrix solve(Matrix b) { if (b instanceof MTJDenseDoubleMatrix2D) { MTJDenseDoubleMatrix2D b2 = (MTJDenseDoubleMatrix2D) b; DenseMatrix x = new DenseMatrix((int) getColumnCount(), (int) b2.getColumnCount()); matrix.solve(b2.matrix, x); return new MTJDenseDoubleMatrix2D(x); } else { return super.solve(b); } }
public Matrix solve(Matrix b) { if (b instanceof MTJDenseDoubleMatrix2D) { MTJDenseDoubleMatrix2D b2 = (MTJDenseDoubleMatrix2D) b; DenseMatrix x = new DenseMatrix((int) getColumnCount(), (int) b2.getColumnCount()); matrix.solve(b2.matrix, x); return new MTJDenseDoubleMatrix2D(x); } else { return super.solve(b); } }
public double getDouble(long... coordinates) { if (inv == null) { DenseMatrix A = new MTJDenseDoubleMatrix2D(getSource()).getWrappedObject(); DenseMatrix I = Matrices.identity((int) getSource().getColumnCount()); DenseMatrix AI = I.copy(); inv = new MTJDenseDoubleMatrix2D((DenseMatrix) A.solve(I, AI)); } return inv.getAsDouble(coordinates); }
public double getDouble(long... coordinates) { if (inv == null) { DenseMatrix A = new MTJDenseDoubleMatrix2D(getSource()).getWrappedObject(); DenseMatrix I = Matrices.identity((int) getSource().getColumnCount()); DenseMatrix AI = I.copy(); inv = new MTJDenseDoubleMatrix2D((DenseMatrix) A.solve(I, AI)); } return inv.getAsDouble(coordinates); }