---
title: Multi-product formulas (MPF) release notes
description: Changes made to Multi-product formulas (MPF)
source: https://quantum.cloud.ibm.com/docs/en/api/qiskit-addon-mpf/release-notes
---

# Multi-product formulas (MPF) release notes

## 0.3.0

### New Features

- TeNPy can disable `Sz` conservation. Previously, the [`initialize_from_lattice()`](/docs/api/qiskit-addon-mpf/backends-tenpy-tebd-mpo-state#initialize_from_lattice "qiskit_addon_mpf.backends.tenpy_tebd.MPOState.initialize_from_lattice") method did not support this, but a new keyword argument `conserve` has been added which allows the disabling of `Sz` conservation. The default remains to be `True`.

- Guards against unexpected behavior when `N_steps != 1` in [`qiskit_addon_mpf.backends.tenpy_layers.LayerwiseEvolver.evolve()`](/docs/api/qiskit-addon-mpf/backends-tenpy-layers-layerwise-evolver#evolve "qiskit_addon_mpf.backends.tenpy_layers.LayerwiseEvolver.evolve").

### Upgrade Notes

- This release adds support for Python 3.13. No code changes were necessary, so older releases are expected to work on Python 3.13 too.

- This package is now compatible with Qiskit SDK 2.0.

- The `keep_only_odd` attribute of [`quimb_layers.LayerModel`](/docs/api/qiskit-addon-mpf/backends-quimb-layers-layer-model "qiskit_addon_mpf.backends.quimb_layers.LayerModel") has been removed. The internal workings have been refactored to ensure that data reported by its `terms` attribute (which is inherited from the base class) is already taking the `keep_only_odd` argument of the [`quimb_layers.LayerModel.from_quantum_circuit()`](/docs/api/qiskit-addon-mpf/backends-quimb-layers-layer-model#from_quantum_circuit "qiskit_addon_mpf.backends.quimb_layers.LayerModel.from_quantum_circuit") constructor method.

- The `scaling_factor` keyword argument of the `from_quantum_circuit` constructor methods has been removed. It is not actually needed and was merely adding an additional (confusing) re-scaling.

### Bug Fixes

- Fixes the [`DynamicMPF.evolve()`](/docs/api/qiskit-addon-mpf/dynamic#evolve "qiskit_addon_mpf.dynamic.DynamicMPF.evolve") method when providing `time` values with numerical inaccuracies (e.g. `time=1.00000001`). Previously this could cause the LHS and RHS time evolvers to advance too far. The new default accuracy is 8 decimal places, but it may be configured via the [`DynamicMPF.TIME_DECIMALS`](/docs/api/qiskit-addon-mpf/dynamic#time_decimals "qiskit_addon_mpf.dynamic.DynamicMPF.TIME_DECIMALS") value.

## 0.2.0

### New Features

- Adds the ability to compute dynamic (i.e. time-dependent) MPF coefficients. For more details, refer to [`qiskit_addon_mpf.dynamic`](/docs/api/qiskit-addon-mpf/dynamic#module-qiskit_addon_mpf.dynamic "qiskit_addon_mpf.dynamic").

### Upgrade Notes

- The code for the static MPF coefficients has been moved. It functions the same as before, but you have to update your imports and function names as summarized in the table below:

  | Old                                                           | New                                                               |
  | ------------------------------------------------------------- | ----------------------------------------------------------------- |
  | `from qiskit_addon_mpf.static import setup_lse`               | `from qiskit_addon_mpf.static import setup_static_lse`            |
  | `from qiskit_addon_mpf.static import LSE`                     | `from qiskit_addon_mpf.costs import LSE`                          |
  | `from qiskit_addon_mpf.static import setup_exact_model`       | `from qiskit_addon_mpf.costs import setup_exact_problem`          |
  | `from qiskit_addon_mpf.static import setup_approximate_model` | `from qiskit_addon_mpf.costs import setup_sum_of_squares_problem` |
