Indicator kriging estimates a non-parametric cdf
*z*_{i}, *F*(*z*_{i}),
*i* = 1,..., *n* of variable Z by kriging n indicator variables
*I*(, *z*_{i}):

The kriging estimate of
*I*(, *z*_{i}) is indeed the least-squares estimate of

*Prob*(*Z*()*z*_{i}).

Each indicator variable can be estimated using a different kriging method, e.g. with different kriging constraints. This cdf estimator only allows to change the kriging constraints, and none of the kriging systems can account for multiple variables (no cokriging).

It must be stressed that an Indicator Cdf Estimator expects n indicator variables
*I*(, *z*_{i}), not the single variable
*Z*() itself.

covar_iterator |
is a model of Forward Iterator | |

constraints_iterator |
is model of Forward Iterator | |

matrix_lib |
defines the library of linear algebra to be used. The default value is tnt_lib, the TNT library. |

`covar_iterator`iterates on a set of pointers to covariance functions, i.e. pointers to objects that are models Covariance.`constraints_iterator`iterates on a set of pointers to kriging constraints, i.e. pointers to objects that are models of Kriging Constraint.

`indicator_cdf_estimator(covar_iterator cov_begin,`Constructs an

covar_iterator cov_end,

constraints_iterator begin,

constraints_iterator end)

`indicator_cdf_estimator`. Ranges of iterators`[cov_begin,cov_end)`and [begin,end) need not be of the same size, nor do they need to be of size n, the number of discretizations of the non-parametric cdf. If they are of size lesser than n, the last element of the range is used for kriging the remaining indicators. For example, if*n*= 5 and both`[cov_begin,cov_end)`and [begin,end) contain only two elements, the first indicator variable*I*(,*z*_{1}) will be kriged using covariance`*cov_begin`and kriging constraints`*begin`, while all four remaining indicator variables*I*(,*z*_{i}),*i*= 1,..., 4 will be kriged using the same covariance and the kriging constraints`*(cov_begin+1)`and`*(begin+1)`.`template<class location, class neighborhood, class non_parametric_cdf>`Function call operator. It estimates the non-parametric cdf parameters

void operator()(const location& u, neighborhood** neighbors,

unsigned int nb_of_neighborhoods,

non_parametric_cdf& ccdf)

*F*(*z*_{i}) and modifies`ccdf`accordingly.`location`is a model of Location, and`neighborhood`is a model of Neighborhood.`u`is the location at which the non-parametric conditional cdf is estimated.`neighbors`is an array of pointers to neighborhoods of location`u`(`*(neighbors+i)`points to the*i*^{th}neighborhood of`u`). There are`nb_of_neighborhoods`neighborhoods in the array. Neighborhood i informs variable*I*(,*z*_{i}).`ccdf`must contain the values*z*_{i},*i*= 1,...,*n*.