Package no.uib.cipr.matrix.sparse
Class SparseVector
java.lang.Object
no.uib.cipr.matrix.AbstractVector
no.uib.cipr.matrix.sparse.SparseVector
- All Implemented Interfaces:
Serializable,Iterable<VectorEntry>,ISparseVector,Vector
Sparse vector
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface no.uib.cipr.matrix.Vector
Vector.Norm -
Field Summary
Fields inherited from class no.uib.cipr.matrix.AbstractVector
size -
Constructor Summary
ConstructorsConstructorDescriptionSparseVector(int size) Constructor for SparseVector.SparseVector(int size, int nz) Constructor for SparseVector.SparseVector(int size, int[] index, double[] data) Constructor for SparseVectorSparseVector(int size, int[] index, double[] data, boolean deep) Constructor for SparseVectorConstructor for SparseVector, and copies the contents from the supplied vector.SparseVector(Vector x, boolean deep) Constructor for SparseVector, and copies the contents from the supplied vector. -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(int index, double value) x(index) += valuevoidcompact()Compacts the vectorcopy()Creates a deep copy of the vectordoublexT*ydoubleget(int index) Returnsx(index)double[]getData()Returns the internal dataint[]getIndex()Returns the indicesintgetUsed()Number of entries used in the sparse structureiterator()protected doublenorm1()protected doublenorm2()protected doubleprotected doublenormInf()scale(double alpha) x=alpha*xvoidset(int index, double value) x(index) = valuex=yzero()Zeros all the entries in the vector, while preserving any underlying structureMethods inherited from class no.uib.cipr.matrix.AbstractVector
add, add, check, checkSize, norm, set, size, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
SparseVector
public SparseVector(int size, int nz) Constructor for SparseVector.- Parameters:
size- Size of the vectornz- Initial number of non-zeros
-
SparseVector
Constructor for SparseVector, and copies the contents from the supplied vector.- Parameters:
x- Vector to copy fromdeep- True if a deep copy is to be made. If the copy is shallow,xmust be aSparseVector
-
SparseVector
Constructor for SparseVector, and copies the contents from the supplied vector. Zero initial pre-allocation- Parameters:
x- Vector to copy from. A deep copy is made
-
SparseVector
public SparseVector(int size) Constructor for SparseVector. Zero initial pre-allocation- Parameters:
size- Size of the vector
-
SparseVector
public SparseVector(int size, int[] index, double[] data, boolean deep) Constructor for SparseVector- Parameters:
size- Size of the vectorindex- Indices of the vectordata- Entries of the vectordeep- True for a deep copy. For shallow copies, the given indices will be used internally
-
SparseVector
public SparseVector(int size, int[] index, double[] data) Constructor for SparseVector- Parameters:
size- Size of the vectorindex- The vector indices are copies from this arraydata- The vector entries are copies from this array
-
-
Method Details
-
set
public void set(int index, double value) Description copied from interface:Vectorx(index) = value- Specified by:
setin interfaceVector- Overrides:
setin classAbstractVector
-
add
public void add(int index, double value) Description copied from interface:Vectorx(index) += value- Specified by:
addin interfaceVector- Overrides:
addin classAbstractVector
-
get
public double get(int index) Description copied from interface:VectorReturnsx(index)- Specified by:
getin interfaceVector- Overrides:
getin classAbstractVector
-
copy
Description copied from interface:VectorCreates a deep copy of the vector- Specified by:
copyin interfaceVector- Overrides:
copyin classAbstractVector
-
zero
Description copied from interface:VectorZeros all the entries in the vector, while preserving any underlying structure- Specified by:
zeroin interfaceVector- Overrides:
zeroin classAbstractVector
-
scale
Description copied from interface:Vectorx=alpha*x- Specified by:
scalein interfaceVector- Overrides:
scalein classAbstractVector- Returns:
- x
-
dot
Description copied from interface:VectorxT*y- Specified by:
dotin interfaceVector- Overrides:
dotin classAbstractVector
-
norm1
protected double norm1()- Overrides:
norm1in classAbstractVector
-
norm2
protected double norm2()- Overrides:
norm2in classAbstractVector
-
norm2_robust
protected double norm2_robust()- Overrides:
norm2_robustin classAbstractVector
-
normInf
protected double normInf()- Overrides:
normInfin classAbstractVector
-
getData
public double[] getData()Returns the internal data -
getIndex
public int[] getIndex()Returns the indices- Specified by:
getIndexin interfaceISparseVector
-
getUsed
public int getUsed()Number of entries used in the sparse structure- Specified by:
getUsedin interfaceISparseVector
-
compact
public void compact()Compacts the vector -
iterator
- Specified by:
iteratorin interfaceIterable<VectorEntry>- Overrides:
iteratorin classAbstractVector
-
set
Description copied from interface:Vectorx=y- Specified by:
setin interfaceVector- Overrides:
setin classAbstractVector- Returns:
- x
-