@Override final public DenseVector createVector( final int dim) { return new DenseVector(dim); }
@Override final public DenseVector createVector( final int dim) { return new DenseVector(dim); }
@Override final public Vector scale( final double d) { DenseVector result = new DenseVector(values.length); for (int i = 0; i < values.length; ++i) { result.values[i] = values[i] * d; } return result; }
@Override final public Vector scale( final double d) { DenseVector result = new DenseVector(values.length); for (int i = 0; i < values.length; ++i) { result.values[i] = values[i] * d; } return result; }
@Override final public DenseVector createVector( final int dim) { return new DenseVector(dim); }
@Override final public Vector scale( final double d) { DenseVector result = new DenseVector(values.length); for (int i = 0; i < values.length; ++i) { result.values[i] = values[i] * d; } return result; }
@Override public final Vector stack( final DenseVector other) { DenseVector result = new DenseVector(values.length + other.values.length); for (int i = 0; i < values.length; ++i) { result.values[i] = values[i]; } for (int i = 0; i < other.values.length; ++i) { result.values[values.length + i] = other.values[i]; } return result; }
@Override public final Vector stack( final DenseVector other) { DenseVector result = new DenseVector(values.length + other.values.length); for (int i = 0; i < values.length; ++i) { result.values[i] = values[i]; } for (int i = 0; i < other.values.length; ++i) { result.values[values.length + i] = other.values[i]; } return result; }
@Override public final Vector stack( final DenseVector other) { DenseVector result = new DenseVector(values.length + other.values.length); for (int i = 0; i < values.length; ++i) { result.values[i] = values[i]; } for (int i = 0; i < other.values.length; ++i) { result.values[values.length + i] = other.values[i]; } return result; }
@Override final public DenseVector copyVector( final Vector m) { int n = m.getDimensionality(); DenseVector result = new DenseVector(n); for (int i = 0; i < n; ++i) { result.values[i] = m.get(i); } return result; }
@Override final public DenseVector copyVector( final Vector m) { int n = m.getDimensionality(); DenseVector result = new DenseVector(n); for (int i = 0; i < n; ++i) { result.values[i] = m.get(i); } return result; }
@Override final public DenseVector copyVector( final Vector m) { int n = m.getDimensionality(); DenseVector result = new DenseVector(n); for (int i = 0; i < n; ++i) { result.values[i] = m.get(i); } return result; }
@Override final public Vector getRow( final int rowIndex) { if (rowIndex < 0 || rowIndex >= getNumRows()) { throw new ArrayIndexOutOfBoundsException("Input row index (" + rowIndex + ") is not within this " + getNumRows() + "x" + getNumColumns() + " matrix"); } return new DenseVector(rows[rowIndex]); }
@Override final public Vector getRow( final int rowIndex) { if (rowIndex < 0 || rowIndex >= getNumRows()) { throw new ArrayIndexOutOfBoundsException("Input row index (" + rowIndex + ") is not within this " + getNumRows() + "x" + getNumColumns() + " matrix"); } return new DenseVector(rows[rowIndex]); }
@Override final public Vector getRow( final int rowIndex) { if (rowIndex < 0 || rowIndex >= getNumRows()) { throw new ArrayIndexOutOfBoundsException("Input row index (" + rowIndex + ") is not within this " + getNumRows() + "x" + getNumColumns() + " matrix"); } return new DenseVector(rows[rowIndex]); }
@Override public final Vector times( final DenseVector vector) { vector.assertDimensionalityEquals(this.getNumColumns()); DenseVector result = new DenseVector(diagonal.length); for (int i = 0; i < diagonal.length; ++i) { result.setElement(i, vector.get(i) * diagonal[i]); } return result; }
@Override public final Vector times( final DenseVector vector) { vector.assertDimensionalityEquals(this.getNumColumns()); DenseVector result = new DenseVector(diagonal.length); for (int i = 0; i < diagonal.length; ++i) { result.setElement(i, vector.get(i) * diagonal[i]); } return result; }
@Override public final Vector times( final DenseVector vector) { vector.assertDimensionalityEquals(this.getNumColumns()); DenseVector result = new DenseVector(diagonal.length); for (int i = 0; i < diagonal.length; ++i) { result.setElement(i, vector.get(i) * diagonal[i]); } return result; }
@Override final public Vector convertToVector() { DenseVector result = new DenseVector(getNumRows() * getNumColumns()); final int numRows = this.getNumRows(); final int numColumns = this.getNumColumns(); for (int i = 0; i < numRows; ++i) { for (int j = 0; j < numColumns; ++j) { result.values[i + j * getNumRows()] = this.rows[i].values[j]; } } return result; }
@Override final public Vector convertToVector() { DenseVector result = new DenseVector(getNumRows() * getNumColumns()); final int numRows = this.getNumRows(); final int numColumns = this.getNumColumns(); for (int i = 0; i < numRows; ++i) { for (int j = 0; j < numColumns; ++j) { result.values[i + j * getNumRows()] = this.rows[i].values[j]; } } return result; }