## org.biojava.stats.svm
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:
  Serialized Form

Nested Class Summary
`static class` `SparseVector.NormalizingKernel` A version of the standard dot-product kernel that scales each column independently.

Field Summary
`static SVMKernel` `kernel`

Constructor Summary
`SparseVector()`
`SparseVector(int capacity)`

Method Summary
`double` `get(int dim)` Retrieve the value at dimension dim.
`int` `getDimAtIndex(int indx)` Retrieve the dimension at a specific index.
`double` `getValueAtIndex(int indx)` Retrieve the value at a specific index.
`int` `maxIndex()`
`static SparseVector` `normalLengthVector(SparseVector v, double length)`
`void` `put(int dim, double value)` Set the value at a particular dimension.
`int` `size()` The number of used dimensions.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### kernel

    public static final SVMKernel kernel

Constructor Detail

### SparseVector

    public SparseVector()

### SparseVector

    public SparseVector(int capacity)

Method Detail

### 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)