use row major everywhere with Eigen
This commit is contained in:
parent
f0564c233e
commit
f8bae61095
6 changed files with 21 additions and 11 deletions
|
|
@ -163,8 +163,10 @@ public:
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef typename EOT::AtomType AtomType;
|
typedef typename EOT::AtomType AtomType;
|
||||||
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, 1> Vector;
|
// typedef typename edoNormalMulti<AtomType>::Vector Vector;
|
||||||
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic> Matrix;
|
// 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 )
|
CovMatrix( const eoPop< EOT >& pop )
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -83,8 +83,8 @@ class edoNormalMulti : public edoDistrib< EOT >
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef typename EOT::AtomType AtomType;
|
typedef typename EOT::AtomType AtomType;
|
||||||
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, 1> Vector; // Note: by default, Eigen is column-major
|
typedef Eigen::Matrix< AtomType, 1, Eigen::Dynamic, Eigen::RowMajor> Vector;
|
||||||
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic> Matrix;
|
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> Matrix;
|
||||||
|
|
||||||
edoNormalMulti(
|
edoNormalMulti(
|
||||||
const Vector & mean,
|
const Vector & mean,
|
||||||
|
|
|
||||||
|
|
@ -57,11 +57,13 @@ class edoNormalMultiCenter : public edoModifierMass< edoNormalMulti< EOT > >
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef typename EOT::AtomType AtomType;
|
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 )
|
void operator() ( edoNormalMulti< EOT >& distrib, EOT& mass )
|
||||||
{
|
{
|
||||||
assert( distrib.size() == mass.innerSize() );
|
assert( distrib.size() == mass.innerSize() );
|
||||||
Eigen::Matrix< AtomType, Eigen::Dynamic, 1 > mean( mass );
|
Vector mean( mass );
|
||||||
distrib.mean() = mean;
|
distrib.mean() = mean;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -96,8 +96,10 @@ class edoSamplerNormalMulti : public edoSampler< EOD >
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef typename EOT::AtomType AtomType;
|
typedef typename EOT::AtomType AtomType;
|
||||||
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, 1> Vector;
|
// typedef typename edoNormalMulti<AtomType>::Vector Vector;
|
||||||
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic> Matrix;
|
// 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 )
|
edoSamplerNormalMulti( edoRepairer<EOT> & repairer )
|
||||||
: edoSampler< EOD >( repairer)
|
: edoSampler< EOD >( repairer)
|
||||||
|
|
|
||||||
|
|
@ -48,8 +48,10 @@ typedef EOT::AtomType AtomType;
|
||||||
#else
|
#else
|
||||||
#ifdef WITH_EIGEN
|
#ifdef WITH_EIGEN
|
||||||
#include <Eigen/Dense>
|
#include <Eigen/Dense>
|
||||||
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, 1> Vector;
|
// typedef typename edoNormalMulti<AtomType>::Vector Vector;
|
||||||
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic> Matrix;
|
// 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
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -53,8 +53,10 @@ typedef EOT::AtomType AtomType;
|
||||||
#else
|
#else
|
||||||
#ifdef WITH_EIGEN
|
#ifdef WITH_EIGEN
|
||||||
#include <Eigen/Dense>
|
#include <Eigen/Dense>
|
||||||
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, 1> Vector;
|
// typedef typename edoNormalMulti<AtomType>::Vector Vector;
|
||||||
typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic> Matrix;
|
// 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
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
Reference in a new issue