tequila-basic 1.9.9__py3-none-any.whl → 1.9.10__py3-none-any.whl
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.
- tequila/__init__.py +29 -14
- tequila/apps/__init__.py +14 -5
- tequila/apps/_unary_state_prep_impl.py +145 -112
- tequila/apps/adapt/__init__.py +9 -1
- tequila/apps/adapt/adapt.py +154 -113
- tequila/apps/krylov/__init__.py +1 -1
- tequila/apps/krylov/krylov.py +23 -21
- tequila/apps/robustness/helpers.py +10 -6
- tequila/apps/robustness/interval.py +238 -156
- tequila/apps/unary_state_prep.py +29 -23
- tequila/autograd_imports.py +8 -5
- tequila/circuit/__init__.py +2 -1
- tequila/circuit/_gates_impl.py +135 -67
- tequila/circuit/circuit.py +163 -79
- tequila/circuit/compiler.py +114 -105
- tequila/circuit/gates.py +288 -120
- tequila/circuit/gradient.py +35 -23
- tequila/circuit/noise.py +83 -74
- tequila/circuit/postselection.py +120 -0
- tequila/circuit/pyzx.py +10 -6
- tequila/circuit/qasm.py +201 -83
- tequila/circuit/qpic.py +63 -61
- tequila/grouping/binary_rep.py +148 -146
- tequila/grouping/binary_utils.py +84 -75
- tequila/grouping/compile_groups.py +334 -230
- tequila/grouping/ev_utils.py +77 -41
- tequila/grouping/fermionic_functions.py +383 -308
- tequila/grouping/fermionic_methods.py +170 -123
- tequila/grouping/overlapping_methods.py +69 -52
- tequila/hamiltonian/paulis.py +12 -13
- tequila/hamiltonian/paulistring.py +1 -1
- tequila/hamiltonian/qubit_hamiltonian.py +45 -35
- tequila/ml/__init__.py +1 -0
- tequila/ml/interface_torch.py +19 -16
- tequila/ml/ml_api.py +11 -10
- tequila/ml/utils_ml.py +12 -11
- tequila/objective/__init__.py +8 -3
- tequila/objective/braket.py +55 -47
- tequila/objective/objective.py +87 -55
- tequila/objective/qtensor.py +36 -27
- tequila/optimizers/__init__.py +31 -23
- tequila/optimizers/_containers.py +11 -7
- tequila/optimizers/optimizer_base.py +111 -83
- tequila/optimizers/optimizer_gd.py +258 -231
- tequila/optimizers/optimizer_gpyopt.py +56 -42
- tequila/optimizers/optimizer_scipy.py +157 -112
- tequila/quantumchemistry/__init__.py +66 -38
- tequila/quantumchemistry/chemistry_tools.py +393 -209
- tequila/quantumchemistry/encodings.py +121 -13
- tequila/quantumchemistry/madness_interface.py +170 -96
- tequila/quantumchemistry/orbital_optimizer.py +86 -41
- tequila/quantumchemistry/psi4_interface.py +166 -97
- tequila/quantumchemistry/pyscf_interface.py +70 -23
- tequila/quantumchemistry/qc_base.py +866 -414
- tequila/simulators/__init__.py +0 -3
- tequila/simulators/simulator_api.py +247 -105
- tequila/simulators/simulator_aqt.py +102 -0
- tequila/simulators/simulator_base.py +147 -53
- tequila/simulators/simulator_cirq.py +58 -42
- tequila/simulators/simulator_cudaq.py +600 -0
- tequila/simulators/simulator_ddsim.py +390 -0
- tequila/simulators/simulator_mqp.py +30 -0
- tequila/simulators/simulator_pyquil.py +190 -171
- tequila/simulators/simulator_qibo.py +95 -87
- tequila/simulators/simulator_qiskit.py +119 -107
- tequila/simulators/simulator_qlm.py +52 -26
- tequila/simulators/simulator_qulacs.py +74 -52
- tequila/simulators/simulator_spex.py +95 -60
- tequila/simulators/simulator_symbolic.py +6 -5
- tequila/simulators/test_spex_simulator.py +8 -11
- tequila/tools/convenience.py +4 -4
- tequila/tools/qng.py +72 -64
- tequila/tools/random_generators.py +38 -34
- tequila/utils/bitstrings.py +7 -7
- tequila/utils/exceptions.py +19 -5
- tequila/utils/joined_transformation.py +8 -10
- tequila/utils/keymap.py +0 -5
- tequila/utils/misc.py +6 -4
- tequila/version.py +1 -1
- tequila/wavefunction/qubit_wavefunction.py +47 -28
- {tequila_basic-1.9.9.dist-info → tequila_basic-1.9.10.dist-info}/METADATA +13 -16
- tequila_basic-1.9.10.dist-info/RECORD +93 -0
- {tequila_basic-1.9.9.dist-info → tequila_basic-1.9.10.dist-info}/WHEEL +1 -1
- tequila_basic-1.9.9.dist-info/RECORD +0 -88
- {tequila_basic-1.9.9.dist-info → tequila_basic-1.9.10.dist-info}/licenses/LICENSE +0 -0
- {tequila_basic-1.9.9.dist-info → tequila_basic-1.9.10.dist-info}/top_level.txt +0 -0
tequila/__init__.py
CHANGED
@@ -1,25 +1,37 @@
|
|
1
1
|
from tequila.utils import BitString, BitNumbering, BitStringLSB, initialize_bitstring, TequilaException, TequilaWarning
|
2
2
|
from tequila.circuit import gates, QCircuit, NoiseModel, compile_circuit, CircuitCompiler
|
3
3
|
from tequila.hamiltonian import paulis, QubitHamiltonian, PauliString
|
4
|
-
from tequila.objective import
|
5
|
-
|
6
|
-
|
4
|
+
from tequila.objective import (
|
5
|
+
Objective,
|
6
|
+
VectorObjective,
|
7
|
+
ExpectationValue,
|
8
|
+
Variable,
|
9
|
+
assign_variable,
|
10
|
+
format_variable_dictionary,
|
11
|
+
vectorize,
|
12
|
+
)
|
7
13
|
from tequila.objective import QTensor
|
8
14
|
from tequila.objective.braket import BraKet, make_transition, make_overlap, Overlap, Fidelity
|
9
15
|
|
10
|
-
# backward compatibility
|
11
|
-
braket = BraKet
|
12
|
-
|
13
16
|
from tequila.optimizers import INSTALLED_OPTIMIZERS, show_available_optimizers
|
14
17
|
from tequila.optimizers import minimize, minimize_scipy, minimize_gd, optimizer_scipy
|
15
18
|
|
16
|
-
from tequila.simulators.simulator_api import
|
17
|
-
|
18
|
-
|
19
|
+
from tequila.simulators.simulator_api import (
|
20
|
+
simulate,
|
21
|
+
compile,
|
22
|
+
compile_to_function,
|
23
|
+
draw,
|
24
|
+
pick_backend,
|
25
|
+
INSTALLED_SAMPLERS,
|
26
|
+
INSTALLED_SIMULATORS,
|
27
|
+
SUPPORTED_BACKENDS,
|
28
|
+
INSTALLED_BACKENDS,
|
29
|
+
show_available_simulators,
|
30
|
+
)
|
19
31
|
from tequila.wavefunction import QubitWaveFunction
|
20
32
|
from tequila.circuit.qasm import export_open_qasm, import_open_qasm, import_open_qasm_from_file
|
21
33
|
from tequila.circuit.pyzx import convert_to_pyzx, convert_from_pyzx
|
22
|
-
import tequila.quantumchemistry as chemistry
|
34
|
+
import tequila.quantumchemistry as chemistry # shortcut
|
23
35
|
from tequila.quantumchemistry import Molecule, MoleculeFromOpenFermion, MoleculeFromTequila
|
24
36
|
|
25
37
|
# make sure to use the jax/autograd numpy for objectives
|
@@ -32,11 +44,14 @@ from tequila.tools.random_generators import make_random_circuit, make_random_ham
|
|
32
44
|
# get rid of the jax GPU/CPU warnings
|
33
45
|
import warnings
|
34
46
|
|
35
|
-
warnings.filterwarnings("ignore", module="jax")
|
36
|
-
warnings.filterwarnings("ignore", module="absl")
|
37
|
-
warnings.filterwarnings("default", category=TequilaWarning)
|
38
|
-
|
39
47
|
# load applications and helpers
|
40
48
|
from tequila.apps import adapt
|
41
49
|
|
42
50
|
from .version import __version__, __author__
|
51
|
+
|
52
|
+
# backward compatibility
|
53
|
+
braket = BraKet
|
54
|
+
|
55
|
+
warnings.filterwarnings("ignore", module="jax")
|
56
|
+
warnings.filterwarnings("ignore", module="absl")
|
57
|
+
warnings.filterwarnings("default", category=TequilaWarning)
|
tequila/apps/__init__.py
CHANGED
@@ -3,7 +3,8 @@ from tequila.apps.unary_state_prep import UnaryStatePrep
|
|
3
3
|
from tequila.apps import adapt
|
4
4
|
from tequila.apps import krylov
|
5
5
|
|
6
|
-
|
6
|
+
|
7
|
+
def gem(circuits: list, H, variables: dict = None, *args, **kwargs):
|
7
8
|
"""
|
8
9
|
Solve the generalized eigenvalue equation: HC = ESC
|
9
10
|
with matries Hij = <i|H|j>, Sij = <i|j> and states |i> = U[i]|00...0> generated by the circuits given
|
@@ -24,13 +25,21 @@ def gem(circuits:list, H, variables:dict=None, *args, **kwargs):
|
|
24
25
|
----------
|
25
26
|
a tuple of eigenenergies E and eigenvectors C in the same format as numpy.linalg.eigh
|
26
27
|
"""
|
27
|
-
|
28
|
+
|
28
29
|
varnames = sum([U.extract_variables() for U in circuits], [])
|
29
30
|
if len(varnames) > 0:
|
30
31
|
if variables is None:
|
31
|
-
raise TequilaException(
|
32
|
+
raise TequilaException(
|
33
|
+
"GEM method: no variables dictionary given, but circuits have {} variables:\n{}".format(
|
34
|
+
len(varnames), str(varnames)
|
35
|
+
)
|
36
|
+
)
|
32
37
|
for k in varnames:
|
33
38
|
if k not in variables:
|
34
|
-
raise TequilaException(
|
39
|
+
raise TequilaException(
|
40
|
+
"GEM method: you gave a parametrized circuit, but the variable {} was not set in the variables dictionary".format(
|
41
|
+
k
|
42
|
+
)
|
43
|
+
)
|
35
44
|
|
36
|
-
return krylov.krylov_method(krylov_circs=circuits,H=H,variables=variables)
|
45
|
+
return krylov.krylov_method(krylov_circs=circuits, H=H, variables=variables)
|