net.sourceforge.combean.mathprog.lp.model
Class LPSparseVectorWithIndexMapping

Package class diagram package LPSparseVectorWithIndexMapping
java.lang.Object
  extended by net.sourceforge.combean.mathprog.lp.model.LPSparseVectorWithIndexMapping
All Implemented Interfaces:
SparseVec<NoLabel>, SparseVector

public class LPSparseVectorWithIndexMapping
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  LPModelIndexMapping mapping
           
 
Constructor Summary
LPSparseVectorWithIndexMapping(LPSparseVector wrappedVec, int dimension, LPModelIndexMapping 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 LPModelIndexMapping mapping
Constructor Detail

LPSparseVectorWithIndexMapping

public LPSparseVectorWithIndexMapping(LPSparseVector wrappedVec,
                                      int dimension,
                                      LPModelIndexMapping 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