Documentation of 'medusa.georgios.enhanced_mcl.SparseMatrix' Java class
SparseMatrix
medusa.georgios.enhanced_mcl

Class SparseMatrix

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<SparseVector>, java.util.Collection<SparseVector>, java.util.List<SparseVector>, java.util.RandomAccess


    public class SparseMatrix
    extends java.util.ArrayList<SparseVector>
    SparseMatrix is a sparse matrix with row-major format.

    Conventions: except for the inherited methods and normalise(double), operations leave this ummodified (immutable) if there is a return value. Within operations, no pruning of values close to zero is done. Pruning can be controlled via the prune() method.

    See Also:
    Serialized Form
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      double add(int i, int j, double a)
      adds a to the specified element, growing the matrix if necessary.
      void adjustMaxIndex(int i, int j)
      adjusts the size of the matrix.
      SparseMatrix copy()
      copy the matrix and its elements
      double get(int i, int j)
      get number at index or 0.
      SparseVector getColum(int i)
      get a column of the sparse matrix (expensive).
      double[][] getDense()
      create dense representation
      int[] getSize()
      get the size of the matrix
      void hadamardPower(double s)
      mutable m2 = m .^ s
      void hadamardProduct(SparseMatrix m)
      mutable Hadamard product
      SparseMatrix matrixTimes(SparseMatrix m)
      immutable multiply matrix M with this (A) : M * A
      SparseVector normalise(double rowsum)
      normalise rows to rowsum
      void normaliseCols()
      normalise by minor dimension (columns), expensive.
      void normaliseRows()
      normalise by major dimension (rows)
      void prune(double threshold)
      prune all values whose magnitude is below threshold
      double set(int i, int j, double a)
      set the value at the index i,j, returning the old value or 0.
      SparseVector set(int i, SparseVector x)
      set the sparse vector at index i.
      SparseMatrix times(SparseMatrix m)
      immutable multiply this matrix (A) with M : A * M
      SparseVector times(SparseVector v)
      immutable multiply this times the vector: A * x, i.e., rowwise.
      SparseMatrix timesTransposed(SparseMatrix m)
      mutable multiply this matrix (A) with M : A * M'
      java.lang.String toString() 
      java.lang.String toStringDense()
      prints a dense representation
      SparseMatrix transpose()
      immutable transpose.
      SparseVector vectorTimes(SparseVector v)
      immutable multiply the vector times this: x' * A, i.e., colwise.
      • Methods inherited from class java.util.ArrayList

        add, add, addAll, addAll, clear, clone, contains, ensureCapacity, forEach, get, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeIf, replaceAll, retainAll, size, sort, spliterator, subList, toArray, toArray, trimToSize
      • Methods inherited from class java.util.AbstractList

        equals, hashCode
      • Methods inherited from class java.util.AbstractCollection

        containsAll
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.List

        containsAll, equals, hashCode
      • Methods inherited from interface java.util.Collection

        parallelStream, stream
    • Constructor Detail

      • SparseMatrix

        public SparseMatrix()
        empty sparse matrix
      • SparseMatrix

        public SparseMatrix(int rows,
                            int cols)
        empty sparse matrix with allocated number of rows
        Parameters:
        rows -
        cols -
      • SparseMatrix

        public SparseMatrix(double[][] x)
        create sparse matrix from full matrix
        Parameters:
        x -
      • SparseMatrix

        public SparseMatrix(SparseMatrix matrix)
        copy contructor
        Parameters:
        matrix -
    • Method Detail

      • getDense

        public double[][] getDense()
        create dense representation
        Returns:
      • set

        public SparseVector set(int i,
                                SparseVector x)
        set the sparse vector at index i.
        Specified by:
        set in interface java.util.List<SparseVector>
        Overrides:
        set in class java.util.ArrayList<SparseVector>
        Parameters:
        i -
        x -
        Returns:
        the old value of the element
      • get

        public double get(int i,
                          int j)
        get number at index or 0. if not set. If index > size, returns 0.
        Parameters:
        i -
        j -
        Returns:
      • set

        public double set(int i,
                          int j,
                          double a)
        set the value at the index i,j, returning the old value or 0. Increase matrix size if index exceeds the dimension.
        Parameters:
        i -
        j -
        a -
        Returns:
      • adjustMaxIndex

        public void adjustMaxIndex(int i,
                                   int j)
        adjusts the size of the matrix.
        Parameters:
        i - index addressed
        j - index addressed
      • getSize

        public int[] getSize()
        get the size of the matrix
        Returns:
      • add

        public double add(int i,
                          int j,
                          double a)
        adds a to the specified element, growing the matrix if necessary.
        Parameters:
        i -
        j -
        a -
        Returns:
        new value
      • normalise

        public SparseVector normalise(double rowsum)
        normalise rows to rowsum
        Parameters:
        rowsum - for each row
        Returns:
        vector of old row sums
      • normaliseRows

        public void normaliseRows()
        normalise by major dimension (rows)
      • normaliseCols

        public void normaliseCols()
        normalise by minor dimension (columns), expensive.
      • copy

        public SparseMatrix copy()
        copy the matrix and its elements
      • times

        public SparseVector times(SparseVector v)
        immutable multiply this times the vector: A * x, i.e., rowwise.
        Parameters:
        v -
        Returns:
      • vectorTimes

        public SparseVector vectorTimes(SparseVector v)
        immutable multiply the vector times this: x' * A, i.e., colwise.
        Parameters:
        v -
        Returns:
      • timesTransposed

        public SparseMatrix timesTransposed(SparseMatrix m)
        mutable multiply this matrix (A) with M : A * M'
        Parameters:
        m -
        Returns:
        modified this
      • times

        public SparseMatrix times(SparseMatrix m)
        immutable multiply this matrix (A) with M : A * M
        Parameters:
        m -
        Returns:
        matrix product
      • matrixTimes

        public SparseMatrix matrixTimes(SparseMatrix m)
        immutable multiply matrix M with this (A) : M * A
        Parameters:
        m -
        Returns:
      • transpose

        public SparseMatrix transpose()
        immutable transpose.
        Returns:
      • getColum

        public SparseVector getColum(int i)
        get a column of the sparse matrix (expensive).
        Returns:
      • hadamardProduct

        public void hadamardProduct(SparseMatrix m)
        mutable Hadamard product
        Parameters:
        m -
      • hadamardPower

        public void hadamardPower(double s)
        mutable m2 = m .^ s
        Parameters:
        s -
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.util.AbstractCollection<SparseVector>
      • toStringDense

        public java.lang.String toStringDense()
        prints a dense representation
        Returns:
      • prune

        public void prune(double threshold)
        prune all values whose magnitude is below threshold

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.