Class documentation of Concepts

Loading...
Searching...
No Matches
transpose.hh
Go to the documentation of this file.
1
6#ifndef transpose_hh
7#define transpose_hh
8
9#include "operator/matrix.hh"
10
11namespace concepts {
12
13 // ************************************************************* Transpose **
14
16 template<class F>
17 class Transpose : public Matrix<F> {
18 public:
20 typedef typename Realtype<F>::type r_type;
22 typedef typename Cmplxtype<F>::type c_type;
23
27 Transpose(Matrix<F>& a) : Matrix<F>(a.dimY(), a.dimX()), a_(a) { }
29 virtual F operator()(const uint i, const uint j) const { return a_(j, i); }
31 virtual F& operator()(const uint i, const uint j) { return a_(j, i); }
33 virtual void operator()(const Function<r_type>& fncY,
35 virtual void operator()(const Function<c_type>& fncY,
38 template<class H, class I>
40 a_.transpMult(fncY, fncX);
41 }
42
44 virtual void transpMult(const Vector<r_type>& fncY, Vector<F>& fncX) {
45 a_(fncY, fncX);
46 }
48 virtual void transpMult(const Vector<c_type>& fncY,
50 {
51 a_(fncY, fncX);
52 }
53 protected:
54 std::ostream& info(std::ostream& os) const;
55 private:
57 Matrix<F>& a_;
58 };
59
60} // namespace concepts
61
62#endif // transpose_hh
virtual const uint dimY() const
virtual const uint dimX() const
The transpose of another matrix.
Definition transpose.hh:17
Realtype< F >::type r_type
Real type of data type.
Definition transpose.hh:20
void operator()(const Vector< H > &fncY, Vector< I > &fncX)
Computes fncX = A(fncY) where A is this matrix.
Definition transpose.hh:39
virtual void transpMult(const Vector< r_type > &fncY, Vector< F > &fncX)
Computes fncX = AT fncY where A is this matrix.
Definition transpose.hh:44
virtual void operator()(const Function< r_type > &fncY, Function< F > &fncX)
Computes fncX = A(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.
Definition transpose.hh:31
virtual void operator()(const Function< c_type > &fncY, Function< c_type > &fncX)
Transpose(Matrix< F > &a)
Definition transpose.hh:27
std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual void transpMult(const Vector< c_type > &fncY, Vector< c_type > &fncX)
Computes fncX = AT fncY where A is this matrix.
Definition transpose.hh:48
virtual F operator()(const uint i, const uint j) const
Returns entry with indices i and j.
Definition transpose.hh:29
Cmplxtype< F >::type c_type
Real type of data type.
Definition transpose.hh:22
Set< F > makeSet(uint n, const F &first,...)
Definition set.hh:320