23 template<
class F,
class G>
47 typedef typename Realtype<F>::type
r_type;
49 typedef typename Cmplxtype<F>::type
c_type;
51 typedef typename std::conditional<std::is_same<typename Realtype<F>::type, F>::value ,
52 typename Realtype<F>::type,
typename Cmplxtype<F>::type >
::type d_type;
153 template<
class H,
class I>
182 virtual void setTranspose(
bool t) {
201 "dest.dimY() = " <<
dest.dimY() <<
", dimY() = " <<
203 for (
uint i = 0; i < this->
dimX(); ++i)
204 for (
uint j = 0; j < this->
dimY(); ++j) {
216 "dest.dimY() = " <<
dest.dimY() <<
", dimY() = " <<
218 for (
uint i = 0; i < this->
dimX(); ++i)
219 for (
uint j = 0; j < this->
dimY(); ++j) {
226 virtual std::ostream&
info(std::ostream&
os)
const;
230 template<
class H,
class I>
235 const F* m = (
const F*)this->getData();
DenseMatrix(const Space< G > &spc, const BilinearForm< F, G > &bf, const Sequence< ElementWithCell< G > * > &seq)
DenseMatrix(const Compose< F > &L)
DenseMatrix(const Space< G > &spcX, const Space< G > &spcY)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual F & operator()(const uint i, const uint j)
Returns and allows access to entry with indices i and j.
DenseMatrix(const Vector< F > &v, bool t=false)
DenseMatrix(const Space< G > &spc, const BilinearForm< F, G > &bf)
void addInto(Matrix< F > &dest, const F fact, const uint rowoffset=0, const uint coloffset=0) const
std::conditional< std::is_same< typenameRealtype< F >::type, F >::value, typenameRealtype< F >::type, typenameCmplxtype< F >::type >::type d_type
Data type, depending if F is real or complex.
virtual void operator()(const Function< c_type > &fncY, Function< c_type > &fncX)
virtual void operator()(const Function< r_type > &fncY, Function< F > &fncX)
Computes fncX = A(fncY) where A is this matrix.
DenseMatrix(const LiCo< F > &L)
virtual void transpMult(const Vector< r_type > &fncY, Vector< F > &fncX)
Computes fncX = AT fncY where A is this matrix.
DenseMatrix(const Space< G > &spcX, const Space< G > &spcY, const BilinearForm< F, G > &bf, const bool single=true)
virtual void resize(uint m, uint n)
DenseMatrix(int m=0, int n=0, bool transpose=false)
virtual F operator()(const uint i, const uint j) const
Returns entry with indices i and j.
void addIntoT(Matrix< T > &dest, const T fact, const uint rowoffset=0, const uint coloffset=0) const
DenseMatrix(const Matrix< F > &m, bool t=false)
void addInto(Matrix< T > &dest, const T fact, const uint rowoffset=0, const uint coloffset=0) const
Cmplxtype< F >::type c_type
Complex type of data type.
Realtype< F >::type r_type
Real type of data type.
DenseMatrix(const DenseMatrix< F > &m)
Copy constructor.
uint n() const
Returns the number of columns.
uint m() const
Returns the number of rows.
const F & operator()(const uint i, const uint j) const
Returns element (i, j)
virtual void resize(uint m, uint n)
ElementMatrix< F > & operator=(const ElementMatrixBase< F > &A)
Assignement operator.
void setTranspose(bool t)
virtual const uint dimY() const
F type
Type of data, e.g. matrix entries.
virtual const uint dimX() const
virtual void operator()()
uint dimX_
Dimension of image space and the source space.
#define conceptsAssert(cond, exc)
#define conceptsAssert3(cond, exc, msg)
Set< F > makeSet(uint n, const F &first,...)