73 void setError(
double const*
const error);
81 std::size_t
const size);
97 std::size_t
const columns);
149 std::string
status(std::size_t epoch)
const;
159 std::vector<std::string>
info()
const;
177 double getQ0()
const;
189 double getNu()
const;
226 Eigen::Map<Eigen::VectorXd>*
w;
228 Eigen::Map<Eigen::VectorXd const>*
xi;
230 Eigen::Map<Eigen::MatrixXd const>*
H;
Implementation of the Kalman filter method.
void update()
Update error covariance matrix and state vector.
void setParametersStandard(double const epsilon, double const q0, double const qtau, double const qmin, double const eta0, double const etatau, double const etamax)
Set parameters for standard Kalman filter.
double eta0
Learning rate initial value .
Eigen::Map< Eigen::MatrixXd const > * H
Derivative matrix.
double nu
Parameter for fading memory Kalman filter.
double qtau
Process noise exponential decay parameter .
std::string status(std::size_t epoch) const
Status report.
std::size_t sizeObservation
Size of observation (measurement) vector.
double getQ0() const
Getter for q0.
KalmanType type
Kalman filter type.
Eigen::Map< Eigen::VectorXd > * w
State vector.
double q0
Process noise initial value .
double lambda
Forgetting factor for fading memory Kalman filter.
void setParametersFadingMemory(double const epsilon, double const q0, double const qtau, double const qmin, double const lambda, double const nu)
Set parameters for fading memory Kalman filter.
double getEpsilon() const
Getter for epsilon.
Eigen::MatrixXd X
Intermediate result X = P . H.
void setState(double *state)
Set pointer to current state.
void setJacobian(double const *const jacobian, std::size_t const columns)
Set pointer to current Jacobi matrix.
std::vector< std::string > statusHeader() const
Header for status report file.
double etatau
Learning rate exponential increase parameter .
double etamax
Learning rate maximum value .
double gamma
Forgetting gain factor gamma for fading memory Kalman filter.
std::vector< std::string > info() const
Information about Kalman filter settings.
void setError(double const *const error)
Set pointer to current error vector.
std::size_t numUpdates
Total number of updates performed.
KalmanType
Enumerate different Kalman filter types.
@ KT_STANDARD
Regular Kalman filter.
@ KT_FADINGMEMORY
Kalman filtering with fading memory modification.
void setError(double const *const error, std::size_t const size)
Set pointer to current error vector.
std::size_t getNumUpdates() const
Getter for numUpdates.
KalmanFilter(std::size_t const sizeState, KalmanType const type)
Kalman filter class constructor.
double qmin
Process noise minimum value .
void setSizeObservation(std::size_t const sizeObservation)
Set observation vector size.
double getEta() const
Getter for eta.
Eigen::MatrixXd K
Kalman gain matrix.
double eta
Learning rate .
double epsilon
Error covariance initialization parameter .
double getNu() const
Getter for nu.
KalmanType getType() const
Getter for type.
std::size_t getSizeObservation() const
Getter for sizeObservation.
double getQtau() const
Getter for qtau.
Eigen::Map< Eigen::VectorXd const > * xi
Error vector.
double getGamma() const
Getter for gamma.
double getLambda() const
Getter for lambda.
Eigen::MatrixXd P
Error covariance matrix.
double getQmin() const
Getter for qmin.
virtual ~KalmanFilter()
Destructor.
void update(std::size_t const sizeObservation)
Update error covariance matrix and state vector.
void setJacobian(double const *const jacobian)
Set pointer to current Jacobi matrix.
Base class for different weight update methods.
std::size_t sizeState
Number of neural network connections (weights + biases).