/** * {@inheritDoc} */ public double[] getColumn(int column) { return backingMatrix.getColumn(getRealColumn(column)); }
/** * {@inheritDoc} */ public DoubleVector getRowVector(int row) { return new DenseVector(getRow(row)); }
/** * {@inheritDoc} */ public DoubleVector getColumnVector(int column) { return backingMatrix.getColumnVector(getRealColumn(column)); }
/** * {@inheritDoc} */ public double get(int row, int col) { return backingMatrix.get(row, getRealColumn(col)); }
/** * {@inheritDoc} */ public void set(int row, int col, double val) { backingMatrix.set(row, getRealColumn(col), val); }
/** * {@inheritDoc} */ public void setColumn(int column, double[] columns) { backingMatrix.setColumn(getRealColumn(column), columns); }
/** * {@inheritDoc} */ public void setColumn(int column, DoubleVector values) { backingMatrix.setColumn(getRealColumn(column), values); }
/** * {@inheritDoc} */ public void setRow(int row, DoubleVector values) { if (values.length() != columns) throw new IllegalArgumentException("cannot set a row " + "whose dimensions are different than the matrix"); if (values instanceof SparseVector) { SparseVector sv = (SparseVector)values; for (int nz : sv.getNonZeroIndices()) backingMatrix.set(nz, getRealColumn(nz), values.get(nz)); } else { for (int i = 0; i < columnToReal.length; ++i) backingMatrix.set(i, columnToReal[i], values.get(i)); } }