CXSC  A C++ Class Library for Extended Scientific Computing
2.5.4

Helper class for slices of sparse vectors. More...
#include <sivector.hpp>
Public Member Functions  
real  density () const 
Returns the density of the vector slice (the number of non zero elements divided by the number of elements)  
int  get_nnz () const 
Returns the number of non zero elements of this vector slice (note that this includes explicitly stored zeros)  
sivector_slice &  operator&= (const ivector &v) 
Operator for elementwise intersection with a vector, result is assigned to the vector slice.  
sivector_slice &  operator&= (const ivector_slice &v) 
Operator for elementwise intersection with a vector, result is assigned to the vector slice.  
sivector_slice &  operator&= (const sivector &v) 
Operator for elementwise intersection with a vector, result is assigned to the vector slice.  
sivector_slice &  operator&= (const sivector_slice &v) 
Operator for elementwise intersection with a vector, result is assigned to the vector slice.  
const interval  operator() (const int i) const 
Returns a copy of the ith (according to the currently used indexing) element of the vector slice.  
sivector_slice &  operator*= (const real &s) 
Operator for multiplication with a scalar, result is assigned to the vector slice.  
sivector_slice &  operator*= (const interval &s) 
Operator for multiplication with an interval, result is assigned to the vector slice.  
sivector_slice &  operator+= (const rvector &v) 
Operator for elementwise addition with a vector, result is assigned to the vector slice.  
sivector_slice &  operator+= (const ivector &v) 
Operator for elementwise addition with a vector, result is assigned to the vector slice.  
sivector_slice &  operator+= (const rvector_slice &v) 
Operator for elementwise addition with a vector, result is assigned to the vector slice.  
sivector_slice &  operator+= (const ivector_slice &v) 
Operator for elementwise addition with a vector, result is assigned to the vector slice.  
sivector_slice &  operator+= (const srvector &v) 
Operator for elementwise addition with a vector, result is assigned to the vector slice.  
sivector_slice &  operator+= (const sivector &v) 
Operator for elementwise addition with a vector, result is assigned to the vector slice.  
sivector_slice &  operator+= (const srvector_slice &v) 
Operator for elementwise addition with a vector, result is assigned to the vector slice.  
sivector_slice &  operator+= (const sivector_slice &v) 
Operator for elementwise addition with a vector, result is assigned to the vector slice.  
sivector_slice &  operator= (const rvector &v) 
Operator for elementwise subtraction with a vector, result is assigned to the vector slice.  
sivector_slice &  operator= (const ivector &v) 
Operator for elementwise subtraction with a vector, result is assigned to the vector slice.  
sivector_slice &  operator= (const rvector_slice &v) 
Operator for elementwise subtraction with a vector, result is assigned to the vector slice.  
sivector_slice &  operator= (const ivector_slice &v) 
Operator for elementwise subtraction with a vector, result is assigned to the vector slice.  
sivector_slice &  operator= (const srvector &v) 
Operator for elementwise subtraction with a vector, result is assigned to the vector slice.  
sivector_slice &  operator= (const sivector &v) 
Operator for elementwise subtraction with a vector, result is assigned to the vector slice.  
sivector_slice &  operator= (const srvector_slice &v) 
Operator for elementwise subtraction with a vector, result is assigned to the vector slice.  
sivector_slice &  operator= (const sivector_slice &v) 
Operator for elementwise subtraction with a vector, result is assigned to the vector slice.  
sivector_slice &  operator/= (const real &s) 
Operator for division of each element of the vector slice with a scalar, result is assigned to the vector slice.  
sivector_slice &  operator/= (const interval &s) 
Operator for division of each element of the vector slice with an interval, result is assigned to the vector slice.  
sivector_slice &  operator= (const real &v) 
Assigns v to all elements of the vector slice.  
sivector_slice &  operator= (const interval &v) 
Assigns v to all elements of the vector slice.  
sivector_slice &  operator= (const srvector_slice &v) 
Overwrite the vector slice with the elements of v.  
sivector_slice &  operator= (const sivector_slice &v) 
Overwrite the vector slice with the elements of v.  
sivector_slice &  operator= (const srvector &v) 
Overwrite the vector slice with the elements of v.  
sivector_slice &  operator= (const sivector &v) 
Overwrite the vector slice with the elements of v.  
sivector_slice &  operator= (const rvector &v) 
Overwrite the vector slice with the elements of v.  
sivector_slice &  operator= (const ivector &v) 
Overwrite the vector slice with the elements of v.  
sivector_slice &  operator= (const rvector_slice &v) 
Overwrite the vector slice with the elements of v.  
sivector_slice &  operator= (const ivector_slice &v) 
Overwrite the vector slice with the elements of v.  
interval &  operator[] (const int i) 
Returns a reference to the ith (according to the currently used indexing) element of the vector slice.  
interval  operator[] (const int i) const 
Returns a copy of the ith (according to the currently used indexing) element of the vector slice.  
sivector_slice &  operator= (const rvector &v) 
Operator for elementwise convex hull with a vector, result is assigned to the vector slice.  
sivector_slice &  operator= (const ivector &v) 
Operator for elementwise convex hull with a vector, result is assigned to the vector slice.  
sivector_slice &  operator= (const rvector_slice &v) 
Operator for elementwise convex hull with a vector, result is assigned to the vector slice.  
sivector_slice &  operator= (const ivector_slice &v) 
Operator for elementwise convex hull with a vector, result is assigned to the vector slice.  
sivector_slice &  operator= (const srvector &v) 
Operator for elementwise convex hull with a vector, result is assigned to the vector slice.  
sivector_slice &  operator= (const sivector &v) 
Operator for elementwise convex hull with a vector, result is assigned to the vector slice.  
sivector_slice &  operator= (const srvector_slice &v) 
Operator for elementwise convex hull with a vector, result is assigned to the vector slice.  
sivector_slice &  operator= (const sivector_slice &v) 
Operator for elementwise convex hull with a vector, result is assigned to the vector slice.  
Friends  
sivector  abs (const sivector_slice &) 
Computes the componentwise absolute values as the interval hull of for a vector v.  
srvector  diam (const sivector_slice &) 
Computes the diameter of v.  
srvector  Inf (const sivector_slice &) 
Returns the infimum vector slice v.  
int  Lb (const sivector_slice &) 
Returns the lower index bound of the vector slice v.  
srvector  mid (const sivector_slice &) 
Computes the midpoint vector of v.  
srvector  Sup (const sivector_slice &) 
Returns the supremum of the vector slice v.  
int  Ub (const sivector_slice &) 
Returns the upper index bound of the vector slice v.  
int  VecLen (const sivector_slice &) 
Returns the length of the vector slice. 
Helper class for slices of sparse vectors.
This class stores a reference to a sparse vector and operates on a slice of it. This class is used internally by CXSC, it should normally not be necessary for the user to use it explicitly.
Definition at line 1831 of file sivector.hpp.
const interval cxsc::sivector_slice::operator()  (  const int  i  )  const [inline] 
Returns a copy of the ith (according to the currently used indexing) element of the vector slice.
If the ith element is explicitly stored, a copy of this value is returned. Otherwise, 0.0 will be returned. Unlike with the []operator, the data structure remains unchanged either way. Thus this operator should always be used for readonly access to the elements of a sparse vector slice.
Definition at line 1915 of file sivector.hpp.
interval& cxsc::sivector_slice::operator[]  (  const int  i  )  [inline] 
Returns a reference to the ith (according to the currently used indexing) element of the vector slice.
If the ith element is explicitly stored, a reference to the value is returned. If is not explicitly stored, it will be added to the data structure as a zero element. The returned reference then points to this new element. Hence the []operator should only be used for write access to the elements of a sparse vector. Use the ()operator for read access.
Definition at line 1880 of file sivector.hpp.
interval cxsc::sivector_slice::operator[]  (  const int  i  )  const [inline] 
Returns a copy of the ith (according to the currently used indexing) element of the vector slice.
If the ith element is explicitly stored, a copy to the value is returned. If is not explicitly stored, zero will be returned. This is the constversion of this operator, added for convenience. It is suggested to use the ()operator for read access.
Definition at line 1903 of file sivector.hpp.