SoPlex
|
Sparse vector \(e_i\). More...
#include <unitvectorbase.h>
Public Member Functions | |
Access | |
R | value (int n) const |
returns value = 1 | |
Constructors / destructors | |
UnitVectorBase (int i=0) | |
construct i 'th unit vector. | |
UnitVectorBase (const UnitVectorBase< R > &rhs) | |
copy constructor | |
UnitVectorBase< R > & | operator= (const UnitVectorBase< R > &rhs) |
assignment | |
UnitVectorBase< R > & | operator= (UnitVectorBase< R > &&rhs) |
move assignment | |
~UnitVectorBase () | |
destructor | |
Miscellaneous | |
bool | isConsistent () const |
consistency check | |
![]() | |
SVectorBase< Real > & | operator= (const VectorBase< S > &vec) |
Assignment operator (specialization for Real). | |
Real | operator* (const SVectorBase< S > &w) const |
specialization for inner product for sparse vectors | |
int | size () const |
Number of used indices. | |
int | max () const |
Maximal number of indices. | |
int | dim () const |
Dimension of the vector defined as maximal index + 1. | |
int | pos (int i) const |
Position of index i . | |
R | operator[] (int i) const |
Value to index i . | |
Nonzero< R > & | element (int n) |
Reference to the n 'th nonzero element. | |
const Nonzero< R > & | element (int n) const |
The n 'th nonzero element. | |
int & | index (int n) |
Reference to index of n 'th nonzero. | |
int | index (int n) const |
Index of n 'th nonzero. | |
R & | value (int n) |
Reference to value of n 'th nonzero. | |
const R & | value (int n) const |
Value of n 'th nonzero. | |
void | add (int i, const R &v) |
Append one nonzero (i,v). | |
void | add (int i) |
Append one uninitialized nonzero. | |
void | add (const SVectorBase &sv) |
Append nonzeros of sv . | |
void | add (int n, const int i[], const R v[]) |
Append n nonzeros. | |
template<class S> | |
void | add (int n, const int i[], const S v[]) |
Append n nonzeros. | |
void | add (int n, const Nonzero< R > e[]) |
Append n nonzeros. | |
void | remove (int n, int m) |
Remove nonzeros n thru m . | |
void | remove (int n) |
Remove n 'th nonzero. | |
void | clear () |
Remove all indices. | |
void | sort () |
Sort nonzeros to increasing indices. | |
R | maxAbs () const |
Maximum absolute value, i.e., infinity norm. | |
R | minAbs () const |
Minimum absolute value. | |
R | length () const |
Floating point approximation of euclidian norm (without any approximation guarantee). | |
R | length2 () const |
Squared norm. | |
SVectorBase< R > & | operator*= (const R &x) |
Scaling. | |
R | operator* (const VectorBase< R > &w) const |
Inner product. | |
template<class S> | |
R | operator* (const SVectorBase< S > &w) const |
inner product for sparse vectors | |
SVectorBase (int n=0, Nonzero< R > *p_mem=nullptr) | |
Default constructor. | |
SVectorBase (const SVectorBase< R > &sv)=default | |
template<class S> | |
SVectorBase< R > & | operator= (const VectorBase< S > &vec) |
Assignment operator. | |
SVectorBase< R > & | operator= (const SVectorBase< R > &sv) |
Assignment operator. | |
SVectorBase< R > & | operator= (const SVectorBase< R > &&sv) |
move assignement operator. | |
template<class S> | |
SVectorBase< R > & | operator= (const SVectorBase< S > &sv) |
Assignment operator. | |
SVectorBase< Real > & | scaleAssign (int scaleExp, const SVectorBase< Real > &sv) |
scale and assign | |
SVectorBase< Real > & | scaleAssign (const int *scaleExp, const SVectorBase< Real > &sv, bool negateExp=false) |
scale and assign | |
template<class S> | |
SVectorBase< R > & | assignArray (const S *rowValues, const int *rowIndices, int rowSize) |
Assignment operator. | |
template<class S> | |
SVectorBase< R > & | operator= (const SSVectorBase< S > &sv) |
Assignment operator. | |
Nonzero< R > * | mem () const |
get pointer to internal memory. | |
void | set_size (int s) |
Set size of the vector. | |
void | set_max (int m) |
Set the maximum number of nonzeros in the vector. | |
void | setMem (int n, Nonzero< R > *elmem) |
Set the memory area where the nonzeros will be stored. | |
bool | isConsistent () const |
Consistency check. | |
Private Attributes | |
Data | |
SVectorBase< R >::Element | themem |
memory for sparse vector entry | |
Additional Inherited Members | |
![]() | |
typedef Nonzero< R > | Element |
Sparse vector \(e_i\).
A UnitVectorBase is an SVectorBase that can take only one nonzero value with value 1 but arbitrary index.
Definition at line 53 of file unitvectorbase.h.
|
explicit |
construct i
'th unit vector.
Definition at line 90 of file unitvectorbase.h.
UnitVectorBase | ( | const UnitVectorBase< R > & | rhs | ) |
copy constructor
Definition at line 99 of file unitvectorbase.h.
~UnitVectorBase | ( | ) |
destructor
Definition at line 134 of file unitvectorbase.h.
bool isConsistent | ( | ) | const |
consistency check
Definition at line 142 of file unitvectorbase.h.
Referenced by UnitVectorBase< Real >::operator=(), UnitVectorBase< Real >::operator=(), UnitVectorBase< Real >::UnitVectorBase(), and UnitVectorBase< Real >::UnitVectorBase().
UnitVectorBase< R > & operator= | ( | const UnitVectorBase< R > & | rhs | ) |
assignment
Definition at line 108 of file unitvectorbase.h.
UnitVectorBase< R > & operator= | ( | UnitVectorBase< R > && | rhs | ) |
move assignment
Definition at line 121 of file unitvectorbase.h.
R value | ( | int | n | ) | const |
|
private |
memory for sparse vector entry
Definition at line 60 of file unitvectorbase.h.
Referenced by UnitVectorBase< Real >::operator=(), and UnitVectorBase< Real >::UnitVectorBase().