Go to the documentation of this file.00001
00028 #pragma once
00029
00030 #include <Eigen/Dense>
00031 #include <Eigen/LU>
00032
00033 namespace isam {
00034
00035
00036 class Noise {
00037 public:
00038 Eigen::MatrixXd _sqrtinf;
00039 const Eigen::MatrixXd& sqrtinf() const {return _sqrtinf;}
00040 };
00041
00042
00043 class SqrtInformation : public Noise {
00044 public:
00045 SqrtInformation(const Eigen::MatrixXd& sqrtinf) {_sqrtinf = sqrtinf;}
00046 };
00047
00048
00049 class Information : public Noise {
00050 public:
00051 Information(const Eigen::MatrixXd& inf) {
00052 _sqrtinf = inf.llt().matrixU();
00053 }
00054 };
00055
00056
00057 class Covariance : public Noise {
00058 public:
00059 Covariance(const Eigen::MatrixXd& cov) {
00060 _sqrtinf = cov.inverse().llt().matrixU();
00061 }
00062 };
00063
00064 }