pyqrack-cuda 1.58.6__tar.gz → 1.58.7__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 (29) hide show
  1. {pyqrack_cuda-1.58.6/pyqrack_cuda.egg-info → pyqrack_cuda-1.58.7}/PKG-INFO +1 -1
  2. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyqrack/qrack_ace_backend.py +16 -4
  3. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7/pyqrack_cuda.egg-info}/PKG-INFO +1 -1
  4. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/setup.py +1 -1
  5. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/LICENSE +0 -0
  6. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/MANIFEST.in +0 -0
  7. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/Makefile +0 -0
  8. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/README.md +0 -0
  9. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyproject.toml +0 -0
  10. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyqrack/__init__.py +0 -0
  11. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyqrack/neuron_activation_fn.py +0 -0
  12. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyqrack/pauli.py +0 -0
  13. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyqrack/qrack_circuit.py +0 -0
  14. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyqrack/qrack_neuron.py +0 -0
  15. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyqrack/qrack_neuron_torch_layer.py +0 -0
  16. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyqrack/qrack_simulator.py +0 -0
  17. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyqrack/qrack_stabilizer.py +0 -0
  18. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyqrack/qrack_system/__init__.py +0 -0
  19. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyqrack/qrack_system/qrack_system.py +0 -0
  20. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyqrack/quimb_circuit_type.py +0 -0
  21. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyqrack/stats/__init__.py +0 -0
  22. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyqrack/stats/load_quantized_data.py +0 -0
  23. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyqrack/stats/quantize_by_range.py +0 -0
  24. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyqrack_cuda.egg-info/SOURCES.txt +0 -0
  25. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyqrack_cuda.egg-info/dependency_links.txt +0 -0
  26. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyqrack_cuda.egg-info/not-zip-safe +0 -0
  27. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyqrack_cuda.egg-info/requires.txt +0 -0
  28. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/pyqrack_cuda.egg-info/top_level.txt +0 -0
  29. {pyqrack_cuda-1.58.6 → pyqrack_cuda-1.58.7}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cuda
3
- Version: 1.58.6
3
+ Version: 1.58.7
4
4
  Summary: pyqrack - Pure Python vm6502q/qrack Wrapper
5
5
  Home-page: https://github.com/vm6502q/pyqrack
6
6
  Author: Daniel Strano
@@ -493,6 +493,18 @@ class QrackAceBackend:
493
493
 
494
494
  sim.mtrx([m00, m01, m10, m11], q)
495
495
 
496
+ def logit(self, x):
497
+ # Theoretically, these limit points are "infinite,"
498
+ # but precision caps out between 36 and 37:
499
+ if 5e-17 > (1 - x):
500
+ return 37
501
+ # For the negative limit, the precision caps out
502
+ # between -37 and -38
503
+ elif x < 1e-17:
504
+ return -38
505
+ return max(-38, min(37, math.log(x / (1 - x))))
506
+
507
+
496
508
  def _correct(self, lq, phase=False):
497
509
  hq = self._unpack(lq)
498
510
 
@@ -555,10 +567,10 @@ class QrackAceBackend:
555
567
  i_target = 0
556
568
  weight = 0
557
569
  for x in range(5):
558
- if p[x] <= 0.5:
570
+ if p[x] < 0.5:
559
571
  continue
560
572
  indices.append(x)
561
- w = (0.5 - p[x])
573
+ w = self.logit(1 - p[x])
562
574
  a_target += w * a[x]
563
575
  i_target += w * i[x]
564
576
  weight += w
@@ -596,10 +608,10 @@ class QrackAceBackend:
596
608
  i_target = 0
597
609
  weight = 0
598
610
  for x in range(2):
599
- if p[x] <= 0.5:
611
+ if p[x] < 0.5:
600
612
  continue
601
613
  indices.append(x)
602
- w = (0.5 - p[x])
614
+ w = self.logit(1.0 - p[x])
603
615
  a_target += x * a[x]
604
616
  i_target += w * i[x]
605
617
  weight += w
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyqrack-cuda
3
- Version: 1.58.6
3
+ Version: 1.58.7
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 = "1.58.6"
10
+ VERSION = "1.58.7"
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')
File without changes
File without changes
File without changes
File without changes
File without changes