Internal linear algebra interface. More...
#include <core/alien/core/backend/IInternalLinearAlgebraExprT.h>
Public Types | |
| typedef M | Matrix |
| Type of the matrix used. | |
| typedef V | Vector |
| Type of the vector used. | |
| typedef IInternalLinearAlgebraExpr< Matrix, Vector > *(* | Factory) () |
| Type of the the linear algebra. | |
Public Member Functions | |
| virtual | ~IInternalLinearAlgebraExpr () |
| Free resources. | |
| virtual Real | norm0 (const Vector &x) const =0 |
| Compute L0 norm of a vector. | |
| virtual Real | norm1 (const Vector &x) const =0 |
| Compute L1 norm of a vector. | |
| virtual Real | norm2 (const Vector &x) const =0 |
| Compute L2 norm of a vector. | |
| virtual Real | normInf (const Vector &x) const =0 |
| Compute LInf norm of a vector. | |
| virtual Real | norm2 (const Matrix &x) const =0 |
| Compute L2 (Frobenous) norm of a matrix. | |
| virtual void | mult (const Matrix &a, const Vector &x, Vector &r) const =0 |
| Compute a matrix vector product. | |
| virtual void | axpy (Real alpha, const Vector &x, Vector &y) const =0 |
| Scale a vector by a factor and adds the result to another vector. | |
| virtual void | aypx (Real alpha, Vector &y, const Vector &x) const =0 |
| Scale a vector by a factor and adds the result to another vector. | |
| virtual void | copy (const Vector &x, Vector &r) const =0 |
| Copy a vector in another one. | |
| virtual void | copy (const Matrix &a, Matrix &r) const =0 |
| Copy a matrix in another one. | |
| virtual void | add (const Matrix &a, Matrix &r) const =0 |
| Add a matrix to another one. | |
| virtual Real | dot (const Vector &x, const Vector &y) const =0 |
| Compute the dot product of two vectors. | |
| virtual void | scal (Real alpha, Vector &x) const =0 |
| Scale a vector by a factor. | |
| virtual void | scal (Real alpha, Matrix &a) const =0 |
| Scale a matrix by a factor. | |
| virtual void | diagonal (const Matrix &a, Vector &x) const =0 |
| Extract the diagonal of a matrix in a vector. | |
| virtual void | reciprocal (Vector &x) const =0 |
| Compute the reciprocal of a vector. | |
| virtual void | pointwiseMult (const Vector &x, const Vector &y, Vector &w) const =0 |
| Compute the point wise multiplication of two vectors and store the result in another one. | |
| virtual void | dump (Matrix const &a, std::string const &filename) const |
| Dumps a matrix to a file. | |
| virtual void | dump (Vector const &x, std::string const &filename) const |
| Dumps a vector to a file. | |
| virtual void | mult (const Matrix &a, const UniqueArray< Real > &x, UniqueArray< Real > &r) const =0 |
| Compute a matrix vector product. | |
| virtual void | axpy (Real alpha, const UniqueArray< Real > &x, UniqueArray< Real > &y) const =0 |
| Scale a vector by a factor and adds the result to another vector. | |
| virtual void | aypx (Real alpha, UniqueArray< Real > &y, const UniqueArray< Real > &x) const =0 |
| Scale a vector by a factor and adds the result to another vector. | |
| virtual void | copy (const UniqueArray< Real > &x, UniqueArray< Real > &r) const =0 |
| Copy a vector in another one. | |
| virtual Real | dot (Integer local_size, const UniqueArray< Real > &x, const UniqueArray< Real > &y) const =0 |
| Compute the dot product of two vectors. | |
| virtual void | scal (Real alpha, UniqueArray< Real > &x) const =0 |
| Scale a vector by a factor. | |
Internal linear algebra interface.
Internal interface for all linear algebra package
| M | The type of matrix used |
| V | The type of vector used |
Definition at line 38 of file IInternalLinearAlgebraExprT.h.
| typedef IInternalLinearAlgebraExpr< Matrix, Vector > *(* Alien::IInternalLinearAlgebraExpr< M, V >::Factory) () |
Type of the the linear algebra.
Definition at line 46 of file IInternalLinearAlgebraExprT.h.
| typedef M Alien::IInternalLinearAlgebraExpr< M, V >::Matrix |
Type of the matrix used.
Definition at line 42 of file IInternalLinearAlgebraExprT.h.
| typedef V Alien::IInternalLinearAlgebraExpr< M, V >::Vector |
Type of the vector used.
Definition at line 44 of file IInternalLinearAlgebraExprT.h.
|
inlinevirtual |
Free resources.
Definition at line 50 of file IInternalLinearAlgebraExprT.h.
|
pure virtual |
Add a matrix to another one.
| [in] | a | The matrix to copy |
| [in,out] | r | The copied vector |
|
pure virtual |
Scale a vector by a factor and adds the result to another vector.
Scale the vector x by the real value alpha and add the result to the vector y : y += alpha * x
| [in] | alpha | The real value to scale with |
| [in] | x | The vector to be scaled |
| [in,out] | y | The resulting vector |
|
pure virtual |
Scale a vector by a factor and adds the result to another vector.
Scale the vector x by the real value alpha and add the result to the vector y : y += alpha * x
| [in] | alpha | The real value to scale with |
| [in] | x | The vector to be scaled |
| [in,out] | y | The resulting vector |
|
pure virtual |
Scale a vector by a factor and adds the result to another vector.
Scale the vector y by the real value alpha and add the values of x : alpha * y += x
| [in] | alpha | The real value to scale with |
| [in,out] | y | The vector to be scaled |
| [in] | x | The vector to add |
|
pure virtual |
Scale a vector by a factor and adds the result to another vector.
Scale the vector y by the real value alpha and add the values of x : alpha * y += x
| [in] | alpha | The real value to scale with |
| [in,out] | y | The vector to be scaled |
| [in] | x | The vector to add |
|
pure virtual |
Copy a matrix in another one.
| [in] | x | The vector to copy |
| [in,out] | r | The copied vector |
|
pure virtual |
Copy a vector in another one.
| [in] | x | The vector to copy |
| [in,out] | r | The copied vector |
|
pure virtual |
Copy a vector in another one.
| [in] | x | The vector to copy |
| [in,out] | r | The copied vector |
|
pure virtual |
Extract the diagonal of a matrix in a vector.
| [in] | a | The matrix to extract the diagonal |
| [in,out] | x | The diagonal elements of the matrix stored in a vector |
|
pure virtual |
Compute the dot product of two vectors.
| [in] | x | The first vector |
| [in] | y | The second vector |
|
pure virtual |
Compute the dot product of two vectors.
| [in] | local_size | The size of the vectors |
| [in] | x | The first vector |
| [in] | y | The second vector |
|
inlinevirtual |
Dumps a matrix to a file.
| [in] | a | The matrix to dump |
| [in] | filename | The name of the file |
Definition at line 197 of file IInternalLinearAlgebraExprT.h.
|
inlinevirtual |
Dumps a vector to a file.
| [in] | x | The vector to dump |
| [in] | filename | The name of the file |
Definition at line 209 of file IInternalLinearAlgebraExprT.h.
|
pure virtual |
Compute a matrix vector product.
Compute the matrix-vector product a by x and store it in r : r = a * x
| [in] | a | The matrix to be multiplied |
| [in] | x | The vector to be multipled |
| [in,out] | r | The resulting vector |
|
pure virtual |
Compute a matrix vector product.
Compute the matrix-vector product a by x and store it in r : r = a * x
| [in] | a | The matrix to be multiplied |
| [in] | x | The vector to be multipled |
| [in,out] | r | The resulting vector |
|
pure virtual |
Compute L0 norm of a vector.
| [in] | x | The vector on which norm0 is computed |
|
pure virtual |
Compute L1 norm of a vector.
| [in] | x | The vector on which norm0 is computed |
|
pure virtual |
Compute L2 (Frobenous) norm of a matrix.
| [in] | x | The matrix on which norm2 is computed |
|
pure virtual |
Compute L2 norm of a vector.
| [in] | x | The vector on which norm0 is computed |
|
pure virtual |
Compute LInf norm of a vector.
| [in] | x | The vector on which norm0 is computed |
|
pure virtual |
Compute the point wise multiplication of two vectors and store the result in another one.
| [in] | x | The first vector |
| [in] | y | The second vector |
| [in,out] | w | The resulting vector |
|
pure virtual |
Compute the reciprocal of a vector.
| [in,out] | x | The vector to be processed |
|
pure virtual |
Scale a matrix by a factor.
| [in] | alpha | The real value to scale with |
| [in,out] | x | The vector to be scaled |
|
pure virtual |
Scale a vector by a factor.
| [in] | alpha | The real value to scale with |
| [in,out] | x | The vector to be scaled |
|
pure virtual |
Scale a vector by a factor.
| [in] | alpha | The real value to scale with |
| [in,out] | x | The vector to be scaled |