## Types in MathNet.Filtering.Kalman

Type InformationFilter

Namespace MathNet.Filtering.Kalman

Interfaces IKalmanFilter

An alternate form of the Discrete Kalman Filter.
The Information filter stores and works with the inverse of the covariance matrix. The information filter has a more computationally complex prediction, and a less complex update. This makes it suitable for situations where large numbers of measurements are used for state estimates, or when the state of the system does not need to be known too frequently.

### Public Constructors

#### InformationFilter(IKalmanFilter kf)

Creates an Information Filter from a given Kalman Filter.
##### Parameters
###### `IKalmanFilter` kf

The filter used to derive the information filter.

#### InformationFilter(Matrix<double> x0, Matrix<double> P0)

Creates an Information filter with the given initial state.
##### Parameters
###### `Matrix<double>` x0

Initial estimate of state variables.

###### `Matrix<double>` P0

Covariance of state variable estimates.

#### InformationFilter(Matrix<double> state, Matrix<double> cov, bool inverted)

Creates an Information filter specifying whether the covariance and state have been 'inverted'.
This behaves the same as other constructors if the given boolean is false. Otherwise, in relation to the given state/covariance should satisfy:
##### Parameters
###### `Matrix<double>` state

The initial estimate of the state of the system.

###### `Matrix<double>` cov

The covariance of the initial state estimate.

###### `bool` inverted

Has covariance/state been converted to information filter form?

### Public Methods

#### voidPredict(Matrix<double> F)

Perform a discrete time prediction of the system state.
##### Parameters
###### `Matrix<double>` F

State transition matrix.

#### voidPredict(Matrix<double> F, Matrix<double> Q)

Preform a discrete time prediction of the system state.
Performs a prediction of the next state of the Kalman Filter, where there is plant noise. The covariance matrix of the plant noise, in this case, is a square matrix corresponding to the state transition and the state of the system.
##### Parameters
###### `Matrix<double>` F

State transition matrix.

###### `Matrix<double>` Q

A plant noise covariance matrix.

#### voidPredict(Matrix<double> F, Matrix<double> G, Matrix<double> Q)

Perform a discrete time prediction of the system state.
Performs a prediction of the next state of the Kalman Filter, given a description of the dynamic equations of the system, the covariance of the plant noise affecting the system and the equations that describe the effect on the system of that plant noise.
##### Parameters
###### `Matrix<double>` F

State transition matrix.

###### `Matrix<double>` G

Noise coupling matrix.

###### `Matrix<double>` Q

Plant noise covariance.

#### voidUpdate(Matrix<double> z, Matrix<double> H, Matrix<double> R)

Updates the state of the system based on the given noisy measurements, a description of how those measurements relate to the system, and a covariance `Matrix` to describe the noise of the system.
##### Parameters
###### `Matrix<double>` z

The measurements of the system.

###### `Matrix<double>` H

Measurement model.

###### `Matrix<double>` R

Covariance of measurements.

### Public Properties

#### Matrix<double>Cov get;

The covariance of the current state estimate.

#### Matrix<double>InverseCov get;

The inverse of the covariance of the current state estimate.

#### Matrix<double>State get;

The estimate of the state of the system.
Examination of system state requires an inversion of the covariance matrix for the information filter, and is quite expensive for large systems.