%feature("docstring") OT::ProcessSample
"Collection of fields.

Available constructors:
    ProcessSample(*mesh, K, d*)

    ProcessSample(*K, field*)

Parameters
----------
mesh : :class:`~openturns.Mesh`
    The mesh shared by all the fields in the collection.
K : int
    Number of fields in the collection.
d : int
    Dimension  of the values of the field.
field : :class:`~openturns.Field`
    One field.

Notes
-----
A :class:`~openturns.ProcessSample` stores a sample of fields.
We note `K` the number of fields contained in the process sample and `d` the dimension of the values associated to each vertex of the common mesh :math:`\cM \in \Rset^n`.

These fields can be generated by a stochastic process.

- In the first usage, we fix the common mesh with `mesh`, the number of fields contained in the sample with `K` and the dimension of the values with `d`. The values of the fields are by default fixed to zero.

- In the second usage, the  collection of fields is filled with `K` copies of the given field `field`.

We note :math:`\vect{x}_i^k \in \Rset^d` the value of the field `k` at the vertex `i`. We note `N` the number of vertices of :math:`\cM`, with :math:`0 \leq i \leq N-1` and :math:`1 \leq k \leq K`.

Examples
--------
Create a bi dimensional mesh as a box:

>>> import openturns as ot
>>> myIndices = [10, 5]
>>> myMesher = ot.IntervalMesher(myIndices)
>>> lowerBound = [0.0, 0.0]
>>> upperBound = [2.0, 1.0]
>>> myInterval = ot.Interval(lowerBound, upperBound)
>>> myMesh = myMesher.build(myInterval)

Create a second order normal porcess of dimension 3:

>>> amplitude = [5]
>>> scale = [3, 3]
>>> model = ot.ExponentialModel(scale, amplitude)
>>> myProcess = ot.GaussianProcess(model, myMesh)

Generate a sample of different fields:

>>> n = 10
>>> mySampleFields = myProcess.getSample(n)

Duplicate the same field:

>>> myField = myProcess.getRealization()
>>> n = 10
>>> mySampleFields2 = ot.ProcessSample(n, myField)
"

// ---------------------------------------------------------------------
%feature("docstring") OT::ProcessSample::add
"Add a field to the collection.

Parameters
----------
field : :class:`~openturns.Field`
    A new field to add. 
    This field shares the same mesh and the same dimension as the other
    fields of the collection.
"

// ---------------------------------------------------------------------
%feature("docstring") OT::ProcessSample::computeMean
"Compute the mean field of the collection of fields.

Returns
-------
mean : :class:`~openturns.Field`
    The mean field has the same dimension `d` and the same mesh as the fields
    contained in the collection. At each vertex of the mesh, we calculate
    the mean of the values at this vertex of the `K` fields contained
    in the process sample:

.. math::

    \forall i \in [0,N-1], \quad \dfrac{1}{K} \sum_{k=1}^K \vect{x}_i^k
"

// ---------------------------------------------------------------------
%feature("docstring") OT::ProcessSample::computeMean
"Compute the mean field of the collection of fields.

Returns
-------
mean : :class:`~openturns.Field`
    The mean field has the same dimension `d` and the same mesh as the fields
    contained in the collection. At each vertex of the mesh, we calculate the
    mean of the values at this vertex of the `K` fields contained
    in the process sample:

.. math::

    \forall i \in [0,N-1], \quad \dfrac{1}{K} \sum_{k=1}^K \vect{x}_i^k
"

// ---------------------------------------------------------------------
%feature("docstring") OT::ProcessSample::computeSpatialMean
"Compute the spatial mean of the values of the fields.

Returns
-------
spatialMean : :class:`~openturns.Sample`
    Its size is the number `K` of fields in the collection.
    Its dimension is `d`. The `k` numerical point is the spatial mean of the field `k`:

.. math::

    \forall k \in [1,K], \quad \dfrac{1}{N}\sum_{i=0}^{N-1} \vect{x}_i^k
"

// ---------------------------------------------------------------------
%feature("docstring") OT::ProcessSample::computeTemporalMean
"Compute the temporal mean of the values of the fields.

Returns
-------
spatialMean : :class:`~openturns.Sample`
    Its size is the number `K` of fields in the collection.
    Its dimension is `d`.
    The `k` numerical point is the temporal mean of the field `k`:

.. math::

    \forall k \in [1,K], \quad \dfrac{1}{N}\sum_{i=0}^{N-1} \vect{x}_i^k

This method can be used only when the mesh can be interpreted as a regular grid.
"

// ---------------------------------------------------------------------
%feature("docstring") OT::ProcessSample::computeQuantilePerComponent
"Compute the temporal mean of the values of the fields.

Parameters
----------
p : float, :math:`0 \leq p \leq 1`
    Order of the quantile.

Returns
-------
quantileField : :class:`~openturns.Field`
    This field has the same size and the same dimension as the fields
    of the collection. At each vertex of the mesh, we estimate the
    component-wise quantile of order `p`, using the empirical quantile.
"

// ---------------------------------------------------------------------
%feature("docstring") OT::ProcessSample::getSize
"Get the size of the collection of fields.

Returns
-------
K : int
    Number of fields in the collection.
"

// ---------------------------------------------------------------------
%feature("docstring") OT::ProcessSample::getMesh
"Get the mesh of the fields.

Returns
-------
mesh : :class:`~openturns.Mesh`
    The mesh shared by all the fields of the collection.
"

// ---------------------------------------------------------------------
%feature("docstring") OT::ProcessSample::getTimeGrid
"Get the time grid of the fields.

Returns
-------
mesh : :class:`~openturns.RegularGrid`
    The time grid shared by all the fields of the collection.
    Can be used only if the mesh can be interpreted as a regular time grid.
"

// ---------------------------------------------------------------------
%feature("docstring") OT::ProcessSample::getDimension
"Get the dimension of the values of fields.

Returns
-------
d : int
    Dimension of the values of the fields.
"

// ---------------------------------------------------------------------
%feature("docstring") OT::ProcessSample::drawMarginal
"Draw the selected field.

Parameters
----------
indice : int
    Index of the field that is drawn in the graph.

Returns
-------
graph : :class:`~openturns.Graph`
    The graph of the selected field using the `interpolate` method.
"
