Package org.biojava.nbio.structure.math
Class SparseVector
- java.lang.Object
-
- org.biojava.nbio.structure.math.SparseVector
-
- All Implemented Interfaces:
Serializable
public class SparseVector extends Object implements Serializable
A sparse vector, implemented using a symbol table. Derived from http://introcs.cs.princeton.edu/java/44st/SparseVector.java.html For additional documentation, see Section 4.4 of Introduction to Programming in Java: An Interdisciplinary Approach by Robert Sedgewick and Kevin Wayne.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SparseVector(int N)
Constructor. initialize the all 0s vector of length N
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
dot(SparseVector b)
Calculates the dot product of this vector a with bdouble
get(int i)
get a valueint
nnz()
double
norm()
Calculates the 2-normSparseVector
plus(SparseVector b)
Calcualtes return a + bvoid
put(int i, double value)
Setter method (should it be renamed to set?)SparseVector
scale(double alpha)
Calculates alpha * aint
size()
String
toString()
-
-
-
Constructor Detail
-
SparseVector
public SparseVector(int N)
Constructor. initialize the all 0s vector of length N- Parameters:
N
-
-
-
Method Detail
-
put
public void put(int i, double value)
Setter method (should it be renamed to set?)- Parameters:
i
- set symbolTable[i]value
-
-
get
public double get(int i)
get a value- Parameters:
i
-- Returns:
- return symbolTable[i]
-
nnz
public int nnz()
-
size
public int size()
-
dot
public double dot(SparseVector b)
Calculates the dot product of this vector a with b- Parameters:
b
-- Returns:
-
norm
public double norm()
Calculates the 2-norm- Returns:
-
scale
public SparseVector scale(double alpha)
Calculates alpha * a- Parameters:
alpha
-- Returns:
-
plus
public SparseVector plus(SparseVector b)
Calcualtes return a + b- Parameters:
b
-- Returns:
-
-