# NAME

sample_from_gaussian_process_prior - Samples from the prior of a Gaussian process
# SYNOPSIS

#include "gp/gp_gaussian_processes.h"
Example compile flags (system dependent):
-DLINUX_X86_64 -DLINUX_X86_64_OPTERON -DGNU_COMPILER
-I/home/kobus/include
-L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
-lKJB -lfftw3 -lgsl -lgslcblas -ljpeg -lSVM -lstdc++ -lpthread -lSLATEC -lg2c -lacml -lacml_mv -lblas -lg2c -lncursesw
int sample_from_gaussian_process_prior
(
Vector_vector **sample,
const Vector_vector *indices,
int (*mean_func)(Vector **,const Vector *,int),
int (*cov_func)(Matrix **,const Vector *,const Vector *,const void *,int),
const void *hyper_params,
int d
);

# DESCRIPTION

This routine samples from the prior distribution of a Gaussian process, whose
mean function and covariance function are given by mean_func and cov_func,
respectively. The sample will be in the indices given by the vectors of indices,
and will each be of dimension d.
Naturally, the vectors of indices must all be of equal length, and mean_func and
cov_func must return a d-vector and a square matrix of dimension d, respectively.
The library provides a few widely-used mean and covariance functions. Also, sample
will have indices->length vectors, each of length d.
If the vector pointed to by sample is NULL, then a vector of the appropriate size
is created. If it exists, but is the wrong size, then it is recreated. Otherwise,
the storage is recycled.
# RETURNS

If the routine fails (due to storage allocation, an error in the mean or
covariance functions, or a mismatch in the sizes of the indices), then ERROR
is returned with and error message being set. Otherwise NO_ERROR is returned.
# RELATED

squared_exponential_covariance_function, zero_mean_function,
sample_from_gaussian_process_prior_i
# DISCLAIMER

This software is not adequatedly tested. It is recomended that
results are checked independantly where appropriate.
# AUTHOR

Ernesto Brau
# DOCUMENTER

Ernesto Brau
# SEE ALSO

fill_covariance_matrix
,
fill_mean_vector
,
sample_from_gaussian_process_prior_i
,
sample_from_gaussian_process_predictive
,
sample_from_gaussian_process_predictive_i
,
get_gaussian_process_predictive_distribution
,
get_gaussian_process_predictive_distribution_i
,
get_gaussian_process_posterior_distribution
,
get_gaussian_process_posterior_distribution_i
,
compute_gaussian_process_likelihood
,
compute_gaussian_process_likelihood_i
,
compute_gaussian_process_marginal_likelihood
,
compute_gaussian_process_marginal_likelihood_i
,
compute_gaussian_process_marginal_log_likelihood
,
compute_gaussian_process_marginal_log_likelihood_i