NIFTy merge requestshttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests2020-07-17T13:10:31Zhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/536WIP: Catch FloatingPointError exeception in `energy.at` to store crashing pos...2020-07-17T13:10:31ZLukas PlatzWIP: Catch FloatingPointError exeception in `energy.at` to store crashing positionMost numerical errors (overflows, divisions by zero, …) with NIFTy occur during minimization runs. Tracking down what caused the fault condition is hard, as the NIFTy minimizers only return positions on non-faulty exits and the exact loc...Most numerical errors (overflows, divisions by zero, …) with NIFTy occur during minimization runs. Tracking down what caused the fault condition is hard, as the NIFTy minimizers only return positions on non-faulty exits and the exact location of the numerical error has to be reconstructed manually by observing the tracelog.
Typically, the numerical errors occur in the energy functionals to be minimized. Because of this, I propose to augment those to pickle their position on internal crashes.
This will help users in reconstructing the state at crash and in finding the crash reasons.https://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/360WIP: Cleanup ContractionOperator / SumOperator2019-11-12T16:49:06ZLukas PlatzWIP: Cleanup ContractionOperator / SumOperatorhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/255WIP: Covariant implementation of derivatives2018-05-14T20:57:47ZPhilipp Arrasparras@mpa-garching.mpg.deWIP: Covariant implementation of derivativeshttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/240WIP: Docker experiments2018-04-05T15:59:53ZPhilipp Arrasparras@mpa-garching.mpg.deWIP: Docker experimentshttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/130WIP: Docstring operators2017-05-17T21:50:59ZTheo SteiningerWIP: Docstring operatorshttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/263WIP: Draw sample22018-06-18T14:05:58ZPhilipp Arrasparras@mpa-garching.mpg.deWIP: Draw sample2https://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/265WIP: Even more fun with linear operators2018-06-18T14:04:50ZPhilipp Arrasparras@mpa-garching.mpg.deWIP: Even more fun with linear operators!263 needs to be merged first.!263 needs to be merged first.https://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/13WIP: Feature/field multiple space2016-09-24T13:04:51ZGhost UserWIP: Feature/field multiple spaceWIP, cast functions, and others still need sorting out.WIP, cast functions, and others still need sorting out.Theo SteiningerTheo Steiningerhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/528WIP: `FieldZeroPadder`: enable padding at the start of the array2021-03-24T11:15:05ZLukas PlatzWIP: `FieldZeroPadder`: enable padding at the start of the arrayThe `FieldZeroPadder` was able to pad either in the center of the field arrays or at the end.
Added the option to also pad at the start of field arrays.The `FieldZeroPadder` was able to pad either in the center of the field arrays or at the end.
Added the option to also pad at the start of field arrays.https://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/484WIP: Find position multifields2020-05-20T10:37:02ZPhilipp Arrasparras@mpa-garching.mpg.deWIP: Find position multifieldshttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/168WIP: Fixing wiener filter demo2017-08-02T21:13:16ZJakob KnollmuellerWIP: Fixing wiener filter demoI added some distribution_strategies in wiener_filter_via_hamiltonian.py, the WienerFilterEnergy now also uses the given inverter and distribution_strategies are now set in InvertibleOperatorMixin if no x0 is givenI added some distribution_strategies in wiener_filter_via_hamiltonian.py, the WienerFilterEnergy now also uses the given inverter and distribution_strategies are now set in InvertibleOperatorMixin if no x0 is givenhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/354WIP: Independent sl amplitudes2019-12-06T15:26:35ZPhilipp Arrasparras@mpa-garching.mpg.deWIP: Independent sl amplitudeshttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/26WIP: initial smooth operator2016-09-24T13:02:22ZTheo SteiningerWIP: initial smooth operatorTheo SteiningerTheo Steiningerhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/178WIP: Issue173 wiener filter demos2017-11-29T12:48:42ZPhilipp Arrasparras@mpa-garching.mpg.deWIP: Issue173 wiener filter demosHier mein Vorschlag für die beiden WienerFilter demos.
Was haltet ihr davon, wenn wir das wf_via_curvature durch ein 1D-Beispiel mit Rekonstruktion im Ortsraum ersetzen? Das wäre dann noch einfacher für den Einstieg. Da hätte ich auch w...Hier mein Vorschlag für die beiden WienerFilter demos.
Was haltet ihr davon, wenn wir das wf_via_curvature durch ein 1D-Beispiel mit Rekonstruktion im Ortsraum ersetzen? Das wäre dann noch einfacher für den Einstieg. Da hätte ich auch was da.
Cheers
Philipphttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/7WIP: Issue/4/add axis to dto rebased2016-05-02T10:52:21ZGhost UserWIP: Issue/4/add axis to dto rebasedTheo SteiningerTheo Steiningerhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/517WIP: Jacobian test not assuming C-linearity2020-06-05T08:36:16ZPhilipp Arrasparras@mpa-garching.mpg.deWIP: Jacobian test not assuming C-linearityhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/511WIP: Made _sumup of KL faster by summing up in parallel when possible2020-05-27T15:38:26ZReimar H LeikeWIP: Made _sumup of KL faster by summing up in parallel when possibleMarked as work in progress because
1. has to be tested whether it is really faster
2. Speed could in theory be even more increased if one uses the numpy versions of communication, i.e. Send and Recv
The basic idea of this change is...Marked as work in progress because
1. has to be tested whether it is really faster
2. Speed could in theory be even more increased if one uses the numpy versions of communication, i.e. Send and Recv
The basic idea of this change is to sum up the KL in a tree-type structure. This goes as follows.
Suppose we have this list:
```
1 2 3 4 5 6
```
Then we combine the numbers pairwise:
```
1 2 3 4 5 6
| / | / | /
3 7 11
```
We then iterate this procedure:
```
3 7 11
| / |
10 11
```
Here the 11 was at the end of the list, and was thus not summed. Finally we get
```
10 11
| /
21
```
This procedure converges in O(ln(N)) steps, if N is the length of the list.
Suppose the objects of the list are distributed over different MPI tasks, then in every step we need at most N/2 communications. However, because the range of numbers is shared consecutively, every task needs to communicate at most 2 times per iteration, so most communications are done in parallel. The method is organized such that the result of a sum is always computed by the higher ranked tasks. i.e. if the list is distributed over 4 tasks as follows:
```
1 1 2 2 3 4
```
Then the ranks that hold the sums evolve as follows:
```
1 1 2 3 3 4
| / | / | /
1 3 4
```
So far two communication were needed, with task 3 needing to communicate twice. It continues as
```
1 3 4
| / |
3 4
| /
| /
4
```
with two more necessary communications. In the end task 4 broadcasts the result.Martin ReineckeMartin Reineckehttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/353WIP: Mf new2019-10-29T15:46:44ZPhilipp Arrasparras@mpa-garching.mpg.deWIP: Mf newhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/527WIP: More constant support2020-06-18T18:19:39ZPhilipp Arrasparras@mpa-garching.mpg.deWIP: More constant supportMartin ReineckeMartin Reineckehttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/541WIP: More constant support (new version)2020-06-18T17:26:40ZPhilipp Arrasparras@mpa-garching.mpg.deWIP: More constant support (new version)