Class SparseVector

java.lang.Object
org.biojava.stats.svm.SparseVector
All Implemented Interfaces:
Serializable

public class SparseVector extends Object implements Serializable
An implementation of a sparse vector.

Memory is only allocated for dimensions that have non-zero values.

Author:
Thomas Down, Matthew Pocock
See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • size

      public int size()
      The number of used dimensions.

      This is the total number of non-zero dimensions. It is not equal to the number of the highest indexed dimension.

      Returns:
      the number of non-zero dimensions
    • put

      public void put(int dim, double value)
      Set the value at a particular dimension.

      This silently handles the case when previously there was no value at dim. It does not contract the sparse array if you set a value to zero.

      Parameters:
      dim - the dimension to alter
      value - the new value
    • get

      public double get(int dim)
      Retrieve the value at dimension dim.
      Parameters:
      dim - the dimension to retrieve a value for
      Returns:
      the value at that dimension
    • getDimAtIndex

      public int getDimAtIndex(int indx)
      Retrieve the dimension at a specific index.

      E.g., if the sparse vector had dimensions 5, 11, 12, 155 set to non-zero values then sv.getDimAtIndex(2) would return 12.

      Parameters:
      indx - the index
      Returns:
      the dimension stoored at that index
      Throws:
      ArrayIndexOutOfBoundsException - if index >= size.
    • getValueAtIndex

      public double getValueAtIndex(int indx)
      Retrieve the value at a specific index.

      E.g., if the sparse vector contained the data 5->0.1, 11->100, 12->8.5, 155->-10 then sv.geValueAtIndex(2) would return 8.5.

      Parameters:
      indx - the index
      Returns:
      the value stoored at that index
      Throws:
      ArrayIndexOutOfBoundsException - if index >= size.
    • maxIndex

      public int maxIndex()
    • normalLengthVector

      public static SparseVector normalLengthVector(SparseVector v, double length)