30 #ifndef CORE_DATATYPES_DENSE_MATRIX_H
31 #define CORE_DATATYPES_DENSE_MATRIX_H
36 #include <Eigen/Dense>
49 typedef Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor | Eigen::AutoAlign>
EigenBase;
61 template<
typename OtherDerived>
69 template<
typename OtherDerived>
72 this->EigenBase::operator=(other);
81 virtual size_t nrows()
const {
return this->rows(); }
82 virtual size_t ncols()
const {
return this->cols(); }
99 return this->isApprox(this->transpose());
102 virtual T
get(
int i,
int j)
const override
106 virtual void put(
int i,
int j,
const T& val)
override
112 virtual void print(std::ostream& o)
const
116 for (
size_t i = 0; i <
nrows(); ++i)
118 for (
size_t j = 0; j <
ncols(); ++j)
120 o << (*this)(i,j) <<
" ";
129 template <
typename T>
130 Persistent* DenseMatrixGenericMaker()
132 return new DenseMatrixGeneric<T>;
136 template <
typename T>
139 template <
typename T>
142 template <
typename T>
145 template <
typename T>
152 for (
int i = 0; i < this->
nrows(); ++i)
154 for (
int j = 0; j < this->
ncols(); ++j)
156 (*this)(i,j) = static_cast<T>(*ptr++);
virtual size_t nrows() const
Definition: DenseMatrix.h:81
virtual void io(Piostream &)
Definition: MatrixIO.h:107
Definition: DenseMatrix.h:44
bool isSymmetric() const
Definition: DenseMatrix.h:95
virtual DenseMatrixGeneric * clone() const
Definition: DenseMatrix.h:76
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor|Eigen::AutoAlign > EigenBase
Definition: DenseMatrix.h:49
Definition: Persistent.h:89
virtual void accept(MatrixVisitorGeneric< T > &visitor)
Definition: DenseMatrix.h:84
DenseMatrixGeneric(const Eigen::MatrixBase< OtherDerived > &other)
This constructor allows you to construct DenseMatrixGeneric from Eigen expressions.
Definition: DenseMatrix.h:62
Persistent *(* PersistentMaker0)()
Definition: Persistent.h:62
DenseMatrixGeneric(size_t nrows=0, size_t ncols=0)
Definition: DenseMatrix.h:53
virtual size_t ncols() const
Definition: DenseMatrix.h:82
DenseMatrixGeneric & operator=(const Eigen::MatrixBase< OtherDerived > &other)
This method allows you to assign Eigen expressions to DenseMatrixGeneric.
Definition: DenseMatrix.h:70
DenseMatrixGeneric(size_t nrows, size_t ncols, const T &val)
Definition: DenseMatrix.h:55
dictionary data
Definition: eabLatVolData.py:11
static PersistentTypeID type_id
Definition: DenseMatrix.h:92
T value_type
Definition: DenseMatrix.h:47
virtual void put(int i, int j, const T &val) override
Definition: DenseMatrix.h:106
DenseMatrixGeneric< T > this_type
Definition: DenseMatrix.h:48
virtual void visit(DenseMatrixGeneric< T > &)=0
Definition: Persistent.h:64
MatrixBase< double > Matrix
Definition: MatrixFwd.h:40
static PersistentMaker0 maker0
Definition: DenseMatrix.h:93
virtual std::string dynamic_type_name() const
Persistent representation...
Definition: DenseMatrix.h:140