* cholesky
This commit is contained in:
parent
897d0b051d
commit
22602154fc
8 changed files with 195 additions and 33 deletions
|
|
@ -1,29 +1,38 @@
|
|||
#ifndef _doNormalParams_h
|
||||
#define _doNormalParams_h
|
||||
|
||||
#include <boost/numeric/ublas/symmetric.hpp>
|
||||
#include <boost/numeric/ublas/lu.hpp>
|
||||
|
||||
namespace ublas = boost::numeric::ublas;
|
||||
|
||||
template < typename EOT >
|
||||
class doNormalParams
|
||||
{
|
||||
public:
|
||||
doNormalParams(EOT mean, EOT variance)
|
||||
: _mean(mean), _variance(variance)
|
||||
typedef typename EOT::AtomType AtomType;
|
||||
|
||||
doNormalParams(const EOT& mean, const ublas::symmetric_matrix< AtomType, ublas::lower >& varcovar)
|
||||
: _mean(mean), _varcovar(varcovar)
|
||||
{
|
||||
assert(_mean.size() > 0);
|
||||
assert(_mean.size() == _variance.size());
|
||||
assert(_mean.size() == _varcovar.size1());
|
||||
assert(_mean.size() == _varcovar.size2());
|
||||
}
|
||||
|
||||
EOT& mean(){return _mean;}
|
||||
EOT& variance(){return _variance;}
|
||||
ublas::symmetric_matrix< AtomType, ublas::lower >& varcovar(){return _varcovar;}
|
||||
|
||||
unsigned int size()
|
||||
{
|
||||
assert(_mean.size() == _variance.size());
|
||||
assert(_mean.size() == _varcovar.size1());
|
||||
assert(_mean.size() == _varcovar.size2());
|
||||
return _mean.size();
|
||||
}
|
||||
|
||||
private:
|
||||
EOT _mean;
|
||||
EOT _variance;
|
||||
ublas::symmetric_matrix< AtomType, ublas::lower > _varcovar;
|
||||
};
|
||||
|
||||
#endif // !_doNormalParams_h
|
||||
|
|
|
|||
Reference in a new issue