Loading...
Searching...
No Matches
SSVectorBase< R > Class Template Reference Semi sparse vector. More...
Inheritance diagram for SSVectorBase< R >:
![]()
Detailed Descriptiontemplate<class R> class soplex::SSVectorBase< R > Semi 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 > getEpsilon() 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 45 of file vectorbase.h. Constructor & Destructor Documentation◆ SSVectorBase() [1/4]
template<class R >
Default constructor. Definition at line 674 of file ssvectorbase.h. References SSVectorBase< R >::_tolerances, VectorBase< R >::clear(), IdxSet::idx, SSVectorBase< R >::isConsistent(), IdxSet::len, and soplex::spx_alloc(). ◆ SSVectorBase() [2/4]Copy constructor. Definition at line 689 of file ssvectorbase.h. References SSVectorBase< R >::_tolerances, IdxSet::dim(), IdxSet::idx, SSVectorBase< R >::isConsistent(), IdxSet::len, IdxSet::operator=(), soplex::spx_alloc(), and VectorBase< R >::vec(). ◆ SSVectorBase() [3/4]
template<class R >
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 706 of file ssvectorbase.h. References SSVectorBase< R >::_tolerances, IdxSet::dim(), IdxSet::idx, SSVectorBase< R >::isConsistent(), IdxSet::len, IdxSet::operator=(), soplex::spx_alloc(), and VectorBase< R >::vec(). ◆ SSVectorBase() [4/4]Constructs nonsetup copy of Definition at line 721 of file ssvectorbase.h. References IdxSet::dim(), IdxSet::idx, SSVectorBase< R >::isConsistent(), IdxSet::len, soplex::spx_alloc(), and VectorBase< R >::vec(). ◆ ~SSVectorBase()
template<class R >
destructor Definition at line 895 of file ssvectorbase.h. References IdxSet::idx, and soplex::spx_free(). Member Function Documentation◆ add()
template<class R >
Adds nonzero ( No nonzero with index Definition at line 221 of file ssvectorbase.h. References IdxSet::addIdx(), and SSVectorBase< R >::pos(). ◆ altIndexMem()
template<class R >
Returns array indices. Definition at line 324 of file ssvectorbase.h. References IdxSet::idx, and SSVectorBase< R >::unSetup(). ◆ altIndices()
template<class R >
Returns indices. Definition at line 338 of file ssvectorbase.h. References SSVectorBase< R >::unSetup(). ◆ altValues()
template<class R >
Returns array values. Definition at line 331 of file ssvectorbase.h. References SSVectorBase< R >::unSetup(). ◆ assign() [1/2]
Assigns only the elements of Definition at line 898 of file basevectors.h. References SVectorBase< R >::dim(), SVectorBase< R >::index(), SVectorBase< R >::size(), and SVectorBase< R >::value(). ◆ assign() [2/2]Assigns only the elements of Definition at line 864 of file basevectors.h. References SVectorBase< R >::dim(), SVectorBase< R >::index(), SVectorBase< R >::size(), and SVectorBase< R >::value(). ◆ assign2product()
template<class R >
template<class S , class T >
Assigns \(x^T \cdot A\) to SSVectorBase. Definition at line 519 of file basevectors.h. References SVSetBase< R >::num(). ◆ assign2product1()
template<class R >
template<class S , class T >
Assignment helper. Definition at line 612 of file basevectors.h. References SVectorBase< R >::element(), IdxSet::idx, Nonzero< R >::idx, SSVectorBase< R >::isSetup(), SSVectorBase< R >::size(), SVectorBase< R >::size(), Nonzero< R >::val, and VectorBase< R >::val. ◆ assign2product4setup()
template<class R >
template<class S , class T >
Assigns SSVectorBase to \(A \cdot x\) for a setup Definition at line 550 of file basevectors.h. References SSVectorBase< R >::dim(), SSVectorBase< R >::isSetup(), and SVSetBase< R >::num(). ◆ assign2productAndSetup()
template<class R >
template<class S , class T >
Assigns SSVectorBase to \(A \cdot x\) thereby setting up Definition at line 806 of file basevectors.h. References SSVectorBase< R >::dim(), SVectorBase< R >::element(), IdxSet::idx, Nonzero< R >::idx, SSVectorBase< R >::isSetup(), IdxSet::num, SSVectorBase< R >::setupStatus, SVectorBase< R >::size(), Nonzero< R >::val, and VectorBase< R >::val. ◆ assign2productFull()
template<class R >
template<class S , class T >
Assignment helper. Definition at line 762 of file basevectors.h. References IdxSet::idx, SSVectorBase< R >::isSetup(), SSVectorBase< R >::size(), SVectorBase< R >::size(), and VectorBase< R >::val. ◆ assign2productShort()
template<class R >
template<class S , class T >
Assignment helper. Definition at line 648 of file basevectors.h. References SVectorBase< R >::element(), IdxSet::idx, Nonzero< R >::idx, SSVectorBase< R >::isSetup(), SSVectorBase< R >::size(), SVectorBase< R >::size(), SOPLEX_VECTOR_MARKER, Nonzero< R >::val, and VectorBase< R >::val. ◆ assignPWproduct4setup()
template<class R >
template<class S , class T >
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 SSVectorBase< R >::dim(), SSVectorBase< R >::isSetup(), and SSVectorBase< R >::size(). ◆ clear()
template<class R >
Clears vector. Definition at line 616 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 SPxBasisBase< R >::coSolve(), SLUFactorRational::operator=(), SSVectorBase< R >::operator=(), SSVectorBase< R >::operator=(), SSVectorBase< R >::setup_and_assign(), SPxBasisBase< R >::solve(), and SPxBasisBase< R >::solve4update(). ◆ clearIdx()
template<class R >
Clears element Definition at line 266 of file ssvectorbase.h. References SSVectorBase< R >::isConsistent(), SSVectorBase< R >::isSetup(), SSVectorBase< R >::pos(), and IdxSet::remove(). ◆ clearNum()
template<class R >
Sets Definition at line 282 of file ssvectorbase.h. References SSVectorBase< R >::index(), SSVectorBase< R >::isConsistent(), SSVectorBase< R >::isSetup(), and IdxSet::remove(). Referenced by SSVectorBase< R >::setValue(). ◆ dim()
template<class R >
Dimension of VectorBase. Definition at line 576 of file ssvectorbase.h. References VectorBase< R >::dim(). Referenced by VectorBase< R >::assign(), SSVectorBase< R >::assign2product4setup(), SSVectorBase< R >::assign2productAndSetup(), SSVectorBase< R >::assignPWproduct4setup(), VectorBase< R >::multAdd(), VectorBase< R >::operator*(), VectorBase< R >::operator+=(), VectorBase< R >::operator-=(), SSVectorBase< R >::operator=(), SSVectorBase< R >::operator=(), SSVectorBase< R >::setup(), and SSVectorBase< R >::setup_and_assign(). ◆ forceSetup()
template<class R >
Forces setup status. Definition at line 175 of file ssvectorbase.h. References SSVectorBase< R >::setupStatus. ◆ get_ptr()
template<class R >
Only used in slufactor.hpp. Definition at line 108 of file ssvectorbase.h. References VectorBase< R >::get_ptr(). ◆ getEpsilon()
template<class R >
Definition at line 132 of file ssvectorbase.h. References SSVectorBase< R >::tolerances(). Referenced by SSVectorBase< R >::setup(), and SSVectorBase< R >::setValue(). ◆ index()
template<class R >
Returns index of the Definition at line 187 of file ssvectorbase.h. References IdxSet::index(), and SSVectorBase< R >::isSetup(). Referenced by SSVectorBase< R >::clearNum(), VectorBase< Rational >::multAdd(), VectorBase< Rational >::multSub(), SSVectorBase< R >::operator*(), SSVectorBase< R >::operator*=(), VectorBase< R >::operator+=(), VectorBase< R >::operator-=(), SSVectorBase< R >::operator=(), SSVectorBase< R >::operator=(), SVectorBase< R >::operator=(), SSVectorBase< R >::reDim(), and SSVectorBase< R >::setup_and_assign(). ◆ indexMem()
template<class R >
Returns array indices. Definition at line 306 of file ssvectorbase.h. References IdxSet::idx. Referenced by VectorBase< R >::assign(), VectorBase< Rational >::assign(), and VectorBase< R >::multAdd(). ◆ indices()
template<class R >
Returns indices. Definition at line 318 of file ssvectorbase.h. ◆ isConsistent()
template<class R >
consistency check. Definition at line 633 of file ssvectorbase.h. References IdxSet::dim(), IdxSet::isConsistent(), VectorBase< R >::isConsistent(), SSVectorBase< R >::isSetup(), IdxSet::max(), SSVectorBase< R >::pos(), SPX_MSG_ERROR, SPX_MSG_INCONSISTENT, 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(), SSVectorBase< R >::setValue(), SSVectorBase< R >::SSVectorBase(), SSVectorBase< R >::SSVectorBase(), SSVectorBase< R >::SSVectorBase(), and SSVectorBase< R >::SSVectorBase(). ◆ isSetup()
template<class R >
Returns setup status. Definition at line 127 of file ssvectorbase.h. References SSVectorBase< R >::setupStatus. Referenced by VectorBase< R >::assign(), SSVectorBase< R >::assign2product1(), SSVectorBase< R >::assign2product4setup(), SSVectorBase< R >::assign2productAndSetup(), SSVectorBase< R >::assign2productFull(), SSVectorBase< R >::assign2productShort(), SSVectorBase< R >::assignPWproduct4setup(), SSVectorBase< R >::clear(), SSVectorBase< R >::clearIdx(), SSVectorBase< R >::clearNum(), SSVectorBase< R >::index(), SSVectorBase< R >::isConsistent(), SSVectorBase< R >::length2(), SSVectorBase< R >::maxAbs(), SSVectorBase< R >::multAdd(), VectorBase< R >::multAdd(), SSVectorBase< R >::operator*=(), SSVectorBase< R >::operator+=(), SSVectorBase< R >::operator+=(), VectorBase< R >::operator+=(), SSVectorBase< R >::operator-=(), SSVectorBase< R >::operator-=(), VectorBase< R >::operator-=(), SSVectorBase< R >::operator=(), SSVectorBase< R >::operator=(), SVectorBase< R >::operator=(), VectorBase< R >::operator=(), SSVectorBase< R >::pos(), SSVectorBase< R >::setup(), SSVectorBase< R >::setup_and_assign(), SSVectorBase< R >::setValue(), SSVectorBase< R >::size(), SPxBasisBase< R >::solve4update(), SPxBasisBase< R >::solve4update(), and SSVectorBase< R >::value(). ◆ length()
template<class R >
Floating point approximation of euclidian norm (without any approximation guarantee). Definition at line 564 of file ssvectorbase.h. References SSVectorBase< R >::length2(), and soplex::spxSqrt(). ◆ length2()
template<class R >
Squared euclidian norm. Definition at line 548 of file ssvectorbase.h. References IdxSet::idx, SSVectorBase< R >::isSetup(), VectorBase< R >::length2(), and IdxSet::num. Referenced by SSVectorBase< R >::length(). ◆ maxAbs()
template<class R >
Maximum absolute value, i.e., infinity norm. Definition at line 527 of file ssvectorbase.h. References IdxSet::idx, SSVectorBase< R >::isSetup(), VectorBase< R >::maxAbs(), IdxSet::num, and soplex::spxAbs(). ◆ multAdd() [1/2]
template<class R >
template<class S , class T >
Addition of a scaled vector. Definition at line 494 of file ssvectorbase.h. References SSVectorBase< R >::isSetup(), VectorBase< R >::multAdd(), SSVectorBase< R >::setup(), SSVectorBase< R >::setupStatus, and VectorBase< R >::vec(). ◆ multAdd() [2/2]
template<class R >
template<class S , class T >
Addition of a scaled vector.
Definition at line 389 of file basevectors.h. References SVectorBase< R >::size(). ◆ operator*()Definition at line 444 of file ssvectorbase.h. References SSVectorBase< R >::index(), SSVectorBase< R >::setup(), SSVectorBase< R >::size(), and VectorBase< R >::val. ◆ operator*=()Scaling. Definition at line 429 of file ssvectorbase.h. References SSVectorBase< R >::index(), SSVectorBase< R >::isConsistent(), SSVectorBase< R >::isSetup(), and SSVectorBase< R >::size(). ◆ operator+=() [1/3]
template<class R >
template<class S >
Addition. Definition at line 371 of file ssvectorbase.h. References SSVectorBase< R >::isSetup(), SSVectorBase< R >::setup(), SSVectorBase< R >::setupStatus, and VectorBase< R >::vec(). ◆ operator+=() [2/3]
template<class R >
template<class S >
Addition. Definition at line 350 of file basevectors.h. ◆ operator+=() [3/3]Addition. Definition at line 352 of file ssvectorbase.h. References SSVectorBase< R >::isSetup(), VectorBase< R >::operator+=(), SSVectorBase< R >::setup(), SSVectorBase< R >::setupStatus, and VectorBase< R >::vec(). ◆ operator-=() [1/3]
template<class R >
template<class S >
Subtraction. Definition at line 408 of file ssvectorbase.h. References SSVectorBase< R >::isSetup(), VectorBase< R >::operator-=(), SSVectorBase< R >::setup(), SSVectorBase< R >::setupStatus, and VectorBase< R >::vec(). ◆ operator-=() [2/3]
template<class R >
template<class S >
Subtraction. Definition at line 369 of file basevectors.h. ◆ operator-=() [3/3]Subtraction. Definition at line 389 of file ssvectorbase.h. References SSVectorBase< R >::isSetup(), VectorBase< R >::operator-=(), SSVectorBase< R >::setup(), SSVectorBase< R >::setupStatus, and VectorBase< R >::vec(). ◆ operator=() [1/4]
template<class R >
Assignment operator. Definition at line 834 of file ssvectorbase.h. References SSVectorBase< R >::_tolerances, SSVectorBase< R >::clear(), SSVectorBase< R >::dim(), IdxSet::idx, SSVectorBase< R >::index(), SSVectorBase< R >::isConsistent(), SSVectorBase< R >::isSetup(), IdxSet::max(), IdxSet::num, IdxSet::operator=(), VectorBase< R >::reDim(), SSVectorBase< R >::setMax(), SSVectorBase< R >::setupStatus, SSVectorBase< R >::size(), soplex::spxAbs(), and VectorBase< R >::val. ◆ operator=() [2/4]
template<class R >
template<class S >
Assignment operator. Definition at line 788 of file ssvectorbase.h. References SSVectorBase< R >::_tolerances, SSVectorBase< R >::clear(), SSVectorBase< R >::dim(), IdxSet::idx, SSVectorBase< R >::index(), SSVectorBase< R >::isConsistent(), SSVectorBase< R >::isSetup(), IdxSet::max(), IdxSet::num, IdxSet::operator=(), VectorBase< R >::reDim(), SSVectorBase< R >::setMax(), SSVectorBase< R >::setupStatus, SSVectorBase< R >::size(), soplex::spxAbs(), and VectorBase< R >::val. ◆ operator=() [3/4]Assignment operator. Definition at line 932 of file basevectors.h. ◆ operator=() [4/4]Assignment operator. Definition at line 884 of file ssvectorbase.h. References SSVectorBase< R >::isConsistent(), VectorBase< R >::operator=(), and SSVectorBase< R >::unSetup(). ◆ operator[]()
template<class R >
Returns Definition at line 300 of file ssvectorbase.h. ◆ pos()
template<class R >
Finds the position of index Definition at line 204 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()
template<class R >
Resets dimension to Definition at line 582 of file ssvectorbase.h. References SSVectorBase< R >::index(), SSVectorBase< R >::isConsistent(), VectorBase< R >::reDim(), IdxSet::remove(), SSVectorBase< R >::setMax(), and IdxSet::size(). ◆ reMem()
template<class R >
Resets memory consumption to Definition at line 607 of file ssvectorbase.h. References SSVectorBase< R >::isConsistent(), VectorBase< R >::reSize(), and SSVectorBase< R >::setMax(). ◆ scaleValue()
template<class R >
Scale Definition at line 255 of file ssvectorbase.h. References SSVectorBase< R >::isConsistent(). ◆ setMax()
template<class R >
Allocates enough space to accommodate Definition at line 71 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()
template<class R >
Sets number of nonzeros (thereby unSetup SSVectorBase). Definition at line 597 of file ssvectorbase.h. References IdxSet::max(), IdxSet::num, and SSVectorBase< R >::unSetup(). ◆ setTolerances()
template<class R >
set the _tolerances member variable Definition at line 114 of file ssvectorbase.h. Referenced by SLUFactor< R >::setTolerances(). ◆ setup()
template<class R >
Initializes nonzero indices for elements with absolute values above epsilon and sets all other elements to 0. Definition at line 145 of file ssvectorbase.h. References IdxSet::clear(), SSVectorBase< R >::dim(), SSVectorBase< R >::getEpsilon(), 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 734 of file ssvectorbase.h. References SSVectorBase< R >::_tolerances, SSVectorBase< R >::clear(), SSVectorBase< R >::dim(), IdxSet::idx, SSVectorBase< R >::index(), SSVectorBase< R >::isConsistent(), SSVectorBase< R >::isSetup(), IdxSet::max(), IdxSet::num, IdxSet::operator=(), VectorBase< R >::reDim(), SSVectorBase< R >::setMax(), SSVectorBase< R >::setupStatus, SSVectorBase< R >::size(), soplex::spxAbs(), SSVectorBase< R >::tolerances(), and VectorBase< R >::val. ◆ setValue()
template<class R >
Sets Definition at line 231 of file ssvectorbase.h. References IdxSet::add(), SSVectorBase< R >::clearNum(), SSVectorBase< R >::getEpsilon(), SSVectorBase< R >::isConsistent(), SSVectorBase< R >::isSetup(), SSVectorBase< R >::pos(), and soplex::spxAbs(). ◆ size()
template<class R >
Returns the number of nonzeros. Definition at line 212 of file ssvectorbase.h. References SSVectorBase< R >::isSetup(), and IdxSet::size(). Referenced by VectorBase< R >::assign(), SSVectorBase< R >::assign2product1(), SSVectorBase< R >::assign2productFull(), SSVectorBase< R >::assign2productShort(), SSVectorBase< R >::assignPWproduct4setup(), DSVectorBase< R >::DSVectorBase(), VectorBase< R >::multAdd(), SSVectorBase< R >::operator*(), SSVectorBase< R >::operator*=(), VectorBase< R >::operator+=(), VectorBase< R >::operator-=(), DSVectorBase< R >::operator=(), SSVectorBase< R >::operator=(), SSVectorBase< R >::operator=(), SVectorBase< R >::operator=(), SSVectorBase< R >::setup_and_assign(), and SSVectorBase< R >::value(). ◆ tolerances()
template<class R >
returns current tolerances Definition at line 120 of file ssvectorbase.h. References SSVectorBase< R >::_tolerances. Referenced by SSVectorBase< R >::getEpsilon(), and SSVectorBase< R >::setup_and_assign(). ◆ unSetup()
template<class R >
Makes SSVectorBase not setup. Definition at line 139 of file ssvectorbase.h. References SSVectorBase< R >::setupStatus. Referenced by SSVectorBase< R >::altIndexMem(), SSVectorBase< R >::altIndices(), SSVectorBase< R >::altValues(), SSVectorBase< R >::operator=(), SSVectorBase< R >::setSize(), SLUFactor< R >::solveLeft(), and SLUFactor< R >::solveRight(). ◆ value()
template<class R >
Returns value of the Definition at line 195 of file ssvectorbase.h. References IdxSet::idx, SSVectorBase< R >::isSetup(), and SSVectorBase< R >::size(). Referenced by VectorBase< R >::operator+=(), VectorBase< R >::operator-=(), and SVectorBase< R >::operator=(). ◆ values()
template<class R >
Returns array values. Definition at line 312 of file ssvectorbase.h. Friends And Related Symbol Documentation◆ DSVectorBaseDefinition at line 61 of file ssvectorbase.h. ◆ VectorBase< R >
template<class R >
Definition at line 1 of file ssvectorbase.h. Member Data Documentation◆ _tolerances
template<class R >
Definition at line 84 of file ssvectorbase.h. Referenced by SSVectorBase< R >::operator=(), SSVectorBase< R >::operator=(), SSVectorBase< R >::setup_and_assign(), SSVectorBase< R >::SSVectorBase(), SSVectorBase< R >::SSVectorBase(), SSVectorBase< R >::SSVectorBase(), and SSVectorBase< R >::tolerances(). ◆ setupStatus
template<class R >
Is the SSVectorBase set up? Definition at line 68 of file ssvectorbase.h. Referenced by SSVectorBase< R >::assign2productAndSetup(), 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 >::setup(), SSVectorBase< R >::setup_and_assign(), and SSVectorBase< R >::unSetup().
|