Alien  1.3.0
User documentation
Loading...
Searching...
No Matches
Alien::ILinearAlgebra Class Referenceabstract

Interface for linear algebra. More...

#include <core/alien/expression/solver/ILinearAlgebra.h>

Public Member Functions

virtual ~ILinearAlgebra ()
 Free resources.
virtual Arccore::Real norm0 (const IVector &x) const =0
 Computes norm 0 of a vector.
virtual Arccore::Real norm1 (const IVector &x) const =0
 Computes norm 1 of a vector.
virtual Arccore::Real norm2 (const IVector &x) const =0
 Computes norm 2 of a vector.
virtual void mult (const IMatrix &a, const IVector &x, IVector &r) const =0
 Computes a matrix vector product.
virtual void axpy (Real alpha, const IVector &x, IVector &y) const =0
 Computes y += alpa * x.
virtual void copy (const IVector &x, IVector &r) const =0
 Copy a vector.
virtual Arccore::Real dot (const IVector &x, const IVector &y) const =0
 Computes the dot product of two vectors.

Detailed Description

Interface for linear algebra.

Definition at line 47 of file ILinearAlgebra.h.

Constructor & Destructor Documentation

◆ ~ILinearAlgebra()

virtual Alien::ILinearAlgebra::~ILinearAlgebra ( )
inlinevirtual

Free resources.

Definition at line 51 of file ILinearAlgebra.h.

Member Function Documentation

◆ axpy()

virtual void Alien::ILinearAlgebra::axpy ( Real alpha,
const IVector & x,
IVector & y ) const
pure virtual

Computes y += alpa * x.

Parameters
[in]alphaThe real value to scale the vector
[in]xThe vector to scale
[in,out]yThe vector to store the result

Implemented in Alien::LinearAlgebra< Tag, TagV >, Alien::LinearAlgebra< BackEnd::tag::simplecsr >, and Alien::LinearAlgebra< BackEnd::tag::sycl >.

◆ copy()

virtual void Alien::ILinearAlgebra::copy ( const IVector & x,
IVector & r ) const
pure virtual

Copy a vector.

Parameters
[in]xThe vector to copy
[in,out]rThe copied vector

Implemented in Alien::LinearAlgebra< Tag, TagV >, Alien::LinearAlgebra< BackEnd::tag::simplecsr >, and Alien::LinearAlgebra< BackEnd::tag::sycl >.

◆ dot()

virtual Arccore::Real Alien::ILinearAlgebra::dot ( const IVector & x,
const IVector & y ) const
pure virtual

Computes the dot product of two vectors.

Parameters
[in]xThe first vector
[in]yThe second vector
Returns
The dot product

Implemented in Alien::LinearAlgebra< Tag, TagV >, Alien::LinearAlgebra< BackEnd::tag::simplecsr >, and Alien::LinearAlgebra< BackEnd::tag::sycl >.

◆ mult()

virtual void Alien::ILinearAlgebra::mult ( const IMatrix & a,
const IVector & x,
IVector & r ) const
pure virtual

Computes a matrix vector product.

Parameters
[in]aThe matrix to multiply
[in]xThe vector to multiply
[in,out]rThe vector to store the result

Implemented in Alien::LinearAlgebra< Tag, TagV >, Alien::LinearAlgebra< BackEnd::tag::simplecsr >, and Alien::LinearAlgebra< BackEnd::tag::sycl >.

◆ norm0()

virtual Arccore::Real Alien::ILinearAlgebra::norm0 ( const IVector & x) const
pure virtual

Computes norm 0 of a vector.

Parameters
[in]xThe vector
Returns
The norm0 of the vector

Implemented in Alien::LinearAlgebra< Tag, TagV >, Alien::LinearAlgebra< BackEnd::tag::simplecsr >, and Alien::LinearAlgebra< BackEnd::tag::sycl >.

◆ norm1()

virtual Arccore::Real Alien::ILinearAlgebra::norm1 ( const IVector & x) const
pure virtual

Computes norm 1 of a vector.

Parameters
[in]xThe vector
Returns
The norm1 of the vector

Implemented in Alien::LinearAlgebra< Tag, TagV >, Alien::LinearAlgebra< BackEnd::tag::simplecsr >, and Alien::LinearAlgebra< BackEnd::tag::sycl >.

◆ norm2()

virtual Arccore::Real Alien::ILinearAlgebra::norm2 ( const IVector & x) const
pure virtual

Computes norm 2 of a vector.

Parameters
[in]xThe vector
Returns
The norm2 of the vector

Implemented in Alien::LinearAlgebra< Tag, TagV >, Alien::LinearAlgebra< BackEnd::tag::simplecsr >, and Alien::LinearAlgebra< BackEnd::tag::sycl >.


The documentation for this class was generated from the following file: