Class FastRowAccessDoubleMatrix<R,C>

java.lang.Object
ubic.basecode.dataStructure.matrix.AbstractMatrix<R,C,Double>
ubic.basecode.dataStructure.matrix.DoubleMatrix<R,C>
ubic.basecode.dataStructure.matrix.FastRowAccessDoubleMatrix<R,C>
All Implemented Interfaces:
Serializable, Matrix2D<R,C,Double>, PrimitiveMatrix<R,C,Double>

public class FastRowAccessDoubleMatrix<R,C> extends DoubleMatrix<R,C>
Dense 2D matrix implementation designed for very fast access of entire rows.

Implementation note: The key difference between this and the DenseDouble2DMatrixNamed is that this delegates to a DoubleArrayList[], while DenseDouble2DMatrixNamed delegates to a DenseDoubleMatrix2D.

Author:
pavlidis
See Also:
  • Constructor Details

    • FastRowAccessDoubleMatrix

      public FastRowAccessDoubleMatrix(double[][] t)
      Implementation note: The input matrix is NOT COPIED (due to the way colt DoubleArrayList(double[]) is implemented).F
      Parameters:
      t -
    • FastRowAccessDoubleMatrix

      public FastRowAccessDoubleMatrix(int rows, int cols)
      Parameters:
      rows -
      cols -
  • Method Details

    • asArray

      public double[][] asArray()
      Specified by:
      asArray in class DoubleMatrix<R,C>
      Returns:
      double[][]
    • columns

      public int columns()
      Description copied from interface: Matrix2D
      Get the number of columns the matrix has.
      Returns:
      int
    • copy

      public DoubleMatrix<R,C> copy()
      Description copied from class: DoubleMatrix
      Create a deep copy of this
      Specified by:
      copy in class DoubleMatrix<R,C>
      Returns:
      a deep copy of this
    • get

      public double get(int x, int y)
      Specified by:
      get in class DoubleMatrix<R,C>
      Parameters:
      x -
      y -
      Returns:
    • getColObj

      public Double[] getColObj(int col)
      Parameters:
      col -
      Returns:
    • getColRange

      public DoubleMatrix<R,C> getColRange(int startCol, int endCol)
      Specified by:
      getColRange in class DoubleMatrix<R,C>
      Parameters:
      startCol - inclusive, numbered from zero
      endCol - inclusive, numbered from zero
      Returns:
      new matrix with just the requested range of columns from this
    • getColumn

      public double[] getColumn(int col)
      Specified by:
      getColumn in class DoubleMatrix<R,C>
    • getObject

      public Double getObject(int row, int col)
      Parameters:
      row -
      col -
      Returns:
    • getRow

      public double[] getRow(int i)
      Specified by:
      getRow in class DoubleMatrix<R,C>
    • getRowArrayList

      public DoubleArrayList getRowArrayList(int i)
      Specified by:
      getRowArrayList in class DoubleMatrix<R,C>
    • getRowObj

      public Double[] getRowObj(int row)
      Parameters:
      row -
      Returns:
    • getRowRange

      public DoubleMatrix<R,C> getRowRange(int startRow, int endRow)
      Specified by:
      getRowRange in class DoubleMatrix<R,C>
      Parameters:
      startRow - inclusive, numbered from zero
      endRow - inclusive
      Returns:
    • isMissing

      public boolean isMissing(int i, int j)
      Description copied from interface: Matrix2D
      Check if the value at a given index is missing.
      Parameters:
      i - row
      j - column
      Returns:
      true if the value is missing, false otherwise.
    • rows

      public int rows()
      Description copied from interface: Matrix2D
      Get the number of rows the matrix has
      Returns:
      int
    • set

      public void set(int x, int y, Double value)
      Parameters:
      x -
      y -
      value -
    • size

      public int size()
      Specified by:
      size in class AbstractMatrix<R,C,Double>
    • subsetColumns

      public DoubleMatrix<R,C> subsetColumns(List<C> columns)
      Description copied from class: DoubleMatrix
      Create a copy of this matrix with only the selected columns, in the selected order.
      Specified by:
      subsetColumns in class DoubleMatrix<R,C>
      Parameters:
      columns -
      Returns:
    • subsetRows

      public DoubleMatrix<R,C> subsetRows(List<R> rowNames)
      Description copied from class: DoubleMatrix
      Create a copy of this matrix with only the selected rows, in the selected order.
      Specified by:
      subsetRows in class DoubleMatrix<R,C>
      Parameters:
      rowNames -
      Returns:
    • transpose

      public DoubleMatrix<C,R> transpose()
      Specified by:
      transpose in class DoubleMatrix<R,C>
    • viewColumn

      public DoubleMatrix1D viewColumn(int column)
      Specified by:
      viewColumn in class DoubleMatrix<R,C>
    • viewRow

      public DoubleMatrix1D viewRow(int j)
      Specified by:
      viewRow in class DoubleMatrix<R,C>
      Parameters:
      j -
      Returns: