Loading...
Searching...
No Matches
SSVectorBase< R > Class Template Reference Semi sparse vector. More...
Inheritance diagram for SSVectorBase< R >:
![]()
Detailed DescriptionSemi sparse vector. This class implements semi-sparse vectors. Such are VectorBases where the indices of its nonzero elements can be stored in an extra IdxSet. Only elements with absolute value > epsilon are considered to be nonzero. Since really storing the nonzeros is not always convenient, an SSVectorBase provides two different stati: setup and not setup. An SSVectorBase being setup means that the nonzero indices are available, otherwise an SSVectorBase is just an ordinary VectorBase with an empty IdxSet. Note that due to arithmetic operation, zeros can slip in, i.e., it is only guaranteed that at least every non-zero is in the IdxSet. Definition at line 57 of file ssvectorbase.h. Constructor & Destructor Documentation◆ SSVectorBase() [1/4]
Default constructor. Definition at line 630 of file ssvectorbase.h. ◆ SSVectorBase() [2/4]Copy constructor. Definition at line 630 of file ssvectorbase.h. ◆ SSVectorBase() [3/4]
Copy constructor. The redundancy with the copy constructor below is necessary since otherwise the compiler doesn't realize that it could use the more general one with S = R and generates a shallow copy constructor. Definition at line 630 of file ssvectorbase.h. ◆ SSVectorBase() [4/4]
Constructs nonsetup copy of Definition at line 630 of file ssvectorbase.h. ◆ ~SSVectorBase()
destructor Definition at line 882 of file ssvectorbase.h. Member Function Documentation◆ add()Adds nonzero ( No nonzero with index Definition at line 218 of file ssvectorbase.h. References IdxSet::addIdx(), and SSVectorBase< R >::pos(). ◆ altIndexMem()Returns array indices. Definition at line 321 of file ssvectorbase.h. References IdxSet::idx, and SSVectorBase< R >::unSetup(). ◆ altIndices()Returns indices. Definition at line 335 of file ssvectorbase.h. References SSVectorBase< R >::unSetup(). ◆ altValues()Returns array values. Definition at line 328 of file ssvectorbase.h. References SSVectorBase< R >::unSetup(). ◆ assign() [1/2]
Assigns only the elements of Definition at line 897 of file basevectors.h. References DataArray< T >::DataArray(), and DataArray< T >::size(). ◆ assign() [2/2]Assigns only the elements of Definition at line 863 of file basevectors.h. References DataArray< T >::DataArray(), and DataArray< T >::size(). ◆ assign2product()
Assigns \(x^T \cdot A\) to SSVectorBase. Definition at line 519 of file basevectors.h. ◆ assign2product1()
Assignment helper. Definition at line 611 of file basevectors.h. References DataArray< T >::clear(), DataArray< T >::DataArray(), and DataArray< T >::size(). ◆ assign2product4setup()
Assigns SSVectorBase to \(A \cdot x\) for a setup Definition at line 550 of file basevectors.h. References DataArray< T >::DataArray(). ◆ assign2productAndSetup()
Assigns SSVectorBase to \(A \cdot x\) thereby setting up Definition at line 805 of file basevectors.h. References DataArray< T >::clear(), DataArray< T >::DataArray(), DataArray< T >::isConsistent(), and DataArray< T >::size(). ◆ assign2productFull()
Assignment helper. Definition at line 761 of file basevectors.h. References DataArray< T >::clear(), DataArray< T >::DataArray(), and DataArray< T >::size(). ◆ assign2productShort()
Assignment helper. Definition at line 647 of file basevectors.h. References DataArray< T >::clear(), DataArray< T >::DataArray(), DataArray< T >::isConsistent(), DataArray< T >::size(), and SOPLEX_VECTOR_MARKER. ◆ assignPWproduct4setup()
Assigns pair wise vector product to SSVectorBase. Assigns pair wise vector product of setup x and setup y to SSVectorBase. Definition at line 458 of file basevectors.h. References DataArray< T >::clear(), DataArray< T >::DataArray(), and DataArray< T >::size(). ◆ clear()Clears vector. Definition at line 613 of file ssvectorbase.h. References IdxSet::clear(), VectorBase< R >::clear(), IdxSet::idx, SSVectorBase< R >::isConsistent(), SSVectorBase< R >::isSetup(), IdxSet::num, and SSVectorBase< R >::setupStatus. Referenced by SLUFactorRational::operator=(), SSVectorBase< R >::operator=(), SSVectorBase< R >::operator=(), and SSVectorBase< R >::setup_and_assign(). ◆ clearIdx()Clears element Definition at line 263 of file ssvectorbase.h. References SSVectorBase< R >::isConsistent(), SSVectorBase< R >::isSetup(), SSVectorBase< R >::pos(), and IdxSet::remove(). ◆ clearNum()Sets Definition at line 279 of file ssvectorbase.h. References SSVectorBase< R >::index(), SSVectorBase< R >::isConsistent(), SSVectorBase< R >::isSetup(), and IdxSet::remove(). Referenced by SSVectorBase< R >::setValue(). ◆ dim()Dimension of VectorBase. Definition at line 573 of file ssvectorbase.h. References VectorBase< R >::dim(). Referenced by SSVectorBase< R >::setup(). ◆ forceSetup()Forces setup status. Definition at line 172 of file ssvectorbase.h. References SSVectorBase< R >::setupStatus. ◆ get_ptr()Only used in slufactor.hpp. Definition at line 109 of file ssvectorbase.h. References VectorBase< R >::get_ptr(). ◆ getEpsilon()Returns the non-zero epsilon used. Definition at line 114 of file ssvectorbase.h. References SSVectorBase< R >::epsilon. ◆ index()Returns index of the Definition at line 184 of file ssvectorbase.h. References IdxSet::index(), and SSVectorBase< R >::isSetup(). Referenced by SSVectorBase< R >::clearNum(), SSVectorBase< R >::operator*(), SSVectorBase< R >::operator*=(), SSVectorBase< R >::operator=(), SSVectorBase< R >::operator=(), SSVectorBase< R >::reDim(), and SSVectorBase< R >::setup_and_assign(). ◆ indexMem()◆ indices()Returns indices. Definition at line 315 of file ssvectorbase.h. ◆ isConsistent()consistency check. Definition at line 630 of file ssvectorbase.h. References IdxSet::dim(), IdxSet::isConsistent(), VectorBase< R >::isConsistent(), SSVectorBase< R >::isSetup(), IdxSet::max(), MSG_ERROR, MSGinconsistent, SSVectorBase< R >::pos(), and soplex::spxAbs(). Referenced by SSVectorBase< R >::clear(), SSVectorBase< R >::clearIdx(), SSVectorBase< R >::clearNum(), SSVectorBase< R >::operator*=(), SSVectorBase< R >::operator=(), SSVectorBase< R >::operator=(), SSVectorBase< R >::operator=(), SSVectorBase< R >::reDim(), SSVectorBase< R >::reMem(), SSVectorBase< R >::scaleValue(), SSVectorBase< R >::setup(), SSVectorBase< R >::setup_and_assign(), and SSVectorBase< R >::setValue(). ◆ isSetup()Returns setup status. Definition at line 130 of file ssvectorbase.h. References SSVectorBase< R >::setupStatus. Referenced by SSVectorBase< R >::clear(), SSVectorBase< R >::clearIdx(), SSVectorBase< R >::clearNum(), SSVectorBase< R >::index(), SSVectorBase< R >::isConsistent(), SSVectorBase< R >::length2(), SSVectorBase< R >::maxAbs(), SSVectorBase< R >::multAdd(), SSVectorBase< R >::operator*=(), SSVectorBase< R >::operator+=(), SSVectorBase< R >::operator+=(), SSVectorBase< R >::operator-=(), SSVectorBase< R >::operator-=(), SSVectorBase< R >::pos(), SSVectorBase< R >::setup(), SSVectorBase< R >::setValue(), SSVectorBase< R >::size(), and SSVectorBase< R >::value(). ◆ length()Floating point approximation of euclidian norm (without any approximation guarantee). Definition at line 561 of file ssvectorbase.h. References SSVectorBase< R >::length2(), and soplex::spxSqrt(). ◆ length2()Squared euclidian norm. Definition at line 545 of file ssvectorbase.h. References IdxSet::idx, SSVectorBase< R >::isSetup(), VectorBase< R >::length2(), and IdxSet::num. Referenced by SSVectorBase< R >::length(). ◆ maxAbs()Maximum absolute value, i.e., infinity norm. Definition at line 524 of file ssvectorbase.h. References IdxSet::idx, SSVectorBase< R >::isSetup(), VectorBase< R >::maxAbs(), IdxSet::num, and soplex::spxAbs(). ◆ multAdd() [1/2]
Addition of a scaled vector. Definition at line 491 of file ssvectorbase.h. References SSVectorBase< R >::isSetup(), VectorBase< R >::multAdd(), SSVectorBase< R >::setup(), SSVectorBase< R >::setupStatus, and VectorBase< R >::vec(). ◆ multAdd() [2/2]
Addition of a scaled vector.
Definition at line 389 of file basevectors.h. References DataArray< T >::DataArray(), and DataArray< T >::size(). ◆ operator*()Definition at line 441 of file ssvectorbase.h. References SSVectorBase< R >::index(), SSVectorBase< R >::setup(), DataArray< T >::size(), and SSVectorBase< R >::size(). ◆ operator*=()Scaling. Definition at line 426 of file ssvectorbase.h. References SSVectorBase< R >::index(), SSVectorBase< R >::isConsistent(), SSVectorBase< R >::isSetup(), and SSVectorBase< R >::size(). ◆ operator+=() [1/3]
Addition. Definition at line 368 of file ssvectorbase.h. References SSVectorBase< R >::isSetup(), SSVectorBase< R >::setup(), SSVectorBase< R >::setupStatus, DataArray< T >::size(), and VectorBase< R >::vec(). ◆ operator+=() [2/3]
Addition. Definition at line 350 of file basevectors.h. ◆ operator+=() [3/3]Addition. Definition at line 349 of file ssvectorbase.h. References SSVectorBase< R >::isSetup(), VectorBase< R >::operator+=(), SSVectorBase< R >::setup(), SSVectorBase< R >::setupStatus, and VectorBase< R >::vec(). ◆ operator-=() [1/3]
Subtraction. Definition at line 405 of file ssvectorbase.h. References SSVectorBase< R >::isSetup(), VectorBase< R >::operator-=(), SSVectorBase< R >::setup(), SSVectorBase< R >::setupStatus, DataArray< T >::size(), and VectorBase< R >::vec(). ◆ operator-=() [2/3]
Subtraction. Definition at line 369 of file basevectors.h. References VectorBase< R >::operator-=(). ◆ operator-=() [3/3]Subtraction. Definition at line 386 of file ssvectorbase.h. References SSVectorBase< R >::isSetup(), VectorBase< R >::operator-=(), SSVectorBase< R >::setup(), SSVectorBase< R >::setupStatus, and VectorBase< R >::vec(). ◆ operator=() [1/4]
Assignment operator. Definition at line 832 of file ssvectorbase.h. References SSVectorBase< R >::clear(), SSVectorBase< R >::epsilon, IdxSet::idx, SSVectorBase< R >::index(), DataArray< T >::isConsistent(), SSVectorBase< R >::isConsistent(), DataArray< T >::max(), IdxSet::num, IdxSet::operator=(), VectorBase< R >::reDim(), SSVectorBase< R >::setMax(), SSVectorBase< R >::setupStatus, SSVectorBase< R >::size(), and soplex::spxAbs(). ◆ operator=() [2/4]
Assignment operator. Definition at line 786 of file ssvectorbase.h. References SSVectorBase< R >::clear(), SSVectorBase< R >::epsilon, IdxSet::idx, SSVectorBase< R >::index(), DataArray< T >::isConsistent(), SSVectorBase< R >::isConsistent(), DataArray< T >::max(), IdxSet::num, IdxSet::operator=(), VectorBase< R >::reDim(), SSVectorBase< R >::setMax(), SSVectorBase< R >::setupStatus, SSVectorBase< R >::size(), and soplex::spxAbs(). ◆ operator=() [3/4]Assignment operator. Definition at line 931 of file basevectors.h. References DataArray< T >::clear(). ◆ operator=() [4/4]Assignment operator. Definition at line 882 of file ssvectorbase.h. References SSVectorBase< R >::isConsistent(), VectorBase< R >::operator=(), and SSVectorBase< R >::unSetup(). ◆ operator[]()Returns Definition at line 297 of file ssvectorbase.h. ◆ pos()Finds the position of index Definition at line 201 of file ssvectorbase.h. References SSVectorBase< R >::isSetup(), and IdxSet::pos(). Referenced by SSVectorBase< R >::add(), SSVectorBase< R >::clearIdx(), SSVectorBase< R >::isConsistent(), and SSVectorBase< R >::setValue(). ◆ reDim()Resets dimension to Definition at line 579 of file ssvectorbase.h. References SSVectorBase< R >::index(), SSVectorBase< R >::isConsistent(), VectorBase< R >::reDim(), IdxSet::remove(), SSVectorBase< R >::setMax(), and IdxSet::size(). ◆ reMem()Resets memory consumption to Definition at line 604 of file ssvectorbase.h. References SSVectorBase< R >::isConsistent(), VectorBase< R >::reSize(), and SSVectorBase< R >::setMax(). ◆ scaleValue()Scale Definition at line 252 of file ssvectorbase.h. References SSVectorBase< R >::isConsistent(). ◆ setEpsilon()Changes the non-zero epsilon, invalidating the setup. */. Definition at line 120 of file ssvectorbase.h. References SSVectorBase< R >::epsilon, and SSVectorBase< R >::setupStatus. ◆ setMax()Allocates enough space to accommodate Definition at line 75 of file ssvectorbase.h. References IdxSet::idx, IdxSet::len, IdxSet::size(), and soplex::spx_realloc(). Referenced by SSVectorBase< R >::operator=(), SSVectorBase< R >::operator=(), SSVectorBase< R >::reDim(), SSVectorBase< R >::reMem(), and SSVectorBase< R >::setup_and_assign(). ◆ setSize()Sets number of nonzeros (thereby unSetup SSVectorBase). Definition at line 594 of file ssvectorbase.h. References IdxSet::max(), IdxSet::num, and SSVectorBase< R >::unSetup(). ◆ setup()Initializes nonzero indices for elements with absolute values above epsilon and sets all other elements to 0. Definition at line 142 of file ssvectorbase.h. References IdxSet::clear(), SSVectorBase< R >::dim(), SSVectorBase< R >::epsilon, IdxSet::idx, SSVectorBase< R >::isConsistent(), SSVectorBase< R >::isSetup(), IdxSet::num, SSVectorBase< R >::setupStatus, and soplex::spxAbs(). Referenced by SSVectorBase< R >::multAdd(), SSVectorBase< R >::operator*(), SSVectorBase< R >::operator+=(), SSVectorBase< R >::operator+=(), SSVectorBase< R >::operator-=(), and SSVectorBase< R >::operator-=(). ◆ setup_and_assign()Sets up Definition at line 732 of file ssvectorbase.h. References SSVectorBase< R >::clear(), SSVectorBase< R >::epsilon, IdxSet::idx, SSVectorBase< R >::index(), DataArray< T >::isConsistent(), SSVectorBase< R >::isConsistent(), DataArray< T >::max(), IdxSet::num, IdxSet::operator=(), VectorBase< R >::reDim(), SSVectorBase< R >::setMax(), SSVectorBase< R >::setupStatus, SSVectorBase< R >::size(), and soplex::spxAbs(). ◆ setValue()Sets Definition at line 228 of file ssvectorbase.h. References IdxSet::add(), SSVectorBase< R >::clearNum(), SSVectorBase< R >::epsilon, SSVectorBase< R >::isConsistent(), SSVectorBase< R >::isSetup(), SSVectorBase< R >::pos(), and soplex::spxAbs(). ◆ size()Returns the number of nonzeros. Definition at line 209 of file ssvectorbase.h. References SSVectorBase< R >::isSetup(), and IdxSet::size(). Referenced by SSVectorBase< R >::operator*(), SSVectorBase< R >::operator*=(), SSVectorBase< R >::operator=(), SSVectorBase< R >::operator=(), SSVectorBase< R >::setup_and_assign(), and SSVectorBase< R >::value(). ◆ unSetup()Makes SSVectorBase not setup. Definition at line 136 of file ssvectorbase.h. References SSVectorBase< R >::setupStatus. Referenced by SSVectorBase< R >::altIndexMem(), SSVectorBase< R >::altIndices(), SSVectorBase< R >::altValues(), SSVectorBase< R >::operator=(), and SSVectorBase< R >::setSize(). ◆ value()Returns value of the Definition at line 192 of file ssvectorbase.h. References IdxSet::idx, SSVectorBase< R >::isSetup(), and SSVectorBase< R >::size(). ◆ values()Returns array values. Definition at line 309 of file ssvectorbase.h. Friends And Related Symbol Documentation◆ DSVectorBaseDefinition at line 62 of file ssvectorbase.h. ◆ VectorBase< R >Definition at line 1 of file ssvectorbase.h. Member Data Documentation◆ epsilonA value x with |x| < epsilon is considered zero. Definition at line 72 of file ssvectorbase.h. Referenced by SSVectorBase< R >::getEpsilon(), SSVectorBase< R >::operator=(), SSVectorBase< R >::operator=(), SSVectorBase< R >::setEpsilon(), SSVectorBase< R >::setup(), SSVectorBase< R >::setup_and_assign(), and SSVectorBase< R >::setValue(). ◆ setupStatusIs the SSVectorBase set up? Definition at line 69 of file ssvectorbase.h. Referenced by SSVectorBase< R >::clear(), SSVectorBase< R >::forceSetup(), SSVectorBase< R >::isSetup(), SSVectorBase< R >::multAdd(), SSVectorBase< R >::operator+=(), SSVectorBase< R >::operator+=(), SSVectorBase< R >::operator-=(), SSVectorBase< R >::operator-=(), SSVectorBase< R >::operator=(), SSVectorBase< R >::operator=(), SSVectorBase< R >::setEpsilon(), SSVectorBase< R >::setup(), SSVectorBase< R >::setup_and_assign(), and SSVectorBase< R >::unSetup().
|