You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Added Siegel-disk Riemannian optimization (Bergman metric) for complex symmetric matrices with operator norm < 1, via `Variable.siegel` and `Optimizer(siegel_lr=...)`.
75
+
76
+
* Introduced the `ComputationalGraph`, a class to represent computations where nodes are components and edges are tensor contractions.
77
+
56
78
### Improvements
57
79
80
+
* Added support for Python 3.14.
81
+
82
+
* Added native jax version of the vanilla hermite_renormalized function.
83
+
84
+
*`Optimizer` now catches `KeyboardInterrupt` during `minimize` and returns the current variable values instead of crashing. Added an opt-in `parameter_history` flag to `Optimizer.minimize` that stores intermediate variable values at each step in `Optimizer.parameter_history`.
85
+
86
+
* Updated `mm_einsum` to support a sublist signature. As a result, contractions are no longer constrained to the number of supported characters.
87
+
88
+
* Added `fock_config` and `representation_config` to `ComputationalGraph`.
89
+
90
+
* Updated `ComputationalGraph` to do things in standard order.
91
+
92
+
*`oscillator_eigenstate` now supports arbitrary batch dimensions.
93
+
94
+
* Updated built-in `CircuitComponent`s to expose a `name` argument for users.
95
+
96
+
* Added `fock_diagonals_1leftover` (in `mrmustard.mathlib.lattice.strategies.fock_diagonals`), a numerically stable and exact algorithm for computing conditional density matrices.
97
+
98
+
* Added the `CircuitComponent.from_fock` classmethod.
99
+
100
+
* Added `WIGNER_2D_RESOLUTION` and `WIGNER_BOUNDS` settings for the single-mode state repr Wigner plot.
101
+
102
+
* Fixed `hermite_renormalized`: user-provided `stable` now overrides `STABLE_FOCK_CONVERSION`.
103
+
104
+
* Added `visualize_2d_with_arrows` to `State`.
105
+
106
+
* Made `fock_diagonals` numerically stable (in `mrmustard.mathlib.lattice.strategies.fock_diagonals`). It computes the multimode Fock diagonal / photon-number probabilities of a Gaussian operator.
107
+
108
+
* Added `max_disp` as a keyword argument to `GaussianKet.random` and `GaussianDM.random`. When given, each mode is displaced by a random complex amplitude sampled uniformly from the disk of radius `max_disp`.
109
+
58
110
* Added `tan`, `tanh`, `argmax`, `argmin`, `argsort`, and `mean` functions to the math backend.
59
111
60
112
* Added `stellar_roots()` and `plot_stellar_roots()` methods to `Ket` for computing and visualizing the zeros of the Bargmann polynomial of single-mode states.
@@ -133,6 +185,10 @@ matrix is provided and a random interferometer is to be generated.
133
185
* Added ability to raise when contracting two circuit components in different
134
186
representations by setting `settings.DEFAULT_REPRESENTATION` to `None`.
135
187
188
+
* Added the `Kgate` (Kerr) non-Gaussian single-mode unitary, diagonal in the Fock basis
* Fixed editable installs failing with a `FileNotFoundError` on `ninja` when re-running `uv run` (build isolation is now disabled for `mrmustard` so the rebuild hook uses the environment's stable `ninja`/`meson`).
* Fixed a bug in `ComputationalGraph` where generic `CircuitComponent` subclasses were populating the `ansatz_dict`.
213
+
214
+
* Tests will now all pass on GPU when selecting the JAX backend.
215
+
216
+
* Moved `jax.config` logic from `mrmustard/math/backend_jax.py` into `mrmustard/__init__.py` to ensure settings are updated even when the backend is
217
+
not set to `jax`.
218
+
219
+
* Added an absolute tolerance of `1e-20` to the check that a determinant in `complex_gaussian_integral_2_jitted` is close to `0` to mitigate underflows.
220
+
221
+
* Fixed a bug in `mm_einsum` where the user-supplied path would only work for the Bargmann contraction. Now it works all the way through.
162
222
163
223
* Fixed a bug in `CircuitComponent.quadrature` where einsum fock indices collided with mode indices for states on non-zero modes (e.g. a single-mode DM on mode 1 after tracing), forcing the number of quadrature points to equal the Fock cutoff and silently giving wrong results.
164
224
@@ -173,6 +233,9 @@ with entries :math:`e^{i\kappa n*(n-1)}`.
173
233
174
234
* Fixed a bug that prevented `Number` from being JIT compiled in the JAX backend.
175
235
236
+
* Fixed editable installs failing with a `FileNotFoundError` on `ninja` when re-running `uv run` (build isolation is now disabled for `mrmustard` so the rebuild hook uses the environment's stable `ninja`/`meson`).
0 commit comments