HasGP-0.1: A Haskell library for inference using Gaussian processes

HasGP.Covariance.Basic

Description

Gaussian Process Library. This module contains assorted functions that support the computation of covariance, constructing covariance matrices etc.

Covariance functions store log parameters. Functions are needed to return the covariance and its derivative. Derivatives are with respect to the actual parameters, NOT their logs.

Copyright (C) 2011 Sean Holden. sbh11@cl.cam.ac.uk.

Synopsis

Documentation

class CovarianceFunction a where

Methods

trueHyper :: a -> DVector

The actual hyperparameter values.

The covariance

covariance :: a -> DVector -> DVector -> Double

Derivative of covariance with respect to parameters

dCovarianceDParameters :: a -> DVector -> DVector -> DVector

Construct using log parameters.

makeCovarianceFromList :: a -> [Double] -> a

Get log parameters.

makeListFromCovariance :: a -> [Double]

covarianceMatrix :: CovarianceFunction c => c -> Inputs -> CovarianceMatrix

Construct a matrix of covariances from a covariance and a design matrix.

covarianceWithPoint :: CovarianceFunction c => c -> Inputs -> Input -> DVector

Constructs the column vector required when a new input is included. Constructed as a matrix to avoid further work elsewhere.

covarianceWithPoints :: CovarianceFunction c => c -> Inputs -> [Input] -> [DVector]

covarianceWithPoint applied to a list of points to produce a list of vectors.