NGSolve
4.9
|
Base vector for linalg. More...
#include <basevector.hpp>
Public Member Functions | |
template<typename T > | |
BaseVector & | operator= (const VVecExpr< T > &v) |
BaseVector & | operator= (const BaseVector &v) |
BaseVector & | operator= (double s) |
BaseVector & | operator= (Complex s) |
template<typename T > | |
BaseVector & | operator+= (const VVecExpr< T > &v) |
BaseVector & | operator+= (const BaseVector &v) |
template<typename T > | |
BaseVector & | operator-= (const VVecExpr< T > &v) |
BaseVector & | operator-= (const BaseVector &v) |
BaseVector & | operator*= (double s) |
BaseVector & | operator*= (Complex s) |
BaseVector & | operator/= (double s) |
BaseVector & | operator/= (Complex s) |
template<class SCAL > | |
S_BaseVector< SCAL > & | Spec () |
template<class SCAL > | |
const S_BaseVector< SCAL > & | Spec () const |
int | Size () const throw () |
int | EntrySize () const throw () |
virtual void * | Memory () const =0 throw () |
virtual FlatVector< double > | FVDouble () const =0 |
virtual FlatVector< Complex > | FVComplex () const =0 |
template<typename T > | |
FlatVector< T > | FV () const |
template<class TSCAL > | |
TSCAL | InnerProduct (const BaseVector &v2) const |
virtual double | L2Norm () const |
virtual BaseVector & | Scale (double scal) |
virtual BaseVector & | Scale (Complex scal) |
virtual BaseVector & | SetScalar (double scal) |
virtual BaseVector & | SetScalar (Complex scal) |
virtual BaseVector & | Set (double scal, const BaseVector &v) |
virtual BaseVector & | Set (Complex scal, const BaseVector &v) |
virtual BaseVector & | Add (double scal, const BaseVector &v) |
virtual BaseVector & | Add (Complex scal, const BaseVector &v) |
virtual ostream & | Print (ostream &ost) const |
virtual void | Save (ostream &ost) const |
virtual void | Load (istream &ist) |
virtual void | SaveText (ostream &ost) const |
virtual void | LoadText (istream &ist) |
virtual void | MemoryUsage (Array< MemoryUsageStruct * > &mu) const |
virtual BaseVector * | CreateVector (const Array< int > *procs=0) const |
virtual void | SetRandom () |
virtual BaseVector * | Range (int begin, int end) const |
virtual BaseVector * | Range (IntRange range) const |
void | GetIndirect (const FlatArray< int > &ind, const FlatVector< double > &v) const |
void | GetIndirect (const FlatArray< int > &ind, const FlatVector< Complex > &v) const |
void | SetIndirect (const FlatArray< int > &ind, const FlatVector< double > &v) |
void | SetIndirect (const FlatArray< int > &ind, const FlatVector< Complex > &v) |
void | AddIndirect (const FlatArray< int > &ind, const FlatVector< double > &v) |
void | AddIndirect (const FlatArray< int > &ind, const FlatVector< Complex > &v) |
template<int S> | |
void | GetIndirect (const Array< int > &ind, FlatVector< Vec< S, double > > &v) const |
template<int S> | |
void | GetIndirect (const Array< int > &ind, FlatVector< Vec< S, Complex > > &v) const |
template<int S> | |
void | AddIndirect (const Array< int > &ind, const FlatVector< Vec< S, double > > &v) |
template<int S> | |
void | AddIndirect (const Array< int > &ind, const FlatVector< Vec< S, Complex > > &v) |
virtual void | Cumulate () const |
virtual void | Distribute () const |
virtual PARALLEL_STATUS | GetParallelStatus () const |
virtual void | SetParallelStatus (PARALLEL_STATUS stat) const |
Protected Attributes | |
int | size |
size of vector | |
int | entrysize |
number of doubles per entry | |
const ParallelDofs * | paralleldofs |
Base vector for linalg.