/** * Returns the upper triangular factor */ public UpperTriangDenseMatrix getU() { return new UpperTriangDenseMatrix(getLU(), false); }
public Matrix[] lu() { try { DenseLU lu = DenseLU.factorize(getWrappedObject()); Matrix l = new MTJDenseDoubleMatrix2D(lu.getL()); Matrix u = new MTJDenseDoubleMatrix2D(lu.getU()); int m = (int) getRowCount(); int[] piv = lu.getPivots(); Matrix p = new MTJDenseDoubleMatrix2D(m, m); // pivots seem to be broken // http://code.google.com/p/matrix-toolkits-java/issues/detail?id=1 for (int i = 0; i < m; i++) { p.setAsDouble(1, i, piv[i]); } p.eye(Ret.ORIG); return new Matrix[] { l, u, p }; } catch (Exception e) { throw new RuntimeException(e); } }
public Matrix[] lu() { try { DenseLU lu = DenseLU.factorize(getWrappedObject()); Matrix l = new MTJDenseDoubleMatrix2D(lu.getL()); Matrix u = new MTJDenseDoubleMatrix2D(lu.getU()); int m = (int) getRowCount(); int[] piv = lu.getPivots(); Matrix p = new MTJDenseDoubleMatrix2D(m, m); // pivots seem to be broken // http://code.google.com/p/matrix-toolkits-java/issues/detail?id=1 for (int i = 0; i < m; i++) { p.setAsDouble(1, i, piv[i]); } p.eye(Ret.ORIG); return new Matrix[] { l, u, p }; } catch (Exception e) { throw new RuntimeException(e); } }
/** * Returns the lower triangular factor */ public UnitLowerTriangDenseMatrix getL() { return new UnitLowerTriangDenseMatrix(getLU(), false); }
/** * Returns the lower triangular factor */ public UnitLowerTriangDenseMatrix getL() { return new UnitLowerTriangDenseMatrix(getLU(), false); }
/** * Returns the upper triangular factor */ public UpperTriangDenseMatrix getU() { return new UpperTriangDenseMatrix(getLU(), false); }