Consequently, NIFTy defines a class called :class:`DomainTuple` holding
Consequently, NIFTy defines a class called :class:`DomainTuple` holding
a sequence of :class:`Domain` objects, which is used to specify full field
a sequence of :class:`Domain` objects, which is used to specify full field
domains. In principle, a :class:`DomainTuple` can even be empty, which implies
domains. In principle, a :class:`DomainTuple` can even be empty, which implies
that the field living on it is a scalar.
that the field defined on it is a scalar.
A :class:`DomainTuple` supports iteration and indexing, and also provides the
A :class:`DomainTuple` supports iteration and indexing, and also provides the
properties :attr:`~DomainTuple.shape`, :attr:`~DomainTuple.size` in analogy to
properties :attr:`~DomainTuple.shape`, :attr:`~DomainTuple.size` in analogy to
...
@@ -152,7 +152,7 @@ Fields support a wide range of arithmetic operations, either involving two
...
@@ -152,7 +152,7 @@ Fields support a wide range of arithmetic operations, either involving two
fields with equal domains, or a field and a scalar.
fields with equal domains, or a field and a scalar.
Contractions (like summation, integration, minimum/maximum, computation of
Contractions (like summation, integration, minimum/maximum, computation of
statistical moments) can be carried out either over an entire field (producing
statistical moments) can be carried out either over an entire field (producing
a scalar result) or over sub-domains (resulting in a field living on a smaller
a scalar result) or over sub-domains (resulting in a field defined on a smaller
domain). Scalar products of two fields can also be computed easily.
domain). Scalar products of two fields can also be computed easily.
There is also a set of convenience functions to generate fields with constant
There is also a set of convenience functions to generate fields with constant
...
@@ -250,7 +250,7 @@ provided by NIFTy's :class:`InversionEnabler` class, which is itself a linear
...
@@ -250,7 +250,7 @@ provided by NIFTy's :class:`InversionEnabler` class, which is itself a linear
operator.
operator.
Direct multiplication and adjoint inverse multiplication transform a field
Direct multiplication and adjoint inverse multiplication transform a field
living on the operator's :attr:`~LinearOperator.domain` to one living on the operator's :attr:`~LinearOperator.target`, whereas adjoint multiplication
defined on the operator's :attr:`~LinearOperator.domain` to one defined on the operator's :attr:`~LinearOperator.target`, whereas adjoint multiplication
and inverse multiplication transform from :attr:`~LinearOperator.target` to :attr:`~LinearOperator.domain`.
and inverse multiplication transform from :attr:`~LinearOperator.target` to :attr:`~LinearOperator.domain`.
Operators with identical domain and target can be derived from
Operators with identical domain and target can be derived from
...
@@ -364,7 +364,7 @@ These hold the prescription how to calculate the function's
...
@@ -364,7 +364,7 @@ These hold the prescription how to calculate the function's
(optionally) :attr:`~Energy.metric` at any given :attr:`~Energy.position`
(optionally) :attr:`~Energy.metric` at any given :attr:`~Energy.position`
in parameter space.
in parameter space.
Function values are floating-point scalars, gradients have the form of fields
Function values are floating-point scalars, gradients have the form of fields
living on the energy's position domain, and metrics are represented by
defined on the energy's position domain, and metrics are represented by
linear operator objects.
linear operator objects.
Energies are classes that typically have to be provided by the user when
Energies are classes that typically have to be provided by the user when