# ZigZagGaussian: ZigZagGaussian In RZigZag: Zig-Zag Sampler

## Description

Applies the Zig-Zag Sampler to a Gaussian target distribution, as detailed in Bierkens, Fearnhead, Roberts, The Zig-Zag Process and Super-Efficient Sampling for Bayesian Analysis of Big Data, 2016. Assume potential of the form

U(x) = (x - mu)^T V (x - mu)/2,

i.e. a Gaussian with mean vector `mu` and covariance matrix `inv(V)`

## Usage

 ```1 2``` ```ZigZagGaussian(V, mu, n_iter = -1L, finalTime = -1, x0 = numeric(0), v0 = numeric(0)) ```

## Arguments

 `V` the inverse covariance matrix (or precision matrix) of the Gaussian target distribution. `mu` mean of the Gaussian target distribution `n_iter` Number of algorithm iterations; will result in the equivalent amount of skeleton points in Gaussian case because no rejections are needed. `finalTime` If provided and nonnegative, run the sampler until a trajectory of continuous time length finalTime is obtained (ignoring the value of `n_iterations`) `x0` starting point (optional, if not specified taken to be the origin) `v0` starting direction (optional, if not specified taken to be +1 in every component)

## Value

Returns a list with the following objects:

`Times`: Vector of switching times

`Positions`: Matrix whose columns are locations of switches. The number of columns is identical to the length of `skeletonTimes`. Be aware that the skeleton points themselves are NOT samples from the target distribution.

`Velocities`: Matrix whose columns are velocities just after switches. The number of columns is identical to the length of `skeletonTimes`.

## Examples

 ```1 2 3 4``` ```V <- matrix(c(3,1,1,3),nrow=2) mu <- c(2,2) result <- ZigZagGaussian(V, mu, 100) plot(result\$Positions[1,], result\$Positions[2,],type='l',asp=1) ```

RZigZag documentation built on July 20, 2019, 9:03 a.m.