diff --git a/docs/source/code.rst b/docs/source/code.rst
index cddd1c9258504dfc7c7599fe3c8bf5546baf6b67..11b46e824a770d9fc9b5dc385f8def8fc8c9233a 100644
--- a/docs/source/code.rst
+++ b/docs/source/code.rst
@@ -77,7 +77,7 @@ The additional methods are specified in the abstract class
provide information about the domain's pixel volume(s) and its total volume.
- The property :attr:`~StructuredDomain.harmonic` specifies whether a domain
is harmonic (i.e. describes a frequency space) or not
-- Iff the domain is harmonic, the methods
+- If the domain is harmonic, the methods
:meth:`~StructuredDomain.get_k_length_array`,
:meth:`~StructuredDomain.get_unique_k_lengths`, and
:meth:`~StructuredDomain.get_fft_smoothing_kernel_function` provide absolute
@@ -90,13 +90,16 @@ NIFTy comes with several concrete subclasses of :class:`StructuredDomain`:
- :class:`~rg_space.RGSpace` represents a regular Cartesian grid with an arbitrary
number of dimensions, which is supposed to be periodic in each dimension.
+- :class:`~log_rg_space.LogRGSpace` implements a Cartesian grid wit logarithimcally
+ spaced bins and an arbitrary number of dimensions.
- :class:`~hp_space.HPSpace` and :class:`~gl_space.GLSpace` describe pixelisations of the
2-sphere; their counterpart in harmonic space is :class:`~lm_space.LMSpace`, which
contains spherical harmonic coefficients.
- :class:`~power_space.PowerSpace` is used to describe one-dimensional power spectra.
-Among these, :class:`~rg_space.RGSpace` can be harmonic or not (depending on
-constructor arguments), :class:`~gl_space.GLSpace`, :class:`~hp_space.HPSpace`,
+Among these, :class:`~rg_space.RGSpace` and :class:`~log_rg_space.LogRGSpace` can
+be harmonic or not (depending on constructor arguments),
+:class:`~gl_space.GLSpace`, :class:`~hp_space.HPSpace`,
and :class:`~power_space.PowerSpace` are pure position domains (i.e.
nonharmonic), and :class:`~lm_space.LMSpace` is always harmonic.
@@ -122,11 +125,18 @@ Some examples are:
.. currentmodule:: nifty5
-Consequently, NIFTy defines a class called :class:`~domain_tuple.DomainTuple`
-holding a sequence of :class:`~domains.domain.Domain` objects, which is used to
-specify full field domains. In principle, a :class:`~domain_tuple.DomainTuple`
+Consequently, NIFTy defined a class called :class:`~domain_tuple.DomainTuple`
+holding a sequence of :class:`~domains.domain.Domain` objects. The full domain is
+specified as the product of all elementary domains. Thus, an instance of
+:class:`~domain_tuple.DomainTuple` would be suitable to describe the former two
+examples above. In principle, a :class:`~domain_tuple.DomainTuple`
can even be empty, which implies that the field living on it is a scalar.
+.. Consequently, NIFTy defines a class called :class:`~domain_tuple.DomainTuple`
+.. holding a sequence of :class:`~domains.domain.Domain` objects, which is used to
+.. specify full field domains. In principle, a :class:`~domain_tuple.DomainTuple`
+.. can even be empty, which implies that the field living on it is a scalar.
+
A :class:`~domain_tuple.DomainTuple` supports iteration and indexing, and also
provides the properties :attr:`~domain_tuple.DomainTuple.shape` and
:attr:`~domain_tuple.DomainTuple.size` in analogy to the elementary
@@ -134,7 +144,10 @@ provides the properties :attr:`~domain_tuple.DomainTuple.shape` and
An aggregation of several :class:`~domain_tuple.DomainTuple` s, each member
identified by a name, is described by the :class:`~multi_domain.MultiDomain`
-class.
+class. In contrast to a :class:`~domain_tuple.DomainTuple` a
+:class:`~multi_domain.MultiDomain` is a collection and does not define the
+product space of its elements. It would be the adequate space to use in the
+latter of above's examples.
Fields
======
@@ -152,12 +165,21 @@ Usually, the array is stored in the form of a ``numpy.ndarray``, but for very
resource-intensive tasks NIFTy also provides an alternative storage method to
be used with distributed memory processing.
-Fields support a wide range of arithmetic operations, either involving two
-fields with equal domains, or a field and a scalar.
+Fields support a wide range of arithmetic operations, either involving
+two fields of equal domains or a field and a scalar. Arithmetic operations are
+performed point-wise, and the returned field has the same domain as the input field(s). Available operators are addition ("+"), subtraction ("-"),
+multiplication ("*"), division ("/"), floor division ("//") and
+exponentiation ("**"). Inplace operators ("+=", etc.) are not supported.
+Further, boolean operators, performing a point wise comparison of a field with
+either another field of equal domain or a scalar, are available as well. These
+include equals ("=="), not equals ("!="), less ("<"), less or equal ("<="),
+greater (">") and greater or equal (">=). The domain of the field returned equals
+that of the input field(s), while the stored data is of boolean type.
+
Contractions (like summation, integration, minimum/maximum, computation of
statistical moments) can be carried out either over an entire field (producing
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 as well.
See the documentation of :class:`~field.Field` for details.
There is also a set of convenience functions to generate fields with constant
diff --git a/docs/source/installation.rst b/docs/source/installation.rst
index 9882bd334bea4faca0a5509eb690ee1616e6a103..a562302cbd7a5890755e4a3e5d8edb24cdba7341 100644
--- a/docs/source/installation.rst
+++ b/docs/source/installation.rst
@@ -38,3 +38,17 @@ Support for spherical harmonic transforms is added via::
MPI support is added via::
sudo apt-get install python3-mpi4py
+
+NIFTy documentation is provided by Sphinx. To build the documentation::
+
+ sudo apt-get install python3-sphinx-rtd-theme dvipng
+ cd
+ sh docs/generate.sh
+
+To view the documentation in firefox::
+
+ firefox docs/build/index.html
+
+(Note: Make sure that you reinstall nifty after each change since sphinx
+imports nifty from the python path.)
+