Commit 594a3be2 authored by Martin Reinecke's avatar Martin Reinecke

small fixes and rewordings

parent 8f74abc9
...@@ -157,8 +157,8 @@ fields with equal domains, or a field and a scalar. ...@@ -157,8 +157,8 @@ 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 defined 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. See the domain). Scalar products of two fields can also be computed easily.
documentation of :class:`~field.Field` for details. See the documentation of :class:`~field.Field` for details.
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
values or fields filled with random numbers according to a user-specified values or fields filled with random numbers according to a user-specified
...@@ -431,7 +431,7 @@ It needs to be applied in forward direction in order to calculate the Wiener ...@@ -431,7 +431,7 @@ It needs to be applied in forward direction in order to calculate the Wiener
filter solution, but only its inverse application is straightforward. filter solution, but only its inverse application is straightforward.
To use it in forward direction, we make use of NIFTy's To use it in forward direction, we make use of NIFTy's
:class:`~operators.inversion_enabler.InversionEnabler` class, which internally :class:`~operators.inversion_enabler.InversionEnabler` class, which internally
does the inverse application of the given operator :math:`x = Op^{-1} (y)` by applies the (approximate) inverse of the given operator :math:`x = Op^{-1} (y)` by
solving the equation :math:`y = Op (x)` for :math:`x`. solving the equation :math:`y = Op (x)` for :math:`x`.
This is accomplished by minimizing a suitable This is accomplished by minimizing a suitable
:class:`~minimization.quadratic_energy.QuadraticEnergy` :class:`~minimization.quadratic_energy.QuadraticEnergy`
......
...@@ -6,7 +6,7 @@ Its object-oriented framework is written in Python, although it accesses librari ...@@ -6,7 +6,7 @@ Its object-oriented framework is written in Python, although it accesses librari
NIFTy offers a toolkit that abstracts discretized representations of continuous spaces, fields in these spaces, and operators acting on these fields into classes. NIFTy offers a toolkit that abstracts discretized representations of continuous spaces, fields in these spaces, and operators acting on these fields into classes.
This allows for an abstract formulation and programming of inference algorithms, including those derived within information field theory. This allows for an abstract formulation and programming of inference algorithms, including those derived within information field theory.
The user can develop algorithms on subsets of problems and on spaces where the detailled performance of the algorithm can be properly evaluated and then easily generalize them to other, more complex spaces and the full problem, respectively. The user can develop algorithms on subsets of problems and on spaces where the detailed performance of the algorithm can be properly evaluated and then easily generalize them to other, more complex spaces and the full problem, respectively.
The set of spaces on which NIFTy operates comprises point sets, *n*-dimensional regular grids, spherical spaces, their harmonic counterparts, and product spaces constructed as combinations of those. The set of spaces on which NIFTy operates comprises point sets, *n*-dimensional regular grids, spherical spaces, their harmonic counterparts, and product spaces constructed as combinations of those.
NIFTy takes care of numerical subtleties like the normalization of operations on fields and the numerical representation of model components, allowing the user to focus on formulating the abstract inference procedures and process-specific model properties. NIFTy takes care of numerical subtleties like the normalization of operations on fields and the numerical representation of model components, allowing the user to focus on formulating the abstract inference procedures and process-specific model properties.
......
...@@ -14,15 +14,14 @@ Plotting support is added via:: ...@@ -14,15 +14,14 @@ Plotting support is added via::
pip3 install --user matplotlib pip3 install --user matplotlib
Since Jan. 2019 we use Numpy's FFT implementation in order to minimize Since Jan. 2019 NIFTy uses Numpy's FFT implementation by default, in order to
dependencies. However, on some problems like FFTs of non-prime length arrays, minimize dependencies. However, for long-running production jobs we still
the library FFTW performs a lot better. If you use NIFTy for large problems recommend using FFTW because of its higher performance. This is achieved via:
involving FFTs, you may wish to use the FFTW support. It is added via::
sudo apt-get install libfftw3-dev sudo apt-get install libfftw3-dev
pip3 install --user pyfftw pip3 install --user pyfftw
To actually use FFTW in your NIFTy calculations, you need to call:: To actually enable FFTW in your NIFTy calculations, you need to call::
nifty5.fft.enable_fftw() nifty5.fft.enable_fftw()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment