use row major everywhere with Eigen

This commit is contained in:
nojhan 2012-07-09 22:58:55 +02:00
commit f8bae61095
6 changed files with 21 additions and 11 deletions

View file

@ -163,8 +163,10 @@ public:
{
public:
typedef typename EOT::AtomType AtomType;
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, 1> Vector;
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic> Matrix;
// typedef typename edoNormalMulti<AtomType>::Vector Vector;
// typedef typename edoNormalMulti<AtomType>::Matrix Matrix;
typedef Eigen::Matrix< AtomType, 1, Eigen::Dynamic, Eigen::RowMajor> Vector;
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> Matrix;
CovMatrix( const eoPop< EOT >& pop )
{

View file

@ -83,8 +83,8 @@ class edoNormalMulti : public edoDistrib< EOT >
{
public:
typedef typename EOT::AtomType AtomType;
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, 1> Vector; // Note: by default, Eigen is column-major
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic> Matrix;
typedef Eigen::Matrix< AtomType, 1, Eigen::Dynamic, Eigen::RowMajor> Vector;
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> Matrix;
edoNormalMulti(
const Vector & mean,

View file

@ -57,11 +57,13 @@ class edoNormalMultiCenter : public edoModifierMass< edoNormalMulti< EOT > >
{
public:
typedef typename EOT::AtomType AtomType;
// typedef typename edoNormalMulti<AtomType>::Vector Vector;
typedef Eigen::Matrix< AtomType, 1, Eigen::Dynamic, Eigen::RowMajor> Vector;
void operator() ( edoNormalMulti< EOT >& distrib, EOT& mass )
{
assert( distrib.size() == mass.innerSize() );
Eigen::Matrix< AtomType, Eigen::Dynamic, 1 > mean( mass );
Vector mean( mass );
distrib.mean() = mean;
}
};

View file

@ -96,8 +96,10 @@ class edoSamplerNormalMulti : public edoSampler< EOD >
{
public:
typedef typename EOT::AtomType AtomType;
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, 1> Vector;
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic> Matrix;
// typedef typename edoNormalMulti<AtomType>::Vector Vector;
// typedef typename edoNormalMulti<AtomType>::Matrix Matrix;
typedef Eigen::Matrix< AtomType, 1, Eigen::Dynamic, Eigen::RowMajor> Vector;
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> Matrix;
edoSamplerNormalMulti( edoRepairer<EOT> & repairer )
: edoSampler< EOD >( repairer)

View file

@ -48,8 +48,10 @@ typedef EOT::AtomType AtomType;
#else
#ifdef WITH_EIGEN
#include <Eigen/Dense>
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, 1> Vector;
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic> Matrix;
// typedef typename edoNormalMulti<AtomType>::Vector Vector;
// typedef typename edoNormalMulti<AtomType>::Matrix Matrix;
typedef Eigen::Matrix< AtomType, 1, Eigen::Dynamic, Eigen::RowMajor> Vector;
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> Matrix;
#endif
#endif

View file

@ -53,8 +53,10 @@ typedef EOT::AtomType AtomType;
#else
#ifdef WITH_EIGEN
#include <Eigen/Dense>
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, 1> Vector;
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic> Matrix;
// typedef typename edoNormalMulti<AtomType>::Vector Vector;
// typedef typename edoNormalMulti<AtomType>::Matrix Matrix;
typedef Eigen::Matrix< AtomType, 1, Eigen::Dynamic, Eigen::RowMajor> Vector;
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> Matrix;
#endif
#endif