diagonal.hh
void operator()(const Matrix< c_type > &mX, Matrix< c_type > &mY)
Application method to complex matrices.
virtual void operator()(const Function< r_type > &fncY, Function< F > &fncX)
Computes fncX = A(fncY) where A is this matrix.
DiagonalMatrix(const Space< G > &spc, const Array< F > entries)
Constructor.
#define conceptsAssert(cond, exc)
Assert that a certain condition is fulfilled.
Definition: exceptions.hh:394
DiagonalMatrix(uint dim=0)
DiagonalMatrix(const Space< G > &spc)
Constructor. Creates a diagonal matrix with all entries set to 0.
std::conditional< std::is_same< typename Realtype< F >::type, F >::value, typename Realtype< F >::type, typename Cmplxtype< F >::type >::type d_type
Data type, depending if F is real or complex.
Definition: diagonal.hh:32
void resize(uint n)
DiagonalMatrix< F > & operator+=(const Matrix< F > &d)
Addition operator.
virtual F operator()(const uint i, const uint j) const
Returns entry with indices i and j.
virtual std::ostream & info(std::ostream &os) const
void apply_(const Matrix< H > &mX, Matrix< I > &mY)
Definition: diagonal.hh:190
virtual ~DiagonalMatrix()
virtual std::ostream & info(std::ostream &os) const
virtual void transpMult(const Vector< c_type > &fncY, Vector< c_type > &fncX)
void addInto(Matrix< H > &dest, const I fact)
This matrix is added to the given matrix dest.
Definition: diagonal.hh:127
virtual ~DiagonalSolver()
virtual void operator()(const Function< c_type > &fncY, Function< c_type > &fncX)
void apply_(const Function< H > &fncY, Function< I > &fncX)
Definition: diagonal.hh:99
void applyT_(const Vector< H > &fncY, Vector< I > &fncX)
Definition: diagonal.hh:116
void operator()(const Matrix< r_type > &mX, Matrix< F > &mY)
Application method to real matrices.
virtual void transpMult(const Vector< r_type > &fncY, Vector< F > &fncX)
Computes fncX = AT fncY where A is this matrix.
virtual F & operator()(const uint i, const uint j)
Returns and allows access to entry with indices i and j.