pyqrack-cpu-complex128 2.1.2__tar.gz → 2.2.0__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.
Files changed (30) hide show
  1. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/Makefile +1 -1
  2. {pyqrack_cpu_complex128-2.1.2/pyqrack_cpu_complex128.egg-info → pyqrack_cpu_complex128-2.2.0}/PKG-INFO +1 -1
  3. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack/qrack_simulator.py +19 -6
  4. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack/qrack_system/qrack_system.py +2 -0
  5. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0/pyqrack_cpu_complex128.egg-info}/PKG-INFO +1 -1
  6. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/setup.py +1 -1
  7. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/LICENSE +0 -0
  8. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/MANIFEST.in +0 -0
  9. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/README.md +0 -0
  10. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyproject.toml +0 -0
  11. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack/__init__.py +0 -0
  12. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack/neuron_activation_fn.py +0 -0
  13. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack/pauli.py +0 -0
  14. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack/qrack_ace_backend.py +0 -0
  15. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack/qrack_circuit.py +0 -0
  16. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack/qrack_near_clifford_qec_backend.py +0 -0
  17. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack/qrack_neuron.py +0 -0
  18. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack/qrack_neuron_torch_layer.py +0 -0
  19. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack/qrack_stabilizer.py +0 -0
  20. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack/qrack_system/__init__.py +0 -0
  21. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack/quimb_circuit_type.py +0 -0
  22. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack/stats/__init__.py +0 -0
  23. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack/stats/load_quantized_data.py +0 -0
  24. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack/stats/quantize_by_range.py +0 -0
  25. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack_cpu_complex128.egg-info/SOURCES.txt +0 -0
  26. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack_cpu_complex128.egg-info/dependency_links.txt +0 -0
  27. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack_cpu_complex128.egg-info/not-zip-safe +0 -0
  28. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack_cpu_complex128.egg-info/requires.txt +0 -0
  29. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/pyqrack_cpu_complex128.egg-info/top_level.txt +0 -0
  30. {pyqrack_cpu_complex128-2.1.2 → pyqrack_cpu_complex128-2.2.0}/setup.cfg +0 -0
@@ -30,7 +30,7 @@ build-deps:
30
30
  rm -rf pyqrack/qrack_system/qrack_cl_precompile
31
31
  ifneq ($(OS),Windows_NT)
32
32
  ifeq ($(QRACK_PRESENT),)
33
- git clone https://github.com/unitaryfund/qrack.git; cd qrack; git checkout 7df813ab81978d06decac14b1744b19a9b0cadee; cd ..
33
+ git clone https://github.com/unitaryfund/qrack.git; cd qrack; git checkout 4d603e03c8f8dc7ee60e0438042b53a1343443be; cd ..
34
34
  endif
35
35
  mkdir -p qrack/build
36
36
  ifeq ($(UNAME_S),Linux)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cpu-complex128
3
- Version: 2.1.2
3
+ Version: 2.2.0
4
4
  Summary: pyqrack - Pure Python vm6502q/qrack Wrapper
5
5
  Home-page: https://github.com/vm6502q/pyqrack
6
6
  Author: Daniel Strano
@@ -554,8 +554,8 @@ class QrackSimulator:
554
554
  Qrack.qrack_lib.MCAdjT(self.sid, len(c), QrackSimulator._ulonglong_byref(c), q)
555
555
  self._throw_if_error()
556
556
 
557
- def mcu(self, c, q, th, ph, la):
558
- """Multi-controlled arbitraty unitary
557
+ def mcu(self, c, q, th, ph, la, gm=0.0):
558
+ """Multi-controlled arbitrary unitary
559
559
 
560
560
  If all controlled qubits are `|1>` then the unitary gate described by
561
561
  parameters is applied to the target qubit.
@@ -566,6 +566,7 @@ class QrackSimulator:
566
566
  th: theta
567
567
  ph: phi
568
568
  la: lambda
569
+ gm: gamma
569
570
 
570
571
  Raises:
571
572
  RuntimeError: QrackSimulator raised an exception.
@@ -578,6 +579,7 @@ class QrackSimulator:
578
579
  ctypes.c_double(th),
579
580
  ctypes.c_double(ph),
580
581
  ctypes.c_double(la),
582
+ ctypes.c_double(gm),
581
583
  )
582
584
  self._throw_if_error()
583
585
 
@@ -736,8 +738,8 @@ class QrackSimulator:
736
738
  Qrack.qrack_lib.MACAdjT(self.sid, len(c), QrackSimulator._ulonglong_byref(c), q)
737
739
  self._throw_if_error()
738
740
 
739
- def macu(self, c, q, th, ph, la):
740
- """Anti multi-controlled arbitraty unitary
741
+ def macu(self, c, q, th, ph, la, gm=0.0):
742
+ """Anti multi-controlled arbitrary unitary
741
743
 
742
744
  If all controlled qubits are `|0>` then the unitary gate described by
743
745
  parameters is applied to the target qubit.
@@ -748,6 +750,7 @@ class QrackSimulator:
748
750
  th: theta
749
751
  ph: phi
750
752
  la: lambda
753
+ gm: gamma
751
754
 
752
755
  Raises:
753
756
  RuntimeError: QrackSimulator raised an exception.
@@ -760,11 +763,12 @@ class QrackSimulator:
760
763
  ctypes.c_double(th),
761
764
  ctypes.c_double(ph),
762
765
  ctypes.c_double(la),
766
+ ctypes.c_double(gm),
763
767
  )
764
768
  self._throw_if_error()
765
769
 
766
770
  def macmtrx(self, c, m, q):
767
- """Anti multi-controlled arbitraty operator
771
+ """Anti multi-controlled arbitrary operator
768
772
 
769
773
  If all controlled qubits are `|0>` then the arbitrary operation by
770
774
  parameters is applied to the target qubit.
@@ -4194,7 +4198,7 @@ class QrackSimulator:
4194
4198
  float(operation.params[0]),
4195
4199
  float(operation.params[1]),
4196
4200
  )
4197
- elif (name == "cu3") or (name == "cu"):
4201
+ elif name == "cu3":
4198
4202
  self._sim.mcu(
4199
4203
  [q._index for q in operation.qubits[0:1]],
4200
4204
  operation.qubits[1]._index,
@@ -4202,6 +4206,15 @@ class QrackSimulator:
4202
4206
  float(operation.params[1]),
4203
4207
  float(operation.params[2]),
4204
4208
  )
4209
+ elif name == "cu":
4210
+ self._sim.mcu(
4211
+ [q._index for q in operation.qubits[0:1]],
4212
+ operation.qubits[1]._index,
4213
+ float(operation.params[0]),
4214
+ float(operation.params[1]),
4215
+ float(operation.params[2]),
4216
+ float(operation.params[3]),
4217
+ )
4205
4218
  elif name == "cx":
4206
4219
  self._sim.mcx([q._index for q in operation.qubits[0:1]], operation.qubits[1]._index)
4207
4220
  elif name == "cy":
@@ -629,6 +629,7 @@ class QrackSystem:
629
629
  c_double,
630
630
  c_double,
631
631
  c_double,
632
+ c_double,
632
633
  ]
633
634
 
634
635
  self.qrack_lib.MCMtrx.restype = None
@@ -715,6 +716,7 @@ class QrackSystem:
715
716
  c_double,
716
717
  c_double,
717
718
  c_double,
719
+ c_double,
718
720
  ]
719
721
 
720
722
  self.qrack_lib.MACMtrx.restype = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cpu-complex128
3
- Version: 2.1.2
3
+ Version: 2.2.0
4
4
  Summary: pyqrack - Pure Python vm6502q/qrack Wrapper
5
5
  Home-page: https://github.com/vm6502q/pyqrack
6
6
  Author: Daniel Strano
@@ -7,7 +7,7 @@ from setuptools import setup
7
7
  from setuptools.command.build_py import build_py
8
8
 
9
9
 
10
- VERSION = "2.1.2"
10
+ VERSION = "2.2.0"
11
11
 
12
12
  # Read long description from README.
13
13
  README_PATH = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'README.md')