tequila-basic 1.9.4__py3-none-any.whl → 1.9.5__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/circuit/qasm.py CHANGED
@@ -313,19 +313,33 @@ def parse_command(command: str, custom_gates_map: Dict[str, QCircuit], qregister
313
313
  return apply_custom_gate(custom_circuit=custom_circuit, qregisters_values=qregisters_values)
314
314
 
315
315
  if name in ("x", "y", "z", "h", "cx", "cy", "cz", "ch"):
316
- return QCircuit.wrap_gate(gates.impl.QGateImpl(name=(name[1] if name[0] == 'c' else name).upper(),
317
- control=get_qregister(args[0], qregisters) if name[0] == 'c' else None,
318
- target=get_qregister(args[1 if name[0] == 'c' else 0], qregisters)))
316
+ target = get_qregister(args[0], qregisters)
317
+ control = None
318
+ if name[0].lower() == 'c':
319
+ control = get_qregister(args[0], qregisters)
320
+ target = get_qregister(args[1], qregisters)
321
+ name = name[1]
322
+ G = getattr(gates, name.upper())
323
+ return G(control=control, target=target)
324
+
319
325
  if name in ("ccx", "ccy", "ccz"):
320
- return QCircuit.wrap_gate(gates.impl.QGateImpl(name=name.upper()[2],
321
- control=[get_qregister(args[0], qregisters), get_qregister(args[1], qregisters)],
322
- target=get_qregister(args[2], qregisters)))
326
+ G = getattr(gates, name[2].upper())
327
+ control = [get_qregister(args[0], qregisters), get_qregister(args[1], qregisters)]
328
+ target = get_qregister(args[2], qregisters)
329
+ return G(control=control, target=target)
330
+
323
331
  if name.startswith("rx(") or name.startswith("ry(") or name.startswith("rz(") or \
324
332
  name.startswith("crx(") or name.startswith("cry(") or name.startswith("crz("):
325
- return QCircuit.wrap_gate(gates.impl.RotationGateImpl(axis=name[2 if name[0] == 'c' else 1],
326
- angle=get_angle(name)[0],
327
- control=get_qregister(args[0], qregisters) if name[0] == 'c' else None,
328
- target=get_qregister(args[1 if name[0] == 'c' else 0], qregisters)))
333
+ angle = get_angle(name)[0]
334
+ i = name.find('(')
335
+ name = name[0:i]
336
+ name = name.upper()
337
+ name = [x for x in name]
338
+ name[-1] = name[-1].lower()
339
+ name = "".join(name)
340
+ G = getattr(gates, name)
341
+ return G(angle=angle,control=get_qregister(args[0], qregisters) if name[0] == 'C' else None,target=get_qregister(args[1 if name[0] == 'C' else 0], qregisters))
342
+
329
343
  if name.startswith("U("):
330
344
  angles = get_angle(name)
331
345
  return gates.U(theta=angles[0], phi=angles[1], lambd=angles[2],
@@ -362,7 +376,7 @@ def parse_command(command: str, custom_gates_map: Dict[str, QCircuit], qregister
362
376
  control=get_qregister(args[0], qregisters),
363
377
  target=get_qregister(args[1], qregisters))
364
378
  if name in ("s", "t", "sdg", "tdg"):
365
- g = gates.Phase(pi / (2 if name.startswith("s") else 4),
379
+ g = gates.Phase(angle=pi / (2 if name.startswith("s") else 4),
366
380
  control=None,
367
381
  target=get_qregister(args[0], qregisters))
368
382
  if name.find("dg") != -1:
@@ -95,6 +95,8 @@ def Molecule(geometry: str = None,
95
95
  if backend is None:
96
96
  if basis_set is None or basis_set.lower() in ["madness", "mra", "pno"]:
97
97
  backend = "madness"
98
+ basis_set = "mra"
99
+ parameters.basis_set = basis_set
98
100
  if orbital_type is not None and orbital_type.lower() not in ["pno", "mra-pno"]:
99
101
  warnings.warn("only PNOs supported as orbital_type without basis set. Setting to pno - You gave={}".format(orbital_type), TequilaWarning)
100
102
  orbital_type = "pno"
@@ -804,20 +804,18 @@ class IntegralManager:
804
804
  _one_body_integrals: numpy.ndarray = None
805
805
  _two_body_integrals: NBodyTensor = None
806
806
  _constant_term: float = None
807
- _basis_type: str = "unknown"
808
807
  _basis_name: str = "unknown"
809
808
  _orbital_type: str = "unknown" # e.g. "HF", "PNO", "native"
810
809
  _orbital_coefficients: numpy.ndarray = None
811
810
  _active_space: ActiveSpaceData = None
812
811
  _orbitals: typing.List[OrbitalData] = None
813
812
 
814
- def __init__(self, one_body_integrals, two_body_integrals, basis_type="custom",
813
+ def __init__(self, one_body_integrals, two_body_integrals,
815
814
  basis_name="unknown", orbital_type="unknown",
816
815
  constant_term=0.0, orbital_coefficients=None, active_space=None, overlap_integrals=None, orbitals=None, *args, **kwargs):
817
816
  self._one_body_integrals = one_body_integrals
818
817
  self._two_body_integrals = two_body_integrals
819
818
  self._constant_term = constant_term
820
- self._basis_type = basis_type
821
819
  self._basis_name = basis_name
822
820
  self._orbital_type = orbital_type
823
821
 
@@ -956,9 +954,16 @@ class IntegralManager:
956
954
  """
957
955
  c = self.get_orthonormalized_orbital_coefficients()
958
956
  self.orbital_coefficients=c
959
- self._orbital_type="orthonormalized-{}-basis".format(self._orbital_type)
957
+ self._orbital_type="orthonormalized-{}-basis".format(self._basis_name)
960
958
 
961
- def transform_orbitals(self, U):
959
+ def is_unitary(self, U):
960
+ if len(U.shape) != 2: return False
961
+ if U.shape[0] != U.shape[1]: return False
962
+ test = (U.conj().T).dot(U) - numpy.eye(U.shape[0])
963
+ if not numpy.isclose(numpy.linalg.norm(test), 0.0): return False
964
+ return True
965
+
966
+ def transform_orbitals(self, U, name=None):
962
967
  """
963
968
  Transform orbitals
964
969
  Parameters
@@ -969,10 +974,12 @@ class IntegralManager:
969
974
  -------
970
975
  updates the structure with new orbitals: c = cU
971
976
  """
972
- c = self.orbital_coefficients
973
- c = numpy.einsum("ix, xj -> ij", c, U, optimize="greedy")
974
- self.orbital_coefficients = c
975
- self._orbital_type += "-transformed"
977
+ assert self.is_unitary(U)
978
+ self.orbital_coefficients = numpy.einsum("ix, xj -> ij", self.orbital_coefficients, U, optimize="greedy")
979
+ if name is None:
980
+ self._orbital_type += "-transformed"
981
+ else:
982
+ self._orbital_type = name
976
983
 
977
984
  def get_integrals(self, orbital_coefficients=None, ordering="openfermion", ignore_active_space=False, *args, **kwargs):
978
985
  """
@@ -1001,7 +1008,9 @@ class IntegralManager:
1001
1008
  active_integrals = get_active_space_integrals(one_body_integrals=h, two_body_integrals=g,
1002
1009
  occupied_indices=self._active_space.frozen_reference_orbitals,
1003
1010
  active_indices=self._active_space.active_orbitals)
1011
+
1004
1012
  c = active_integrals[0] + c
1013
+
1005
1014
  h = active_integrals[1]
1006
1015
  g = NBodyTensor(elems=active_integrals[2], ordering="openfermion")
1007
1016
  g.reorder(to=ordering)
@@ -1069,14 +1078,16 @@ class IntegralManager:
1069
1078
  result += str(x) + "\n"
1070
1079
  return result
1071
1080
 
1072
- def print_basis_info(self, *args, **kwargs) -> None:
1073
- print("{:15} : {}".format("basis_type", self._basis_type), *args, **kwargs)
1081
+ def print_basis_info(self, print_coefficients=True, *args, **kwargs) -> None:
1074
1082
  print("{:15} : {}".format("basis_name", self._basis_name), *args, **kwargs)
1075
1083
  print("{:15} : {}".format("orbital_type", self._orbital_type), *args, **kwargs)
1076
- print("{:15} : {}".format("orthogonal", self.basis_is_orthogonal()), *args, **kwargs)
1077
- print("{:15} : {}".format("functions", self.one_body_integrals.shape[0]), *args, **kwargs)
1084
+ print("{:15} : {}".format("orthogonal basis", self.basis_is_orthogonal()), *args, **kwargs)
1085
+ print("{:15} : {}".format("basis functions", self.one_body_integrals.shape[0]), *args, **kwargs)
1086
+ print("{:15} : {}".format("active orbitals", [o.idx_total for o in self.active_orbitals]), *args, **kwargs)
1078
1087
  print("{:15} : {}".format("reference", [x.idx_total for x in self.reference_orbitals]), *args, **kwargs)
1079
1088
 
1089
+ if not print_coefficients: return
1090
+
1080
1091
  print("Current Orbitals", *args, **kwargs)
1081
1092
  for i,x in enumerate(self.orbitals):
1082
1093
  print(x, *args, **kwargs)
@@ -37,7 +37,7 @@ class OptimizeOrbitalsResult:
37
37
  self.iterations += 1
38
38
 
39
39
  def optimize_orbitals(molecule, circuit=None, vqe_solver=None, pyscf_arguments=None, silent=False,
40
- vqe_solver_arguments=None, initial_guess=None, return_mcscf=False, use_hcb=False, molecule_factory=None, molecule_arguments=None, *args, **kwargs):
40
+ vqe_solver_arguments=None, initial_guess=None, return_mcscf=False, use_hcb=False, molecule_factory=None, molecule_arguments=None, restrict_to_active_space=True, *args, **kwargs):
41
41
  """
42
42
 
43
43
  Parameters
@@ -78,7 +78,12 @@ def optimize_orbitals(molecule, circuit=None, vqe_solver=None, pyscf_arguments=N
78
78
  if pyscf_arguments is None:
79
79
  pyscf_arguments = {"max_cycle_macro": 10, "max_cycle_micro": 3}
80
80
  no = molecule.n_orbitals
81
- pyscf_molecule = QuantumChemistryPySCF.from_tequila(molecule=molecule, transformation=molecule.transformation)
81
+
82
+ if not isinstance(molecule, QuantumChemistryPySCF):
83
+ pyscf_molecule = QuantumChemistryPySCF.from_tequila(molecule=molecule, transformation=molecule.transformation)
84
+ else:
85
+ pyscf_molecule = molecule
86
+
82
87
  mf = pyscf_molecule._get_hf()
83
88
  result=OptimizeOrbitalsResult()
84
89
  mc = mcscf.CASSCF(mf, pyscf_molecule.n_orbitals, pyscf_molecule.n_electrons)
@@ -140,10 +145,11 @@ def optimize_orbitals(molecule, circuit=None, vqe_solver=None, pyscf_arguments=N
140
145
  mc.kernel()
141
146
  # make new molecule
142
147
 
143
- transformed_molecule = pyscf_molecule.transform_orbitals(orbital_coefficients=mc.mo_coeff)
148
+ mo_coeff = mc.mo_coeff
149
+ transformed_molecule = pyscf_molecule.transform_orbitals(orbital_coefficients=mo_coeff, name="optimized")
144
150
  result.molecule=transformed_molecule
145
151
  result.old_molecule=molecule
146
- result.mo_coeff=mc.mo_coeff
152
+ result.mo_coeff=mo_coeff
147
153
  result.energy=mc.e_tot
148
154
 
149
155
  if return_mcscf:
@@ -75,6 +75,7 @@ class QuantumChemistryPySCF(QuantumChemistryBase):
75
75
  kwargs["two_body_integrals"] = g_ao
76
76
  kwargs["one_body_integrals"] = h_ao
77
77
  kwargs["orbital_coefficients"] = mo_coeff
78
+ kwargs["orbital_type"] = "hf"
78
79
 
79
80
  if "nuclear_repulsion" not in kwargs:
80
81
  kwargs["nuclear_repulsion"] = mol.energy_nuc()
@@ -94,7 +94,7 @@ class QuantumChemistryBase:
94
94
  else:
95
95
  self.integral_manager = self.initialize_integral_manager(active_orbitals=active_orbitals,
96
96
  reference_orbitals=reference_orbitals,
97
- orbitals=orbitals, frozen_orbitals=frozen_orbitals, orbital_type=orbital_type, *args,
97
+ orbitals=orbitals, frozen_orbitals=frozen_orbitals, orbital_type=orbital_type, basis_name=self.parameters.basis_set, *args,
98
98
  **kwargs)
99
99
 
100
100
  if orbital_type is not None and orbital_type.lower() == "native":
@@ -109,15 +109,23 @@ class QuantumChemistryBase:
109
109
 
110
110
  @classmethod
111
111
  def from_tequila(cls, molecule, transformation=None, *args, **kwargs):
112
- c, h1, h2 = molecule.get_integrals()
112
+ c = molecule.integral_manager.constant_term
113
+ h1 = molecule.integral_manager.one_body_integrals
114
+ h2 = molecule.integral_manager.two_body_integrals
115
+ S = molecule.integral_manager.overlap_integrals
116
+ active_orbitals = [o.idx_total for o in molecule.integral_manager.active_orbitals]
113
117
  if transformation is None:
114
118
  transformation = molecule.transformation
119
+ parameters = molecule.parameters
115
120
  return cls(nuclear_repulsion=c,
116
121
  one_body_integrals=h1,
117
122
  two_body_integrals=h2,
118
- n_electrons=molecule.n_electrons,
123
+ overlap_integrals = S,
124
+ orbital_coefficients = molecule.integral_manager.orbital_coefficients,
125
+ active_orbitals= active_orbitals,
119
126
  transformation=transformation,
120
- parameters=molecule.parameters, *args, **kwargs)
127
+ orbital_type=molecule.integral_manager._orbital_type,
128
+ parameters=parameters, *args, **kwargs)
121
129
 
122
130
  def supports_ucc(self):
123
131
  """
@@ -543,11 +551,13 @@ class QuantumChemistryBase:
543
551
 
544
552
  return manager
545
553
 
546
- def transform_orbitals(self, orbital_coefficients, *args, **kwargs):
554
+ def transform_orbitals(self, orbital_coefficients, ignore_active_space=False, name=None, *args, **kwargs):
547
555
  """
548
556
  Parameters
549
557
  ----------
550
- orbital_coefficients: second index is new orbital indes, first is old orbital index (summed over)
558
+ orbital_coefficients: second index is new orbital indes, first is old orbital index (summed over), indices are assumed to be defined on the active space
559
+ ignore_active_space: if true orbital_coefficients are not assumed to be given in the active space
560
+ name: str, name the new orbitals
551
561
  args
552
562
  kwargs
553
563
 
@@ -556,9 +566,20 @@ class QuantumChemistryBase:
556
566
  New molecule with transformed orbitals
557
567
  """
558
568
 
569
+ U = numpy.eye(self.integral_manager.orbital_coefficients.shape[0])
570
+ # mo_coeff by default only acts on the active space
571
+ active_indices = [o.idx_total for o in self.integral_manager.active_orbitals]
572
+
573
+ if ignore_active_space:
574
+ U = orbital_coefficients
575
+ else:
576
+ for kk,k in enumerate(active_indices):
577
+ for ll,l in enumerate(active_indices):
578
+ U[k][l] = orbital_coefficients[kk][ll]
579
+
559
580
  # can not be an instance of a specific backend (otherwise we get inconsistencies with classical methods in the backend)
560
581
  integral_manager = copy.deepcopy(self.integral_manager)
561
- integral_manager.transform_orbitals(U=orbital_coefficients)
582
+ integral_manager.transform_orbitals(U=U, name=name)
562
583
  result = QuantumChemistryBase(parameters=self.parameters, integral_manager=integral_manager, transformation=self.transformation)
563
584
  return result
564
585
 
@@ -583,7 +604,7 @@ class QuantumChemistryBase:
583
604
  else:
584
605
  integral_manager = copy.deepcopy(self.integral_manager)
585
606
  integral_manager.transform_to_native_orbitals()
586
- result = QuantumChemistryBase(parameters=self.parameters, integral_manager=integral_manager, orbital_type="native", transformation=self.transformation)
607
+ result = QuantumChemistryBase(parameters=self.parameters, integral_manager=integral_manager, transformation=self.transformation)
587
608
  return result
588
609
 
589
610
 
@@ -645,6 +666,68 @@ class QuantumChemistryBase:
645
666
  """
646
667
  return 2 * len(self.integral_manager.active_reference_orbitals)
647
668
 
669
+ def make_annihilation_op(self, orbital, coefficient=1.0):
670
+ """
671
+ Compute annihilation operator on spin-orbital in qubit representation
672
+ Spin-orbital order is always (up,down,up,down,...)
673
+ """
674
+ assert orbital<=self.n_orbitals*2
675
+ aop = openfermion.ops.FermionOperator(f'{orbital}', coefficient)
676
+ return self.transformation(aop)
677
+
678
+ def make_creation_op(self, orbital, coefficient=1.0):
679
+ """
680
+ Compute creation operator on spin-orbital in qubit representation
681
+ Spin-orbital order is always (up,down,up,down,...)
682
+ """
683
+ assert orbital<=self.n_orbitals*2
684
+ cop = openfermion.ops.FermionOperator(f'{orbital}^', coefficient)
685
+ return self.transformation(cop)
686
+
687
+ def make_number_op(self, orbital):
688
+ """
689
+ Compute number operator on spin-orbital in qubit representation
690
+ Spin-orbital order is always (up,down,up,down,...)
691
+ """
692
+ num_op = self.make_creation_op(orbital) * self.make_annihilation_op(orbital)
693
+ return num_op
694
+
695
+ def make_sz_op(self):
696
+ """
697
+ Compute the spin_z operator of the molecule in qubit representation
698
+ """
699
+ sz = QubitHamiltonian()
700
+ for i in range(0, self.n_orbitals * 2, 2):
701
+ one = 0.5 * self.make_creation_op(i) * self.make_annihilation_op(i)
702
+ two = 0.5 * self.make_creation_op(i+1) * self.make_annihilation_op(i+1)
703
+ sz += (one - two)
704
+ return sz
705
+
706
+ def make_sp_op(self):
707
+ """
708
+ Compute the spin+ operator of the molecule in qubit representation
709
+ """
710
+ sp = QubitHamiltonian()
711
+ for i in range(self.n_orbitals):
712
+ sp += self.make_creation_op(i*2) * self.make_annihilation_op(i*2 + 1)
713
+ return sp
714
+
715
+ def make_sm_op(self):
716
+ """
717
+ Compute the spin- operator of the molecule in qubit representation
718
+ """
719
+ sm = QubitHamiltonian()
720
+ for i in range(self.n_orbitals):
721
+ sm += self.make_creation_op(i*2 + 1) * self.make_annihilation_op(i*2)
722
+ return sm
723
+
724
+ def make_s2_op(self):
725
+ """
726
+ Compute the spin^2 operator of the molecule in qubit representation
727
+ """
728
+ s2_op = self.make_sm_op() * self.make_sp_op() + self.make_sz_op() * (self.make_sz_op() + 1)
729
+ return s2_op
730
+
648
731
  def make_hamiltonian(self, *args, **kwargs) -> QubitHamiltonian:
649
732
  """
650
733
  Parameters
@@ -805,13 +888,13 @@ class QuantumChemistryBase:
805
888
  """
806
889
  if U is None:
807
890
  U = QCircuit()
808
-
809
- # consistency
810
- consistency = [x < self.n_orbitals for x in U.qubits]
811
- if not all(consistency):
812
- warnings.warn(
813
- "hcb_to_me: given circuit is not defined on the first {} qubits. Is this a HCB circuit?".format(
814
- self.n_orbitals))
891
+ else:
892
+ ups = [self.transformation.up(i.idx) for i in self.orbitals]
893
+ consistency = [x in ups for x in U.qubits]
894
+ if not all(consistency):
895
+ warnings.warn(
896
+ "hcb_to_me: given circuit is not defined on all first {} qubits. Is this a HCB circuit?".format(
897
+ self.n_orbitals))
815
898
 
816
899
  # map to alpha qubits
817
900
  if condensed:
tequila/version.py CHANGED
@@ -1,2 +1,2 @@
1
- __version__ = "1.9.4"
1
+ __version__ = "1.9.5"
2
2
  __author__ = "Tequila Developers "
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tequila-basic
3
- Version: 1.9.4
3
+ Version: 1.9.5
4
4
  Summary: A High-Level Abstraction Framework for Quantum Algorithms
5
5
  Home-page: https://github.com/tequilahub/tequila
6
6
  Author: Tequila Developers
@@ -32,7 +32,7 @@ Tequila can execute the underlying quantum expectation values on state of the ar
32
32
  - [talks and slides](https://kottmanj.github.io/talks_and_material/)
33
33
 
34
34
  # Installation
35
- Recommended Python version is 3.8-3.9.
35
+ Recommended Python version is 3.9 - 3.10.
36
36
  Tequila supports linux, osx and windows. However, not all optional dependencies are supported on windows.
37
37
 
38
38
  ## Install from PyPi
@@ -258,6 +258,14 @@ A.G. Cadavid, I. Montalban, A. Dalal, E. Solano, N.N. Hegade
258
258
  Efficient DCQO Algorithm within the Impulse Regime for Portfolio Optimization
259
259
  [arxiv:2308.15475](https://arxiv.org/abs/2308.15475)
260
260
 
261
+ A. Anand, K. Brown
262
+ Hamiltonians, groups, graphs and ansätze
263
+ [arxiv:2312.17146](https://arxiv.org/abs/2312.17146)
264
+
265
+ P.W.K. Jensen, E.R. Kjellgren, P. Reinholdt, K.M. Ziems, S. Coriani, J. Kongsted, S. Sauer
266
+ Quantum Equation of Motion with Orbital Optimization for Computing Molecular Properties in Near-Term Quantum Computing
267
+ [arxiv:2312.12386](https://arxiv.org/abs/2312.12386)
268
+
261
269
  Let us know, if you want your research project and/or tutorial to be included in this list!
262
270
 
263
271
  # Dependencies
@@ -285,7 +293,7 @@ Currently supported
285
293
  ### [Psi4](https://github.com/psi4/psi4).
286
294
  In a conda environment this can be installed with
287
295
  ```bash
288
- conda install psi4 -c psi4
296
+ conda install psi4 -c conda-forge
289
297
  ```
290
298
  Here is a small [tutorial](https://nbviewer.org/github/tequilahub/tequila-tutorials/blob/main/chemistry/ChemistryModule.ipynb) that illustrates the usage.
291
299
 
@@ -1,6 +1,6 @@
1
1
  tequila/__init__.py,sha256=FV8-j7GEw_VYadsZUp3M2mGRQxVUYYG3W1jiI6in3CY,1959
2
2
  tequila/autograd_imports.py,sha256=t7V5uYaI0GzjD7pSjkYtiaj3BzSvkm_RL2KcYfNwNhM,1529
3
- tequila/version.py,sha256=PtG1rNw7CI45_r0dXjAqLvGIemLTLOYpoEz6L_KW684,57
3
+ tequila/version.py,sha256=TrfaFu9jLo_4f8zxqIwjs8NumC_hbB4Op1r-ZZIEnyY,57
4
4
  tequila/apps/__init__.py,sha256=GJb04napv8AAx5EHxS5C1CMv9kxQeu7aA-ZMWk6X_eQ,1623
5
5
  tequila/apps/_unary_state_prep_impl.py,sha256=SzRtI0Nx29ODygvYYdC1NnSTCL70wY7NTAvqhiwpMDs,21757
6
6
  tequila/apps/unary_state_prep.py,sha256=QCrD9Ty2RkXc1Mh_MitFPIdaPs_fLxp_dtWVBZi0tSE,9403
@@ -19,7 +19,7 @@ tequila/circuit/gates.py,sha256=pOvX9_vACFyUAZRG4EGW3_aZGXysUJwUV8oFiKyLJ50,3590
19
19
  tequila/circuit/gradient.py,sha256=Y4dNL6nkZUEkKJvaA3hxaSEa8_b_3XZwxy3j8tGsOmA,10465
20
20
  tequila/circuit/noise.py,sha256=2LJ7Xq5f78x9p4imIz76l_lABQZwgNteNBFkWmUAQvo,8322
21
21
  tequila/circuit/pyzx.py,sha256=XHhKoklhEcbpYkgkWHBLmKF-vyt_Oz-pX-Ctvd4nAOQ,1472
22
- tequila/circuit/qasm.py,sha256=05LFOJ357Gfb7oINbD6JVgdINy0sDWynVyBJNg3aRe8,15455
22
+ tequila/circuit/qasm.py,sha256=iB5stV6Exo3bAn7ac1PgFKH53XD-57b9lpmzjavJK7k,15418
23
23
  tequila/circuit/qpic.py,sha256=rjNAStvgNtqa89wJ3pmuzPoPWGZVI0gxARZuUnGtJa0,10789
24
24
  tequila/grouping/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
25
25
  tequila/grouping/binary_rep.py,sha256=VVM2o6B_RC0uH8kqE4yNxTzkGlgUm-CJTZ6z5J7R9I8,19406
@@ -47,14 +47,14 @@ tequila/optimizers/optimizer_base.py,sha256=Nc1HwlgfeB6XifoaWdFVLhdyHfeqQuhLvOtm
47
47
  tequila/optimizers/optimizer_gd.py,sha256=QF84K2XDn_-0w9htDlEpIaaGGtfudNamIvVCgx1JkuE,39059
48
48
  tequila/optimizers/optimizer_gpyopt.py,sha256=-aVuutZUScyo6_4q4PyvMMa_OVd3L8ev9Ge2fXyWGV8,11280
49
49
  tequila/optimizers/optimizer_scipy.py,sha256=zqRVQ-Whr74KCGP7Zg1jQkl9S3j9s1kS4oCrCtX30gY,18949
50
- tequila/quantumchemistry/__init__.py,sha256=7P3LAgRt9BYHFlByOx0u_lkYuUykqMXPFnic5YBNpEI,7349
51
- tequila/quantumchemistry/chemistry_tools.py,sha256=AQ3sVBi6aUu14kOZ393zI2nDUKo5jSTiVY6gApAtchQ,40960
50
+ tequila/quantumchemistry/__init__.py,sha256=KP99PNJYVwBcfQGwL-MB9IBLSBJNRPf-5WN9NLqT-Rg,7424
51
+ tequila/quantumchemistry/chemistry_tools.py,sha256=2zpQU8p_xV2mDQ6Q1tWqQPdAvt2OqjQV8PcGgiOo0UU,41353
52
52
  tequila/quantumchemistry/encodings.py,sha256=y9h6rjq1K9IPVBMbRFQWXyBuAIZzgh2DVw2IUKtpuIM,8656
53
53
  tequila/quantumchemistry/madness_interface.py,sha256=f5c19Whb9Ene9UnkU1aKFqcGFkvN_TrR1o_G7xuC5dE,36304
54
- tequila/quantumchemistry/orbital_optimizer.py,sha256=3mp4UCVCjZEVaAAoGD3EcHg9DckDO8jn13u8XRYyjpo,12200
54
+ tequila/quantumchemistry/orbital_optimizer.py,sha256=P_y4Q1qK-C46wgBjL4FBnSHeVSoKlzmkCG5eQWFU4_k,12376
55
55
  tequila/quantumchemistry/psi4_interface.py,sha256=syNaDvlSmCsyB4f7idn3VGbMKyKo83vJHD5y5LpHwaM,29953
56
- tequila/quantumchemistry/pyscf_interface.py,sha256=CBmMk-K0W-AbWzMslZqoXtFidg0I2HiWCq4yNHEDaoM,6110
57
- tequila/quantumchemistry/qc_base.py,sha256=B9Jk7oxDB5soa1RfhGHep5kBjNuRUTOAXpkY6vBujpU,92908
56
+ tequila/quantumchemistry/pyscf_interface.py,sha256=XgecUnKKg2rGiKqsYCJnDQ89ekkDkKuwc3qHULLMYck,6152
57
+ tequila/quantumchemistry/qc_base.py,sha256=Bmz2lHsbtiJkb07ZZJ5EPAoW0TywQOxZgwagVHT3rEg,96531
58
58
  tequila/simulators/__init__.py,sha256=VFw4sJIt4Zc0-__eYnksN8Ku9qMhbPpHJEkXMWUiD30,4
59
59
  tequila/simulators/simulator_api.py,sha256=mLYA6GzujaNAGrDq1rtLQrW8tFZsCeyYnOnWRTlU6Eo,24172
60
60
  tequila/simulators/simulator_base.py,sha256=93d-f4fNkJ2CtpL9OpgKcypmZH96Mdd9ESdZYn9jH48,33174
@@ -78,8 +78,8 @@ tequila/utils/keymap.py,sha256=RgQzeHEfRVee0-uoH-QsLYsGsXyMhEp3n33KCH-EV2k,3735
78
78
  tequila/utils/misc.py,sha256=e62ASkFReaLJQXnBXzyYukzXZnXNoURsM1luoMeIXiE,919
79
79
  tequila/wavefunction/__init__.py,sha256=q4DVL0lGFg03PogRMYA6S8MQqqmLYQiU9VNOF-YQxfQ,50
80
80
  tequila/wavefunction/qubit_wavefunction.py,sha256=16Y9vRj6Yc6sBAKRUHVXJG4lJLDjWyN1b5fugf2LAmI,11881
81
- tequila_basic-1.9.4.dist-info/LICENSE,sha256=oG1FtUav5_xrym9ByiG5emJDQRcbnAfTB08fRV9TCiE,1114
82
- tequila_basic-1.9.4.dist-info/METADATA,sha256=U9f8-JVc0Ns0fXdbTbCp1LtHd6snFdRmuzbbjjPfZCs,19293
83
- tequila_basic-1.9.4.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
84
- tequila_basic-1.9.4.dist-info/top_level.txt,sha256=VBH0gl6mDMbcLHKlO0yEAqtcq08DqBHz4gRJ9jafl5w,8
85
- tequila_basic-1.9.4.dist-info/RECORD,,
81
+ tequila_basic-1.9.5.dist-info/LICENSE,sha256=oG1FtUav5_xrym9ByiG5emJDQRcbnAfTB08fRV9TCiE,1114
82
+ tequila_basic-1.9.5.dist-info/METADATA,sha256=dkAMyh6gVEZDDlmGeJ2NFZVvmXbjE3jpxYYrDY-7XbI,19694
83
+ tequila_basic-1.9.5.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
84
+ tequila_basic-1.9.5.dist-info/top_level.txt,sha256=VBH0gl6mDMbcLHKlO0yEAqtcq08DqBHz4gRJ9jafl5w,8
85
+ tequila_basic-1.9.5.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: bdist_wheel (0.43.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5