Cokriging of variable *Z*_{1}, accounting for secondary variables
*Z*_{2},..., *Z*_{Nv}, requires the covariances
(,) *C*_{i, j}(,).

LMC cokriging requires the knowledge of the covariances between any two locations , .

covariance_matrix |
is an object that represents a matrix. Expression mat(i,j) must be valid and return element (i,j) of the matrix (i and j are greater than or equal to 1), and the matrix must have a copy constructor. The elements of the covariance matrix must be models of Covariance |

`LMC_covariance::LMC_covariance(const covariance_matrix& A,`Constructs a

unsigned int size)

`LMC_covariance`. Matrix`A`contains pointers to the covariance functions (,)*C*_{i, j}(,).`size`is the size of the covariance matrix. It is equal to the number of variables*N*_{v}.`double LMC_covariance::operator()(unsigned int i, unsigned int j,`Function call operator. Returns the covariance

const location& u1, const location& u2)

*C*_{i, j}(,).