## Types in MathNet.Filtering.Kalman

Type SquareRootFilter

Namespace MathNet.Filtering.Kalman

Interfaces IKalmanFilter

An alternate form of the discrete time kalman filter, less prone to roundoff errors.
Square root filtering is designed to produce more stable covariance matrices by performing decomposition of the covariance matrix to ensure that roundoff errors do not occur.

This particular implementation stores the covariance in a UDU' decomposed form, and uses a Thornton UD update and a Bierman observational update algorithm. This means that there are no square roots performed as part of this.

### Public Constructors

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

Creates a square root filter with given initial state.
##### Parameters
###### `Matrix<double>` x0

Initial state estimate.

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

Covariance of initial state estimate.

### Public Methods

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

Performs a prediction of the state of the system after a given transition.
##### Parameters
###### `Matrix<double>` F

State transition matrix.

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

Performs a prediction of the state of the system after a given transition.
##### Parameters
###### `Matrix<double>` F

State transition matrix.

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

Noise coupling matrix.

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

Noise covariance matrix.

#### 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 state estimate.

#### Matrix<double>State get;

The estimate of the current state of the system.