/** * {@inheritDoc} */ public synchronized double[] getRow(int row) { return m.getRow(row); }
/** * {@inheritDoc} */ public double[] getColumn(int column) { return m.getRow(column); }
/** * {@inheritDoc} */ public synchronized double[] getRow(int row) { return m.getRow(row); }
/** * {@inheritDoc} */ public double[] getColumn(int column) { return m.getRow(column); }
/** * {@inheritDoc} */ public double[][] toDenseArray() { double[][] arr = new double[rows][backingMatrix.columns()]; for (int i = 0; i < rowToReal.length; ++i) arr[i] = backingMatrix.getRow(rowToReal[i]); return arr; }
/** * {@inheritDoc} */ public double[] getRow(int row) { return backingMatrix.getRow(getRealRow(row)); }
/** * {@inheritDoc} */ public double[][] toDenseArray() { double[][] arr = new double[rows][backingMatrix.columns()]; for (int i = 0; i < rowToReal.length; ++i) arr[i] = backingMatrix.getRow(rowToReal[i]); return arr; }
/** * {@inheritDoc} */ public double[] getRow(int row) { return backingMatrix.getRow(getRealRow(row)); }
/** * {@inheritDoc} */ public double[] getRow(int row) { double[] values = m.getRow(row); for (int i = 0; i < values.length; ++i) values[i] *= scales.get(i); return values; }
/** * {@inheritDoc} */ public double[] getRow(int row) { double[] values = m.getRow(row); for (int i = 0; i < values.length; ++i) values[i] *= scales.get(i); return values; }
/** * {@inheritDoc} */ public double[][] toDenseArray() { double[][] arr = new double[columns()][0]; int cols = columns(); for (int col = 0; col < cols; ++col) arr[col] = m.getRow(col); return arr; } }
/** * {@inheritDoc} */ public double[][] toDenseArray() { double[][] arr = new double[columns()][0]; int cols = columns(); for (int col = 0; col < cols; ++col) arr[col] = m.getRow(col); return arr; } }
private static Matrix multiplyLeftDiag(Matrix m1, Matrix m2) { Matrix resultMatrix = create(m1.rows(), m2.columns(), true); for (int r = 0; r < m1.rows(); ++r) { double element = m1.get(r, r); double[] m2Row = m2.getRow(r); for (int c = 0; c < m2.columns(); ++c) resultMatrix.set(r, c, element * m2Row[c]); } return resultMatrix; }
private static Matrix multiplyRightDiag(Matrix m1, Matrix m2) { Matrix resultMatrix = create(m1.rows(), m2.columns(), true); for (int r = 0; r < m1.rows(); ++r) { double[] row = m1.getRow(r); for (int c = 0; c < m2.columns(); ++c) { double value = m2.get(c, c); resultMatrix.set(r, c, value * row[c]); } } return resultMatrix; }
private static Matrix multiplyRightDiag(Matrix m1, Matrix m2) { Matrix resultMatrix = create(m1.rows(), m2.columns(), true); for (int r = 0; r < m1.rows(); ++r) { double[] row = m1.getRow(r); for (int c = 0; c < m2.columns(); ++c) { double value = m2.get(c, c); resultMatrix.set(r, c, value * row[c]); } } return resultMatrix; }
private static Matrix multiplyLeftDiag(Matrix m1, Matrix m2) { Matrix resultMatrix = create(m1.rows(), m2.columns(), true); for (int r = 0; r < m1.rows(); ++r) { double element = m1.get(r, r); double[] m2Row = m2.getRow(r); for (int c = 0; c < m2.columns(); ++c) resultMatrix.set(r, c, element * m2Row[c]); } return resultMatrix; }
Matrix resultMatrix = create(m1.rows(), m2.columns(), true); for (int r = 0; r < m1.rows(); ++r) { double[] row = m1.getRow(r); for (int c = 0; c < m2.columns(); ++c) { double resultValue = 0;
Matrix resultMatrix = create(m1.rows(), m2.columns(), true); for (int r = 0; r < m1.rows(); ++r) { double[] row = m1.getRow(r); for (int c = 0; c < m2.columns(); ++c) { double resultValue = 0;