@Override final public Vector solve( final Vector b) { checkSolveDimensions(b); Vector result = b.clone(); for (int i = 0; i < diagonal.length; ++i) { if (diagonal[i] == 0) { if (result.get(i) != 0) { throw new UnsupportedOperationException("Unable to solve " + "Ax=b because b spans different space than A"); } } else { result.setElement(i, result.get(i) / diagonal[i]); } } return result; }
@Override final public Vector solve( final Vector b) { checkSolveDimensions(b); Vector result = b.clone(); for (int i = 0; i < diagonal.length; ++i) { if (diagonal[i] == 0) { if (result.get(i) != 0) { throw new UnsupportedOperationException("Unable to solve " + "Ax=b because b spans different space than A"); } } else { result.setElement(i, result.get(i) / diagonal[i]); } } return result; }
@Override final public Vector solve( final Vector b) { checkSolveDimensions(b); Vector result = b.clone(); for (int i = 0; i < diagonal.length; ++i) { if (diagonal[i] == 0) { if (result.get(i) != 0) { throw new UnsupportedOperationException("Unable to solve " + "Ax=b because b spans different space than A"); } } else { result.setElement(i, result.get(i) / diagonal[i]); } } return result; }
@Override final public Matrix solve( final Matrix B) { checkSolveDimensions(B); Matrix result = B.clone(); final int numColumns = B.getNumColumns(); for (int i = 0; i < diagonal.length; ++i) { for (int j = 0; j < numColumns; ++j) { if (diagonal[i] == 0) { throw new UnsupportedOperationException("Can't invert " + "matrix because it does not span the columns"); } else { result.setElement(i, j, result.get(i, j) / diagonal[i]); } } } return result; }
@Override final public Matrix solve( final Matrix B) { checkSolveDimensions(B); Matrix result = B.clone(); final int numColumns = B.getNumColumns(); for (int i = 0; i < diagonal.length; ++i) { for (int j = 0; j < numColumns; ++j) { if (diagonal[i] == 0) { throw new UnsupportedOperationException("Can't invert " + "matrix because it does not span the columns"); } else { result.setElement(i, j, result.get(i, j) / diagonal[i]); } } } return result; }
@Override final public Matrix solve( final Matrix B) { checkSolveDimensions(B); Matrix result = B.clone(); final int numColumns = B.getNumColumns(); for (int i = 0; i < diagonal.length; ++i) { for (int j = 0; j < numColumns; ++j) { if (diagonal[i] == 0) { throw new UnsupportedOperationException("Can't invert " + "matrix because it does not span the columns"); } else { result.setElement(i, j, result.get(i, j) / diagonal[i]); } } } return result; }