excitationsolve 2.2.2__tar.gz → 2.2.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {excitationsolve-2.2.2/excitationsolve.egg-info → excitationsolve-2.2.3}/PKG-INFO +28 -4
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/README.md +27 -3
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/excitationsolve/info.py +1 -1
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/excitationsolve/parameter_prediction.py +8 -12
- {excitationsolve-2.2.2 → excitationsolve-2.2.3/excitationsolve.egg-info}/PKG-INFO +28 -4
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/.gitignore +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/CITATION.bib +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/LICENSE.txt +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/assets/convergence_plots.png +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/examples/main_pennylane.py +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/examples/main_pennylane_pyscf.py +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/examples/main_qiskit.py +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/excitationsolve/__init__.py +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/excitationsolve/excitation_solve.py +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/excitationsolve/excitation_solve_2d.py +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/excitationsolve/excitation_solve_adapt.py +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/excitationsolve/excitation_solve_pennylane.py +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/excitationsolve/excitation_solve_qiskit.py +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/excitationsolve/excitation_solve_scipy.py +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/excitationsolve/trig_poly_utils.py +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/excitationsolve.egg-info/SOURCES.txt +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/excitationsolve.egg-info/dependency_links.txt +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/excitationsolve.egg-info/requires.txt +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/excitationsolve.egg-info/top_level.txt +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/pyproject.toml +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/setup.cfg +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/tests/pyscf_molecules.py +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/tests/tcc_helpers.py +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/tests/test_callback.py +0 -0
- {excitationsolve-2.2.2 → excitationsolve-2.2.3}/tests/test_tcc.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: excitationsolve
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.3
|
|
4
4
|
Summary: ExcitationSolve: a fast globally-informed gradient-free optimizer for physically-motivated ansätze constructed of excitation operators
|
|
5
5
|
Author-email: Jonas Jäger <jojaeger@cs.ubc.ca>, "Thierry N. Kaldenbach" <Thierry.Kaldenbach@dlr.de>, Max Haas <Max.Haas@dlr.de>, Erik Schultheis <Erik.Schultheis@dlr.de>
|
|
6
6
|
License: Copyright 2025 Jonas Jäger, Thierry N. Kaldenbach, Max Haas, Erik Schultheis,
|
|
@@ -241,7 +241,7 @@ Requires-Dist: tencirchem-ng==2024.10; extra == "test"
|
|
|
241
241
|
Requires-Dist: pyscf==2.8.0; extra == "test"
|
|
242
242
|
Dynamic: license-file
|
|
243
243
|
|
|
244
|
-
# ExcitationSolve [](https://www.nature.com/articles/s42005-025-02375-9) [](https://doi.org/10.5281/zenodo.17457122)
|
|
244
|
+
# ExcitationSolve [](https://www.nature.com/articles/s42005-025-02375-9) [](https://doi.org/10.5281/zenodo.17457122) [](https://pypi.org/project/excitationsolve/)
|
|
245
245
|
|
|
246
246
|
An optimization algorithm for ansätze consisting of excitation operators in variational quantum eigensolvers (VQEs).
|
|
247
247
|
|
|
@@ -257,6 +257,11 @@ VQE convergence for different molecules and optimizers, including ExcitationSolv
|
|
|
257
257
|
</h1>
|
|
258
258
|
|
|
259
259
|
## Installation
|
|
260
|
+
ExcitationSolve is available on [PyPI](https://pypi.org/project/excitationsolve/):
|
|
261
|
+
```
|
|
262
|
+
pip install excitationsolve
|
|
263
|
+
```
|
|
264
|
+
Alternatively, install directly from GitHub:
|
|
260
265
|
```
|
|
261
266
|
pip install git+https://github.com/dlr-wf/ExcitationSolve.git
|
|
262
267
|
```
|
|
@@ -287,11 +292,17 @@ Use the `excitationsolve.ExcitationSolveScipy` class in combination with the `sc
|
|
|
287
292
|
```python
|
|
288
293
|
excsolve_obj = ExcitationSolveScipy(maxiter=100, tol=1e-10, save_parameters=True)
|
|
289
294
|
optimizer = excsolve_obj.minimize
|
|
290
|
-
|
|
295
|
+
def callback(xk): # or callback(intermediate_result)
|
|
296
|
+
print(xk)
|
|
297
|
+
options = dict(parameter_occ=parameter_occ) # optional, use if parameters occur multiple times in the ansatz
|
|
298
|
+
res = scipy.optimize.minimize(cost, params, method=optimizer, callback=callback, options=options)
|
|
291
299
|
energies = excsolve_obj.energies
|
|
292
300
|
counts = excsolve_obj.nfevs
|
|
293
301
|
```
|
|
294
302
|
|
|
303
|
+
### Optimal parameters of double excitations w.r.t. the Hartree-Fock state
|
|
304
|
+
Use `exitationsolve.optimal_theta` and `excitationsolve.optimal_theta_pyscf` to calculate analytic optimal parameter values for individual double excitations when applied to the Hartree-Fock reference state. Both functions return the optimal parameter and the energy difference to the Hartree-Fock energy. The optimal parameter is defined as $\theta^*=\argmin_\theta\bra{\mathrm{HF}}U^\dagger(\theta) H U(\theta)\ket{\mathrm{HF}}$ where $H$ is the electronic structure Hamiltonian, $U(\theta)$ is **one** double excitation, and $\ket{\mathrm{HF}}$ is the Hartree-Fock state. In [Haas et al., 2026](https://doi.org/10.48550/arXiv.2602.10776) it has been shown that initializing doubles in their respective optimal parameter and appending them to the ansatz in order of energy impact is an efficient operator selection and warm-start strategy.
|
|
305
|
+
|
|
295
306
|
### Testing
|
|
296
307
|
To run the tests, install the needed dependencies with
|
|
297
308
|
```bash
|
|
@@ -315,7 +326,7 @@ Feel free to contact [David Melching](mailto:David.Melching@dlr.de) if you have
|
|
|
315
326
|
## Citation
|
|
316
327
|
If you use portions of this code please cite our [paper](https://www.nature.com/articles/s42005-025-02375-9):
|
|
317
328
|
```bibtex
|
|
318
|
-
@article{
|
|
329
|
+
@article{Jaeger2025Fast,
|
|
319
330
|
title={Fast gradient-free optimization of excitations in variational quantum eigensolvers},
|
|
320
331
|
author={Jäger, Jonas and Kaldenbach, Thierry N. and Haas, Max and Schultheis, Erik},
|
|
321
332
|
year={2025},
|
|
@@ -329,5 +340,18 @@ If you use portions of this code please cite our [paper](https://www.nature.com/
|
|
|
329
340
|
}
|
|
330
341
|
```
|
|
331
342
|
|
|
343
|
+
If you use the `exitationsolve.optimal_theta` or `excitationsolve.optimal_theta_pyscf` functionalities please also cite [Haas et al., 2026](https://doi.org/10.48550/arXiv.2602.10776):
|
|
344
|
+
```bibtex
|
|
345
|
+
@article{Haas2026Efficient,
|
|
346
|
+
title={Efficient Operator Selection and Warm-Start Strategy for Excitations in Variational Quantum Eigensolvers},
|
|
347
|
+
url={https://arxiv.org/abs/2602.10776},
|
|
348
|
+
DOI={10.48550/ARXIV.2602.10776},
|
|
349
|
+
publisher={arXiv},
|
|
350
|
+
author={Haas, Max and Kaldenbach, Thierry N. and Hammerschmidt, Thomas and Barragan-Yani, Daniel},
|
|
351
|
+
year={2026}
|
|
352
|
+
}
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
|
|
332
356
|
## Acknowledgment
|
|
333
357
|
This project was made possible by the DLR Quantum Computing Initiative and the Federal Ministry for Economic Affairs and Climate Action; https://qci.dlr.de/quanticom.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# ExcitationSolve [](https://www.nature.com/articles/s42005-025-02375-9) [](https://doi.org/10.5281/zenodo.17457122)
|
|
1
|
+
# ExcitationSolve [](https://www.nature.com/articles/s42005-025-02375-9) [](https://doi.org/10.5281/zenodo.17457122) [](https://pypi.org/project/excitationsolve/)
|
|
2
2
|
|
|
3
3
|
An optimization algorithm for ansätze consisting of excitation operators in variational quantum eigensolvers (VQEs).
|
|
4
4
|
|
|
@@ -14,6 +14,11 @@ VQE convergence for different molecules and optimizers, including ExcitationSolv
|
|
|
14
14
|
</h1>
|
|
15
15
|
|
|
16
16
|
## Installation
|
|
17
|
+
ExcitationSolve is available on [PyPI](https://pypi.org/project/excitationsolve/):
|
|
18
|
+
```
|
|
19
|
+
pip install excitationsolve
|
|
20
|
+
```
|
|
21
|
+
Alternatively, install directly from GitHub:
|
|
17
22
|
```
|
|
18
23
|
pip install git+https://github.com/dlr-wf/ExcitationSolve.git
|
|
19
24
|
```
|
|
@@ -44,11 +49,17 @@ Use the `excitationsolve.ExcitationSolveScipy` class in combination with the `sc
|
|
|
44
49
|
```python
|
|
45
50
|
excsolve_obj = ExcitationSolveScipy(maxiter=100, tol=1e-10, save_parameters=True)
|
|
46
51
|
optimizer = excsolve_obj.minimize
|
|
47
|
-
|
|
52
|
+
def callback(xk): # or callback(intermediate_result)
|
|
53
|
+
print(xk)
|
|
54
|
+
options = dict(parameter_occ=parameter_occ) # optional, use if parameters occur multiple times in the ansatz
|
|
55
|
+
res = scipy.optimize.minimize(cost, params, method=optimizer, callback=callback, options=options)
|
|
48
56
|
energies = excsolve_obj.energies
|
|
49
57
|
counts = excsolve_obj.nfevs
|
|
50
58
|
```
|
|
51
59
|
|
|
60
|
+
### Optimal parameters of double excitations w.r.t. the Hartree-Fock state
|
|
61
|
+
Use `exitationsolve.optimal_theta` and `excitationsolve.optimal_theta_pyscf` to calculate analytic optimal parameter values for individual double excitations when applied to the Hartree-Fock reference state. Both functions return the optimal parameter and the energy difference to the Hartree-Fock energy. The optimal parameter is defined as $\theta^*=\argmin_\theta\bra{\mathrm{HF}}U^\dagger(\theta) H U(\theta)\ket{\mathrm{HF}}$ where $H$ is the electronic structure Hamiltonian, $U(\theta)$ is **one** double excitation, and $\ket{\mathrm{HF}}$ is the Hartree-Fock state. In [Haas et al., 2026](https://doi.org/10.48550/arXiv.2602.10776) it has been shown that initializing doubles in their respective optimal parameter and appending them to the ansatz in order of energy impact is an efficient operator selection and warm-start strategy.
|
|
62
|
+
|
|
52
63
|
### Testing
|
|
53
64
|
To run the tests, install the needed dependencies with
|
|
54
65
|
```bash
|
|
@@ -72,7 +83,7 @@ Feel free to contact [David Melching](mailto:David.Melching@dlr.de) if you have
|
|
|
72
83
|
## Citation
|
|
73
84
|
If you use portions of this code please cite our [paper](https://www.nature.com/articles/s42005-025-02375-9):
|
|
74
85
|
```bibtex
|
|
75
|
-
@article{
|
|
86
|
+
@article{Jaeger2025Fast,
|
|
76
87
|
title={Fast gradient-free optimization of excitations in variational quantum eigensolvers},
|
|
77
88
|
author={Jäger, Jonas and Kaldenbach, Thierry N. and Haas, Max and Schultheis, Erik},
|
|
78
89
|
year={2025},
|
|
@@ -86,5 +97,18 @@ If you use portions of this code please cite our [paper](https://www.nature.com/
|
|
|
86
97
|
}
|
|
87
98
|
```
|
|
88
99
|
|
|
100
|
+
If you use the `exitationsolve.optimal_theta` or `excitationsolve.optimal_theta_pyscf` functionalities please also cite [Haas et al., 2026](https://doi.org/10.48550/arXiv.2602.10776):
|
|
101
|
+
```bibtex
|
|
102
|
+
@article{Haas2026Efficient,
|
|
103
|
+
title={Efficient Operator Selection and Warm-Start Strategy for Excitations in Variational Quantum Eigensolvers},
|
|
104
|
+
url={https://arxiv.org/abs/2602.10776},
|
|
105
|
+
DOI={10.48550/ARXIV.2602.10776},
|
|
106
|
+
publisher={arXiv},
|
|
107
|
+
author={Haas, Max and Kaldenbach, Thierry N. and Hammerschmidt, Thomas and Barragan-Yani, Daniel},
|
|
108
|
+
year={2026}
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
|
|
89
113
|
## Acknowledgment
|
|
90
114
|
This project was made possible by the DLR Quantum Computing Initiative and the Federal Ministry for Economic Affairs and Climate Action; https://qci.dlr.de/quanticom.
|
|
@@ -8,8 +8,7 @@ period-pi curve
|
|
|
8
8
|
|
|
9
9
|
with a = (E_HF - E_exc) / 2 and b = <HF|H|Phi>. The minimiser of this curve has
|
|
10
10
|
the closed form theta = -1/2 * arctan2(-b, -a). `optimal_theta` evaluates a
|
|
11
|
-
and b from the molecular integrals and returns this exact angle
|
|
12
|
-
its first-order (EN2 / MP2) linearisations.
|
|
11
|
+
and b from the molecular integrals and returns this exact angle.
|
|
13
12
|
|
|
14
13
|
The module is self-contained: it only needs a converged PySCF RHF object and the
|
|
15
14
|
four excitation indices (in TCC/Qiskit-sorted spin-orbital order).
|
|
@@ -47,7 +46,7 @@ def _transform_integrals_to_mo(mf):
|
|
|
47
46
|
return h1_mo, eri_mo, occ_indices
|
|
48
47
|
|
|
49
48
|
|
|
50
|
-
def _determinant_energy(h1_mo, eri_mo, occ_indices
|
|
49
|
+
def _determinant_energy(h1_mo, eri_mo, occ_indices):
|
|
51
50
|
"""
|
|
52
51
|
Compute the energy of a single Slater determinant in MO basis.
|
|
53
52
|
|
|
@@ -83,10 +82,7 @@ def _determinant_energy(h1_mo, eri_mo, occ_indices, MP2=False):
|
|
|
83
82
|
for q in occ:
|
|
84
83
|
e_two += eri_mo[p, q, q, p] - eri_mo[p, q, p, q]
|
|
85
84
|
|
|
86
|
-
|
|
87
|
-
return e_one
|
|
88
|
-
else:
|
|
89
|
-
return e_one + 0.5 * e_two
|
|
85
|
+
return e_one + 0.5 * e_two
|
|
90
86
|
|
|
91
87
|
|
|
92
88
|
def _apply_double_excitation(occ_indices, i, j, a, b):
|
|
@@ -116,7 +112,7 @@ def _apply_double_excitation(occ_indices, i, j, a, b):
|
|
|
116
112
|
return sorted(occ_set)
|
|
117
113
|
|
|
118
114
|
|
|
119
|
-
def _compute_a_b(h1_mo, h2_mo, occ_indices, i, j, k, l
|
|
115
|
+
def _compute_a_b(h1_mo, h2_mo, occ_indices, i, j, k, l):
|
|
120
116
|
"""
|
|
121
117
|
Compute the parameters a and b for the two-level effective Hamiltonian
|
|
122
118
|
defined by the HF determinant and a doubly excited determinant.
|
|
@@ -153,11 +149,11 @@ def _compute_a_b(h1_mo, h2_mo, occ_indices, i, j, k, l, MP2=False):
|
|
|
153
149
|
b : float
|
|
154
150
|
"""
|
|
155
151
|
# HF determinant energy
|
|
156
|
-
e_hf = _determinant_energy(h1_mo, h2_mo, occ_indices
|
|
152
|
+
e_hf = _determinant_energy(h1_mo, h2_mo, occ_indices)
|
|
157
153
|
|
|
158
154
|
# Excited determinant: remove (i, j), add (k, l)
|
|
159
155
|
occ_exc = _apply_double_excitation(occ_indices, k, l, i, j)
|
|
160
|
-
e_exc = _determinant_energy(h1_mo, h2_mo, occ_exc
|
|
156
|
+
e_exc = _determinant_energy(h1_mo, h2_mo, occ_exc)
|
|
161
157
|
|
|
162
158
|
a_val = 0.5 * (e_hf - e_exc)
|
|
163
159
|
|
|
@@ -254,7 +250,7 @@ def _block_to_interleaved(idx, no, nv):
|
|
|
254
250
|
return 2 * spatial + spin
|
|
255
251
|
|
|
256
252
|
|
|
257
|
-
def optimal_theta_pyscf(mf: pyscf.scf.hf.RHF, excitation_indices: list[int]):
|
|
253
|
+
def optimal_theta_pyscf(mf: pyscf.scf.hf.RHF, excitation_indices: list[int]) -> tuple[float, float]:
|
|
258
254
|
"""
|
|
259
255
|
High-level convenience function to compute the optimal VQE angle theta_opt
|
|
260
256
|
for a given double excitation in an RHF reference.
|
|
@@ -283,7 +279,7 @@ def optimal_theta_pyscf(mf: pyscf.scf.hf.RHF, excitation_indices: list[int]):
|
|
|
283
279
|
return optimal_theta(h1_mo, eri_mo, occ_spatial, excitation_indices)
|
|
284
280
|
|
|
285
281
|
|
|
286
|
-
def optimal_theta(h1: np.ndarray, eri: np.ndarray, occ_spatial: list[int], excitation_indices: list[int]):
|
|
282
|
+
def optimal_theta(h1: np.ndarray, eri: np.ndarray, occ_spatial: list[int], excitation_indices: list[int]) -> tuple[float, float]:
|
|
287
283
|
"""
|
|
288
284
|
High-level convenience function to compute the optimal VQE angle theta_opt
|
|
289
285
|
for a given double excitation in an RHF reference.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: excitationsolve
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.3
|
|
4
4
|
Summary: ExcitationSolve: a fast globally-informed gradient-free optimizer for physically-motivated ansätze constructed of excitation operators
|
|
5
5
|
Author-email: Jonas Jäger <jojaeger@cs.ubc.ca>, "Thierry N. Kaldenbach" <Thierry.Kaldenbach@dlr.de>, Max Haas <Max.Haas@dlr.de>, Erik Schultheis <Erik.Schultheis@dlr.de>
|
|
6
6
|
License: Copyright 2025 Jonas Jäger, Thierry N. Kaldenbach, Max Haas, Erik Schultheis,
|
|
@@ -241,7 +241,7 @@ Requires-Dist: tencirchem-ng==2024.10; extra == "test"
|
|
|
241
241
|
Requires-Dist: pyscf==2.8.0; extra == "test"
|
|
242
242
|
Dynamic: license-file
|
|
243
243
|
|
|
244
|
-
# ExcitationSolve [](https://www.nature.com/articles/s42005-025-02375-9) [](https://doi.org/10.5281/zenodo.17457122)
|
|
244
|
+
# ExcitationSolve [](https://www.nature.com/articles/s42005-025-02375-9) [](https://doi.org/10.5281/zenodo.17457122) [](https://pypi.org/project/excitationsolve/)
|
|
245
245
|
|
|
246
246
|
An optimization algorithm for ansätze consisting of excitation operators in variational quantum eigensolvers (VQEs).
|
|
247
247
|
|
|
@@ -257,6 +257,11 @@ VQE convergence for different molecules and optimizers, including ExcitationSolv
|
|
|
257
257
|
</h1>
|
|
258
258
|
|
|
259
259
|
## Installation
|
|
260
|
+
ExcitationSolve is available on [PyPI](https://pypi.org/project/excitationsolve/):
|
|
261
|
+
```
|
|
262
|
+
pip install excitationsolve
|
|
263
|
+
```
|
|
264
|
+
Alternatively, install directly from GitHub:
|
|
260
265
|
```
|
|
261
266
|
pip install git+https://github.com/dlr-wf/ExcitationSolve.git
|
|
262
267
|
```
|
|
@@ -287,11 +292,17 @@ Use the `excitationsolve.ExcitationSolveScipy` class in combination with the `sc
|
|
|
287
292
|
```python
|
|
288
293
|
excsolve_obj = ExcitationSolveScipy(maxiter=100, tol=1e-10, save_parameters=True)
|
|
289
294
|
optimizer = excsolve_obj.minimize
|
|
290
|
-
|
|
295
|
+
def callback(xk): # or callback(intermediate_result)
|
|
296
|
+
print(xk)
|
|
297
|
+
options = dict(parameter_occ=parameter_occ) # optional, use if parameters occur multiple times in the ansatz
|
|
298
|
+
res = scipy.optimize.minimize(cost, params, method=optimizer, callback=callback, options=options)
|
|
291
299
|
energies = excsolve_obj.energies
|
|
292
300
|
counts = excsolve_obj.nfevs
|
|
293
301
|
```
|
|
294
302
|
|
|
303
|
+
### Optimal parameters of double excitations w.r.t. the Hartree-Fock state
|
|
304
|
+
Use `exitationsolve.optimal_theta` and `excitationsolve.optimal_theta_pyscf` to calculate analytic optimal parameter values for individual double excitations when applied to the Hartree-Fock reference state. Both functions return the optimal parameter and the energy difference to the Hartree-Fock energy. The optimal parameter is defined as $\theta^*=\argmin_\theta\bra{\mathrm{HF}}U^\dagger(\theta) H U(\theta)\ket{\mathrm{HF}}$ where $H$ is the electronic structure Hamiltonian, $U(\theta)$ is **one** double excitation, and $\ket{\mathrm{HF}}$ is the Hartree-Fock state. In [Haas et al., 2026](https://doi.org/10.48550/arXiv.2602.10776) it has been shown that initializing doubles in their respective optimal parameter and appending them to the ansatz in order of energy impact is an efficient operator selection and warm-start strategy.
|
|
305
|
+
|
|
295
306
|
### Testing
|
|
296
307
|
To run the tests, install the needed dependencies with
|
|
297
308
|
```bash
|
|
@@ -315,7 +326,7 @@ Feel free to contact [David Melching](mailto:David.Melching@dlr.de) if you have
|
|
|
315
326
|
## Citation
|
|
316
327
|
If you use portions of this code please cite our [paper](https://www.nature.com/articles/s42005-025-02375-9):
|
|
317
328
|
```bibtex
|
|
318
|
-
@article{
|
|
329
|
+
@article{Jaeger2025Fast,
|
|
319
330
|
title={Fast gradient-free optimization of excitations in variational quantum eigensolvers},
|
|
320
331
|
author={Jäger, Jonas and Kaldenbach, Thierry N. and Haas, Max and Schultheis, Erik},
|
|
321
332
|
year={2025},
|
|
@@ -329,5 +340,18 @@ If you use portions of this code please cite our [paper](https://www.nature.com/
|
|
|
329
340
|
}
|
|
330
341
|
```
|
|
331
342
|
|
|
343
|
+
If you use the `exitationsolve.optimal_theta` or `excitationsolve.optimal_theta_pyscf` functionalities please also cite [Haas et al., 2026](https://doi.org/10.48550/arXiv.2602.10776):
|
|
344
|
+
```bibtex
|
|
345
|
+
@article{Haas2026Efficient,
|
|
346
|
+
title={Efficient Operator Selection and Warm-Start Strategy for Excitations in Variational Quantum Eigensolvers},
|
|
347
|
+
url={https://arxiv.org/abs/2602.10776},
|
|
348
|
+
DOI={10.48550/ARXIV.2602.10776},
|
|
349
|
+
publisher={arXiv},
|
|
350
|
+
author={Haas, Max and Kaldenbach, Thierry N. and Hammerschmidt, Thomas and Barragan-Yani, Daniel},
|
|
351
|
+
year={2026}
|
|
352
|
+
}
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
|
|
332
356
|
## Acknowledgment
|
|
333
357
|
This project was made possible by the DLR Quantum Computing Initiative and the Federal Ministry for Economic Affairs and Climate Action; https://qci.dlr.de/quanticom.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{excitationsolve-2.2.2 → excitationsolve-2.2.3}/excitationsolve/excitation_solve_pennylane.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{excitationsolve-2.2.2 → excitationsolve-2.2.3}/excitationsolve.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|