#include <MultiVector.hpp>
Inheritance diagram for MultiVector< T >:


Public Member Functions | |
| MultiVector< T > & | operator= (const MultiArray< T > &src) |
| Standard assignment. | |
| MultiVector< T > & | operator= (T value) |
| Sets constant values to all the elements. | |
| MultiVector< T > & | operator *= (T a) |
| Multiplies 'this' vector by a scalar. | |
| MultiVector< T > & | operator+= (const MultiVector< T > &y) |
| Adds a given vector to 'this' one. | |
| MultiVector< T > & | operator+= (T a) |
| Adds 'a' to every comp. of 'this'. | |
| MultiVector< T > & | operator-= (const MultiVector< T > &vector) |
| Subtracts a given vector from 'this'. | |
| MultiVector< T > & | AddScaled (T a, const MultiVector< T > &y) |
Adds to 'this'. | |
| MultiVector< T > & | LinComb (T a, const MultiVector< T > &x, T b, const MultiVector< T > &y) |
Sets 'this' to . | |
| MultiVector< T > & | LinComb (const MultiVector< T > &x, T b, const MultiVector< T > &y) |
sets 'this' to (i.e. ). | |
| T | operator & (const MultiVector< T > &y) |
| The Eucleadean scalar product. | |
| double | sc_square () const |
| The square of the Eucleadean norm. | |
| double | norm_2 () const |
| The Eucleadean norm. | |
| T | ave () const |
| The arithmetic average of the components. | |
| void | InterpolateVertexCentered (const Array< double > &coord, T *val) |
| Compute the value at a point. | |
| MultiVector () | |
| zero sizes, no memory | |
| MultiVector (const MultiVector< T > &mv) | |
| duplication | |
| MultiVector (const Array< int > &len) | |
| MultiVector by given sizes. | |
| MultiVector (const Array< int > &len, int block_sz) | |
| MultiVector by given sizes and block size. | |
| MultiVector (int len) | |
| 1d grid function | |
This class implements the algebraic operations for grid functions represented by objects of MultiArray<T>. These algebraic operations introduce the algebraic structure of the Euclidean space. Besides that, some interpolation procedures are implemented.
The templates depend on a type T. This type should satisfy the conditions listed in small_matrix.hpp for small matrices.
| MultiVector< T >::MultiVector | ( | ) | [inline] |
zero sizes, no memory
| MultiVector< T >::MultiVector | ( | const MultiVector< T > & | mv | ) | [inline] |
duplication
| MultiVector< T >::MultiVector | ( | const Array< int > & | len | ) | [inline] |
| MultiVector< T >::MultiVector | ( | const Array< int > & | len, | |
| int | block_sz | |||
| ) | [inline] |
MultiVector by given sizes and block size.
| [in] | len | The sizes. |
| [in] | block_sz | The additional dimension. |
| MultiVector< T >::MultiVector | ( | int | len | ) | [inline] |
1d grid function
| [in] | len | The grid size |
| MultiVector<T>& MultiVector< T >::operator= | ( | const MultiArray< T > & | src | ) | [inline] |
Standard assignment.
'this' and 'src' may have different sizes.
| [in] | src | Source-array. |
Reimplemented from MultiArray< T >.
| MultiVector<T>& MultiVector< T >::operator= | ( | T | value | ) | [inline] |
Sets constant values to all the elements.
| MultiVector< T > & MultiVector< T >::operator *= | ( | T | a | ) | [inline] |
Multiplies 'this' vector by a scalar.
| [in] | a | The scalar. |
| MultiVector< T > & MultiVector< T >::operator+= | ( | const MultiVector< T > & | y | ) | [inline] |
Adds a given vector to 'this' one.
| MultiVector< T > & MultiVector< T >::operator+= | ( | T | a | ) | [inline] |
Adds 'a' to every comp. of 'this'.
| [in] | a | The scalar. |
| MultiVector< T > & MultiVector< T >::operator-= | ( | const MultiVector< T > & | vector | ) | [inline] |
Subtracts a given vector from 'this'.
| MultiVector< T > & MultiVector< T >::AddScaled | ( | T | a, | |
| const MultiVector< T > & | y | |||
| ) | [inline] |
Adds
to 'this'.
| [in] | a | The factor for y. |
| [in] | y | The vector. |
| MultiVector< T > & MultiVector< T >::LinComb | ( | T | a, | |
| const MultiVector< T > & | x, | |||
| T | b, | |||
| const MultiVector< T > & | y | |||
| ) | [inline] |
Sets 'this' to
.
| MultiVector< T > & MultiVector< T >::LinComb | ( | const MultiVector< T > & | x, | |
| T | b, | |||
| const MultiVector< T > & | y | |||
| ) | [inline] |
sets 'this' to
(i.e.
).
| T MultiVector< T >::operator & | ( | const MultiVector< T > & | y | ) | [inline] |
The Eucleadean scalar product.
| double MultiVector< T >::sc_square | ( | ) | const [inline] |
The square of the Eucleadean norm.
| double MultiVector< T >::norm_2 | ( | ) | const [inline] |
The Eucleadean norm.
| T MultiVector< T >::ave | ( | ) | const [inline] |
The arithmetic average of the components.
| void MultiVector< T >::InterpolateVertexCentered | ( | const Array< double > & | coord, | |
| T * | val | |||
| ) | [inline] |
Compute the value at a point.
Computes the interpolated value of a vertex-centered grid function. The position of the value is specified by the index scaled to 1.
| [in] | coord | The scaled index. |
| [out] | val | For the result. |
1.5.2