net.sourceforge.combean.mathprog.linalg
Class SparseVectorWithIndexMapping

Package class diagram package SparseVectorWithIndexMapping
java.lang.Object
  extended by 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).


Field Summary
protected  IndexMapping mapping
           
 
Constructor Summary
SparseVectorWithIndexMapping(SparseVector wrappedVec, IndexMapping mapping)
           
 
Method Summary
 int getDimension()
          Get the dimension of the vector.
 int getNumIterations()
          Return the number of entries of the vector through which the iterator returned by getIterator() iterates.
 VectorIterator<NoLabel> iterator()
          Get an iterator which iterates through all non-zero entries of the vector.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

mapping

protected IndexMapping mapping
Constructor Detail

SparseVectorWithIndexMapping

public SparseVectorWithIndexMapping(SparseVector wrappedVec,
                                    IndexMapping mapping)
Parameters:
wrappedVec -
mapping -
Method Detail

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