/** * @file ChordalBayesNet.h * @brief Chordal Bayes Net, the result of eliminating a factor graph * @brief ChordalBayesNet * @author Frank Dellaert */ // \callgraph #pragma once #include #include "ConditionalGaussian.h" #include "BayesChain.h" namespace gtsam { /** Chordal Bayes Net, the result of eliminating a factor graph */ class ChordalBayesNet : public BayesChain { public: typedef boost::shared_ptr shared_ptr; /** Construct an empty net */ ChordalBayesNet() {} /** Copy Constructor */ // ChordalBayesNet(const ChordalBayesNet& cbn_in) : // keys_(cbn_in.keys_), nodes_(cbn_in.nodes_) {} /** Destructor */ virtual ~ChordalBayesNet() {} /** * optimize, i.e. return x = inv(R)*d */ boost::shared_ptr optimize() const; /** * Return (dense) upper-triangular matrix representation */ std::pair matrix() const; }; } /// namespace gtsam