nonlinearanalyticconditionalgaussian_ginac.h
Go to the documentation of this file.
1 // $Id$
2 // Copyright (C) 2003 Klaas Gadeyne <first dot last at gmail dot com>
3 // Wim Meeussen <wim dot meeussen at mech dot kuleuven dot ac dot be>
4 //
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published by
7 // the Free Software Foundation; either version 2.1 of the License, or
8 // (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 //
19 
20 #ifndef __NONLINEAR_SYSTEM_CONDITIONAL_GAUSSIAN_GINAC__
21 #define __NONLINEAR_SYSTEM_CONDITIONAL_GAUSSIAN_GINAC__
22 
24 #include <ginac/ginac.h>
25 #include <iostream>
26 
27 namespace BFL
28 {
30 
49  {
50  public:
52 
60  NonLinearAnalyticConditionalGaussian_Ginac( const GiNaC::matrix& func,
61  const vector<GiNaC::symbol>& u,
62  const vector<GiNaC::symbol>& x,
63  const Gaussian& additiveNoise,
64  const vector<GiNaC::symbol>& cond );
65 
67 
75  NonLinearAnalyticConditionalGaussian_Ginac( const GiNaC::matrix& func,
76  const vector<GiNaC::symbol>& u,
77  const vector<GiNaC::symbol>& x,
78  const Gaussian& additiveNoise );
81 
84 
86  friend std::ostream& operator<< (std::ostream& os, NonLinearAnalyticConditionalGaussian_Ginac& p);
87 
89  GiNaC::matrix FunctionGet();
90 
92  vector<GiNaC::symbol> InputGet();
93 
95  vector<GiNaC::symbol> StateGet();
96 
98  vector<GiNaC::symbol> ConditionalGet();
99 
100  // redefinition of virtual functions
101  virtual MatrixWrapper::ColumnVector ExpectedValueGet() const;
102  virtual MatrixWrapper::SymmetricMatrix CovarianceGet() const;
103 
104  // Redefinition of dfGet
109  virtual MatrixWrapper::Matrix dfGet(unsigned int i) const;
110 
111 
112  private:
113  GiNaC::matrix func_sym;
114  vector<GiNaC::symbol> cond_sym, u_sym, x_sym;
115  unsigned int cond_size, u_size, x_size, func_size;
116  vector<GiNaC::ex> dfunc_dcond, dfunc_dx;
117 
118 
119  };
120 
121 } // End namespace
122 
123 #endif // __NONLINEAR_SYSTEM_CONDITIONAL_GAUSSIAN_GINAC__
vector< GiNaC::symbol > InputGet()
return substitution symbols
friend std::ostream & operator<<(std::ostream &os, NonLinearAnalyticConditionalGaussian_Ginac &p)
output stream for measurement model
Class representing Gaussian (or normal density)
Definition: gaussian.h:27
Conditional Gaussian for an analytic nonlinear system using Ginac:
Abstract Class representing all full Analytical Conditional gaussians with Additive Gaussian Noise...
virtual MatrixWrapper::SymmetricMatrix CovarianceGet() const
Get the Covariance Matrix E[(x - E[x])^2] of the Analytic pdf.
NonLinearAnalyticConditionalGaussian_Ginac(const GiNaC::matrix &func, const vector< GiNaC::symbol > &u, const vector< GiNaC::symbol > &x, const Gaussian &additiveNoise, const vector< GiNaC::symbol > &cond)
constructor
vector< GiNaC::symbol > ConditionalGet()
Get conditional arguments.
virtual MatrixWrapper::ColumnVector ExpectedValueGet() const
Get the expected value E[x] of the pdf.


bfl
Author(s): Klaas Gadeyne, Wim Meeussen, Tinne Delaet and many others. See web page for a full contributor list. ROS package maintained by Wim Meeussen.
autogenerated on Mon Feb 28 2022 21:56:33