diff --git a/docs/guides/algorithmiq-tem.ipynb b/docs/guides/algorithmiq-tem.ipynb index 75fc589b64..ee30fa776b 100644 --- a/docs/guides/algorithmiq-tem.ipynb +++ b/docs/guides/algorithmiq-tem.ipynb @@ -5,7 +5,7 @@ "id": "f7d9993f", "metadata": {}, "source": [ - "{/* cspell:ignore POVM, mathbf, Filippov, Lindblad, Leahy, Rossi, García, Pérez */}" + "{/* cspell:ignore POVM, mathbf, Filippov, Lindblad, Leahy, Rossi, García, Pérez, Minev, Kandala, Temme */}" ] }, { @@ -21,18 +21,52 @@ "\n", "## Overview\n", "\n", - "The Tensor-network error mitigation (TEM) function computes expectation values of quantum circuits and observables by post-processing noise-induced errors in estimations of physical observables.\n", - "\n", - "The method consists of constructing a tensor network representing the inverse of the global noise channel affecting the state of the quantum processor, and then applying the map to informationally complete measurement outcomes obtained from the noisy state.\n", - "\n", - "As an advantage, TEM leverages informationally complete measurements to give access to a vast set of mitigated expectation values of observables and has optimal sampling\n", - "overhead on the quantum hardware [1]. TEM can also be advantageous with respect to purely classical tensor network methods, giving accurate results with a smaller computational cost than a classical-only tensor network approach.\n", - "\n", - "See reference [1] for further details.\n", - "\n", - "#### References\n", - "\n", - "1. S. Filippov, M. Leahy, M. A. C. Rossi, G. García-Pérez, Scalable tensor-network error mitigation for near-term quantum computing, [arXiv:1111.6950](https://arxiv.org/abs/2307.11740) [quant-ph]" + "Algorithmiq’s Tensor-network Error Mitigation (TEM) method is a hybrid\n", + "quantum-classical algorithm designed for performing noise mitigation entirely at\n", + "the classical post-processing stage. With TEM, the user can compute the\n", + "expectation values of observables mitigating the inevitable noise-induced errors\n", + "that occur on quantum hardware with increased accuracy and cost efficiency,\n", + "making it a highly attractive option for quantum researchers and industry\n", + "practitioners alike.\n", + "\n", + "The method consists of constructing a tensor network representing the inverse of\n", + "the global noise channel affecting the state of the quantum processor and then\n", + "applying the map to informationally complete measurement outcomes acquired from\n", + "the noisy state to obtain unbiased estimators for the observables.\n", + "\n", + "As an advantage, TEM leverages informationally complete measurements to give\n", + "access to a vast set of mitigated expectation values of observables and has\n", + "optimal sampling overhead on the quantum hardware, as described in Filippov at\n", + "al. (2023), [arXiv:2307.11740](https://arxiv.org/abs/2307.11740), and Filippov\n", + "at al. (2024), [arXiv:2403.13542](https://arxiv.org/abs/2403.13542). The\n", + "measurement overhead refers to the number of additional measurements required to\n", + "perform efficient error mitigation, a critical factor in the feasibility of\n", + "quantum computations. Therefore, TEM has the potential to enable quantum\n", + "advantage in complex scenarios, such as applications in the fields of quantum\n", + "chaos, many-body physics, Hubbard dynamics, and small molecule chemistry\n", + "simulations.\n", + "\n", + "The main features and benefits of TEM can be summarized as:\n", + "\n", + "1. **Optimal measurement overhead**: TEM is optimal with respect to\n", + "[theoretical bounds](https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.131.210601),\n", + "meaning that no method can achieve a smaller measurement overhead. In other\n", + "words, TEM requires the minimum number of additional measurements to perform\n", + "error mitigation. This in turns means that TEM uses minimal quantum runtime.\n", + "2. **Cost-effectiveness**: Since TEM handles noise mitigation entirely in the\n", + "post-processing stage, there is no need to add extra circuits to the quantum\n", + "computer, which not only makes the computation cheaper but also diminishes the\n", + "risk of introducing additional errors due to the imperfections of quantum\n", + "devices.\n", + "3. **Estimation of multiple observables**: Thanks to informationally-complete\n", + "measurements, TEM efficiently estimates multiple observables with the same\n", + "measurement data from the quantum computer.\n", + "4. **Measurement error mitigation**: The TEM Qiskit Function also includes a\n", + "[proprietary measurement error mitigation method](https://journals.aps.org/prresearch/abstract/10.1103/PhysRevResearch.5.033154)\n", + "able to significantly reduce readout errors after a short calibration run.\n", + "5. **Accuracy**: TEM significantly improves the accuracy and reliability of\n", + "digital quantum simulations, making quantum algorithms more precise and\n", + "dependable." ] }, { @@ -40,89 +74,56 @@ "id": "5f761442", "metadata": {}, "source": [ - "## Function description\n", - "\n", + "## Description\n", "\n", - "The TEM function takes a noisy circuit with the noisy layers identified. The circuit is measured with an informationally complete positive operator-valued measure (IC-POVM), and the collected measurement outcomes are processed on a classical computer. This measurement is used to perform the tensor network methods and build a noise-inversion map $\\mathcal{N}^{-1}$. The function applies a map $\\mathcal{M}$ that fully inverts the whole noisy circuit using matrix product operators to represent the noisy layers.\n", + "The TEM function allows you to obtain error-mitigated expectation values for\n", + "multiple observables on a quantum circuit with minimal sampling overhead. The\n", + "circuit is measured with an informationally complete positive operator-valued\n", + "measure (IC-POVM), and the collected measurement outcomes are processed on a\n", + "classical computer. This measurement is used to perform the tensor network\n", + "methods and build a noise-inversion map. The function applies a map that fully\n", + "inverts the whole noisy circuit using tensor networks to represent the noisy\n", + "layers.\n", "\n", "![TEM schematics](/images/guides/algorithmiq-tem/tem_scheme.svg \"Error-mitigated estimation of an observable O via post-processing measurement outcomes of the noisy quantum processor. U and N denote an ideal quantum operation and the associated noise map, which can be generally non-local (and extended to grey boxes). D stands for a tensor of operators that are dual to the effects in the IC measurement. The noise mitigation module M is a tensor network that is efficiently contracted from the middle out. The first iteration of the contraction is represented by the dotted purple line, the second one by the dashed line, and the third one by the solid line.\")\n", "\n", - "To mitigate the noise, the algorithm performs a contraction that starts from the middle (where the inverted noisy circuit ends and the ideal circuit starts) and propagates outward by involving two layers on the left side and one layer on the right side at each iteration. Therefore, the noisy circuit output state $\\rho$ is reverted back to $(\\vert 0 \\rangle\\langle0\\vert)^{\\otimes N}$, which in turn is mapped to the ideal noiseless state operator $\\vert\\psi\\rangle\\langle \\psi\\vert$.\n", - "\n", - "The noise-mitigated estimation of an observable ${O}$ is then read as\n", - "$$\n", - "\\bar{O}_{\\text{n}.\\text{m}} = \\frac{1}{S} \\sum_{\\mathbf{k}} \\text{tr} [\\mathcal{M}(D_{\\mathbf{k}})O] = \\frac{1}{S} \\sum_{\\mathbf{k}} \\text{tr} [D_{\\mathbf{k}}\\mathcal{M}^{\\dagger}(O)],\n", - "$$\n", - "where $D\\mathbf{k}$ is the dual operator of the corresponding POVM associated with a measurement shot $\\mathbf{k}$ in a set of $S$ shots.\n", - "\n", - "\n", - "The algorithm is described in further detail in [Filippov et al. (2023)](https://arxiv.org/abs/2307.11740).\n", - "\n", - "\n", - "### Methods\n", - "\n", - "#### run\n", - "\n", - "`run(pubs,options)`\n", - "\n", - "\n", - "The run() method allows computing the expectation values for a primitive unified bloc (PUB) containing a circuit and a list of observables.\n", - "\n", - "**Parameters**\n", - "Name | Type | Description | Required | Example\n", - "-- | -- | -- | -- | --\n", - "pubs | Iterable[EstimatorPubLike] | An iterable of PUB-like (primitive unified bloc) objects, such as tuples `(circuit, observables)` or `(circuit, observables, parameter_values)`. See [Overview of PUBs](/guides/primitive-input-output#overview-of-pubs) for more information. The circuits don’t need to be ISA circuits. | Yes | (circuit, observables, parameter_values)\n", - "instance | str | The hub/group/project to use in that format. | No | \"hub1/group1/project1\"\n", - "options | dict | Input options. See `Options` section for more details. | No | \\{\"optimization_level\": 3\\}\n", - "\n", - "**Options**\n", - "\n", - "A dictionary containing the options for the TEM. The dictionary should contain the following keys:\n", - "\n", - "Name | Type | Description | Example\n", - "-- | -- | -- | --\n", - "backend_name | str | Name of the backend to make the query.| \"ibm_fez\"\n", - "simulate_with_noise_model | bool | A Boolean flag indicating whether to simulate the noisy circuit or not.| False\n", - "max_bond_dimension | int | The maximum bond dimension to be used for MPOs. | True\n", - "tem_compression_cutoff | float | The cutoff value to be used for MPOs. | 1e-16\n", - "num_max_shots | int | The maximum number of shots. | 10_000\n", - "num_randomizations | int | The number of randomizations to be used for gate twirling. | 32\n", - "mitigate_readout_error | bool | A Boolean flag indicating whether to perform QDT readout error mitigation or not. | 24\n", - "num_readout_calibration_shots | int | The number of shots to be used for QDT readout error mitigation. | 1000\n", - "logging_level | str | The logging level to be used for the TEM runner. | \"INFO\"\n", - "\n", - "**Returns**\n", - "\n", - "A PubResult containing the TEM mitigated result:\n", - "\n", - "\n", - "Name |Type | Description\n", - "-- | -- | --\n", - "data | DataBin | A DataBin containing the TEM mitigated observable and its standard error. The DataBin has the following fields: