net.sourceforge.combean.mathprog.linalg
Class SparseVectorWithIndexMapping
java.lang.Object
net.sourceforge.combean.mathprog.linalg.SparseVectorWithIndexMapping
- All Implemented Interfaces:
- SparseVec<NoLabel>, SparseVector
public class SparseVectorWithIndexMapping
- extends Object
- implements SparseVector
A wrapped sparse vector where the indices of the inner vector are mapped to new index values.
The mapping has to be monotonous, i.e., the ordering of the indices of the inner vector
is preserved by the mapping. In other words, if a and b are two indices of the inner vector
with a < b, then map(a) < map(b).
mapping
protected IndexMapping mapping
SparseVectorWithIndexMapping
public SparseVectorWithIndexMapping(SparseVector wrappedVec,
IndexMapping mapping)
- Parameters:
wrappedVec
- mapping
-
getDimension
public int getDimension()
- Description copied from interface:
SparseVector
- Get the dimension of the vector.
- Specified by:
getDimension
in interface SparseVector
- Returns:
- the dimension of the vector.
iterator
public VectorIterator<NoLabel> iterator()
- Description copied from interface:
SparseVec
- Get an iterator which iterates through all non-zero entries
of the vector. The iteration must stop after exactly
getNumNonZeroEntries() steps.
An implementation may choose to also return zero entries
during the iteration. In that case, these entries must also
be counted by getNumIterations();
The iteration does not have to return the values in order of
increasing indices.
- Specified by:
iterator
in interface SparseVec<NoLabel>
- Returns:
- an iterator for the non-zero entries.
getNumIterations
public int getNumIterations()
- Description copied from interface:
SparseVec
- Return the number of entries of the vector through which the
iterator returned by getIterator() iterates.
- Specified by:
getNumIterations
in interface SparseVec<NoLabel>
- Returns:
- the number of iterations of getIterator.
toString
public String toString()
- Overrides:
toString
in class Object