Table of Contents

Class GaussMarkov

Namespace
NominalSystems.Maths
Assembly
NominalSystems.Maths.dll

This module is used to apply a second-order bounded Gauss-Markov random walk on top of an upper level process.The intent is that the caller will perform the set methods(setUpperBounds, setNoiseMatrix, setPropMatrix) as often as they need to, call computeNextState, and then call getCurrentState cyclically.

public class GaussMarkov
Inheritance
GaussMarkov

Constructors

GaussMarkov(int)

Constructor with a specific size

public GaussMarkov(int size)

Parameters

size int

The size of the States

GaussMarkov(int, long)

Constructor with a specific size and seed for the random walk

public GaussMarkov(int size, long seed)

Parameters

size int

The size of the States

seed long

A random seed to use

Fields

CurrentState

State of the markov model

public Vector CurrentState

Field Value

Vector

NoiseMatrix

Cholesky-decomposition or matrix square root of the covariance matrix to apply errors with

public Matrix NoiseMatrix

Field Value

Matrix

PropMatrix

Matrix to propagate error state with

public Matrix PropMatrix

Field Value

Matrix

StateBounds

Upper bounds to use for markov

public Vector StateBounds

Field Value

Vector

Methods

ComputeNextState()

This method performs almost all of the work for the Gauss Markov random walk.It uses the current random walk configuration, propagates the current state, and then applies appropriate errors to the states to set the current error level.

public void ComputeNextState()

SetSeed(long)

Updates the Seed of the Random value to a new seed.

public void SetSeed(long seed)

Parameters

seed long

The new seed to set the random object to