NIFTy merge requestshttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests2022-05-19T09:58:07Zhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/702Introduce a framework to convert from NIFTy to JAX2022-05-19T09:58:07ZGordian EdenhoferIntroduce a framework to convert from NIFTy to JAXhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/842Introduce a more flexible sequential map2023-05-02T13:50:13ZGordian EdenhoferIntroduce a more flexible sequential mapGordian EdenhoferGordian Edenhoferhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/460Introduce a numpy.einsum wrapper with derivatives2020-05-18T06:41:43ZGordian EdenhoferIntroduce a numpy.einsum wrapper with derivativesTest said operator for a couple of cases inspired by real-world
scenarios.
I am pretty certain that the operator does not work for complex
numbers yet but it should work just fine for real numbers.Test said operator for a couple of cases inspired by real-world
scenarios.
I am pretty certain that the operator does not work for complex
numbers yet but it should work just fine for real numbers.https://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/461Introduce a slicing and a splitting operator2020-05-18T09:23:32ZGordian EdenhoferIntroduce a slicing and a splitting operatorIntroduce a SliceOperator for slicing a field into a smaller size all
while preserving distances of the domain. Optionally center the selected
slices.
Plus, introduce a SplitOperator for splitting a single Field into a
MultiField.Introduce a SliceOperator for slicing a field into a smaller size all
while preserving distances of the domain. Optionally center the selected
slices.
Plus, introduce a SplitOperator for splitting a single Field into a
MultiField.https://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/718Introduce DomainChangerAndReshaper and Operator.force(op)2021-12-08T10:33:51ZPhilipp Arrasparras@mpa-garching.mpg.deIntroduce DomainChangerAndReshaper and Operator.force(op)Martin ReineckeMartin Reineckehttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/374Introduce expm1 by wrapping the numpy function2019-11-18T15:11:01ZGordian EdenhoferIntroduce expm1 by wrapping the numpy functionFurthermore, perform some minor cosmetic changes such as streamlining the definition of the log1p function.Furthermore, perform some minor cosmetic changes such as streamlining the definition of the log1p function.https://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/395Introduce `nifty6.mpi` namespace2020-01-23T13:42:48ZLukas PlatzIntroduce `nifty6.mpi` namespaceAs proposed by @reimar in #278, MPI parallelization can be done through specialized operators like the `MetricGaussianKL_MPI`.
The current state of the `do_cleanup` branch does not import them by default (as that would fail without mp...As proposed by @reimar in #278, MPI parallelization can be done through specialized operators like the `MetricGaussianKL_MPI`.
The current state of the `do_cleanup` branch does not import them by default (as that would fail without mpi4py installed) and provides no easy way of importing them, making it necessary to write their full file path to import them: `from nifty6.minimization.metric_gaussian_kl_mpi import MetricGaussianKL_MPI`
This patch proposes to introduce a `nifty6.mpi` namespace, from which all MPI-related components can be directly imported like `from nifty6.mpi import MetricGaussianKL_MPI`.https://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/394Introduce partial insert2019-12-10T11:28:21ZPhilipp Arrasparras@mpa-garching.mpg.deIntroduce partial insertSolves #280 Solves #280 https://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/312introduce relaxed adjointness tests for R-linear operators2019-04-10T12:04:23ZMartin Reineckeintroduce relaxed adjointness tests for R-linear operatorshttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/458Introduce SamplingDtypeEnabler2020-05-13T16:04:42ZPhilipp Arrasparras@mpa-garching.mpg.deIntroduce SamplingDtypeEnablerhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/181introducing the RealFFTOperator2017-08-15T02:25:01ZMartin Reineckeintroducing the RealFFTOperatorThis merge request supersedes merge request !180.
It only applies the minimal changes necessary to introduce the new FFT operator and renames it to "RealFFTOperator". The demo "wiener_filter_via_curvature.py" is updated to produce nicer ...This merge request supersedes merge request !180.
It only applies the minimal changes necessary to introduce the new FFT operator and renames it to "RealFFTOperator". The demo "wiener_filter_via_curvature.py" is updated to produce nicer pictures, and a copy demonstrating the new operator is added.https://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/416Inverse gamma2020-03-09T12:18:23ZPhilipp Arrasparras@mpa-garching.mpg.deInverse gammaMartin ReineckeMartin Reineckehttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/722InverseGammaOperator restructure2021-12-14T14:07:37ZVincent EberleInverseGammaOperator restructure## Changes in the InverseGammaOperator
I did some changes in the InverseGammaOperator in order to have some convenience functions for debugging namely:
- one can simply return (if mathematically existent) the `mode`, `mean` and the `vari...## Changes in the InverseGammaOperator
I did some changes in the InverseGammaOperator in order to have some convenience functions for debugging namely:
- one can simply return (if mathematically existent) the `mode`, `mean` and the `variance`
- one can use the mode and the mean in order to initialize the InverseGammaOperator by setting `alpha` and `q` to `None` and setting the values for mode and mean.
IMHO this can help a lot to find better values for alpha and q since these are sometimes hard to set.
@gedenhof @mtr @parras what do you think about these changes?
The code can be found [here](https://gitlab.mpcdf.mpg.de/ift/nifty/-/blob/681fd5591356a0072fa0ba1e3a712c3bd24efe05/src/library/special_distributions.py#L93).https://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/598Inverse tangent and unitstep nonlinearities2021-02-16T19:01:51ZPhilipp FrankInverse tangent and unitstep nonlinearitieshttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/6Issue/12/remove np support2016-10-25T02:13:06ZGhost UserIssue/12/remove np supportTheo SteiningerTheo Steiningerhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/680Jax fixes2021-08-30T18:17:57ZPhilipp Arrasparras@mpa-garching.mpg.deJax fixesMartin ReineckeMartin Reineckehttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/673Jax linear operator2021-08-11T11:16:01ZPhilipp Arrasparras@mpa-garching.mpg.deJax linear operatorMartin ReineckeMartin Reineckehttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/638Jax operator2021-07-01T10:23:36ZPhilipp Arrasparras@mpa-garching.mpg.deJax operatorMartin ReineckeMartin Reineckehttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/862JaxOpt style VI minimization and optimize_kl for nifty.re2023-11-19T20:48:45ZPhilipp FrankJaxOpt style VI minimization and optimize_kl for nifty.reGordian EdenhoferGordian Edenhoferhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/merge_requests/599Laplace distribution operator for L1 regularisation2021-03-24T08:53:58ZVincent EberleLaplace distribution operator for L1 regularisation# Laplace Distribution
First draft for a laplace distribution operator. Up to now it produces a laplace distribution: \
```p(x) = 1/(2*sigma) * exp(-1*abs(x-mu)/sigma) ```
with mu = 0 and sigma = 1, by default.
Now the operator transfor...# Laplace Distribution
First draft for a laplace distribution operator. Up to now it produces a laplace distribution: \
```p(x) = 1/(2*sigma) * exp(-1*abs(x-mu)/sigma) ```
with mu = 0 and sigma = 1, by default.
Now the operator transforms the Gaussian distribution to a uniform distribution and then to a laplace. If there is a computational more efficient way, I could incorperate this (@parras @mtr)Martin ReineckeMartin Reinecke