fill_mean_vector - Fills a mean vector for a Gaussian process
Example compile flags (system dependent):
-DLINUX_X86_64 -DLINUX_X86_64_OPTERON -DGNU_COMPILER
-lKJB -lfftw3 -lgsl -lgslcblas -ljpeg -lSVM -lstdc++ -lpthread -lSLATEC -lg2c -lacml -lacml_mv -lblas -lg2c -lncursesw
const Vector_vector *indices,
int (*mean_func)(Vector **,const Vector *,int),
This routine creates a mean vector for a Gaussian process where the dimension
of the indices is given by the dimension of the vectors of indices, and the
dimension of the variables is d. Then, it fills *mean with subvectors that are
the result of calling the given mean function for that index.
For example, the subvector of *mean of elements 0,1,...,d is v, where v is the
vector gotten in the call
mean_func(&v, indices->elements, d).
Naturally, all of the vectors of indices must have equal lengths. Also,
mean_func must "return" d-vector (there are some predefined mean functions in
the library). If the routine succeeds, mean will be of length
indices->elements->length * d.
If the vector pointed to by mean 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.
If the routine fails (due to storage allocation or an error in the mean
function), then ERROR is returned with and error message being set. Otherwise
NO_ERROR is returned.
This software is not adequatedly tested. It is recomended that
results are checked independantly where appropriate.