pyqrack-complex128 1.78.3__py3-none-macosx_14_0_arm64.whl → 1.82.0__py3-none-macosx_14_0_arm64.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.

Potentially problematic release.


This version of pyqrack-complex128 might be problematic. Click here for more details.

@@ -28,13 +28,9 @@ class QrackSystem:
28
28
  elif _platform == "win32":
29
29
  shared_lib_path = os.path.dirname(__file__) + "/qrack_lib/qrack_pinvoke.dll"
30
30
  elif _platform == "darwin":
31
- shared_lib_path = (
32
- os.path.dirname(__file__) + "/qrack_lib/libqrack_pinvoke.dylib"
33
- )
31
+ shared_lib_path = os.path.dirname(__file__) + "/qrack_lib/libqrack_pinvoke.dylib"
34
32
  else:
35
- shared_lib_path = (
36
- os.path.dirname(__file__) + "/qrack_lib/libqrack_pinvoke.so"
37
- )
33
+ shared_lib_path = os.path.dirname(__file__) + "/qrack_lib/libqrack_pinvoke.so"
38
34
 
39
35
  try:
40
36
  self.qrack_lib = CDLL(shared_lib_path)
@@ -50,9 +46,7 @@ class QrackSystem:
50
46
  self.qrack_lib = CDLL(shared_lib_path)
51
47
  except Exception as e:
52
48
  if _platform == "win32":
53
- shared_lib_path = (
54
- "C:/Program Files (x86)/Qrack/bin/qrack_pinvoke.dll"
55
- )
49
+ shared_lib_path = "C:/Program Files (x86)/Qrack/bin/qrack_pinvoke.dll"
56
50
  elif _platform == "darwin":
57
51
  shared_lib_path = "/usr/lib/qrack/libqrack_pinvoke.dylib"
58
52
  else:
@@ -97,12 +91,22 @@ class QrackSystem:
97
91
  self.qrack_lib.InKet.argtypes = [c_ulonglong, POINTER(c_float)]
98
92
  self.qrack_lib.OutKet.argtypes = [c_ulonglong, POINTER(c_float)]
99
93
  self.qrack_lib.OutProbs.argtypes = [c_ulonglong, POINTER(c_float)]
100
- self.qrack_lib.OutReducedDensityMatrix.argtypes = [c_ulonglong, c_ulonglong, POINTER(c_ulonglong), POINTER(c_float)]
94
+ self.qrack_lib.OutReducedDensityMatrix.argtypes = [
95
+ c_ulonglong,
96
+ c_ulonglong,
97
+ POINTER(c_ulonglong),
98
+ POINTER(c_float),
99
+ ]
101
100
  else:
102
101
  self.qrack_lib.InKet.argtypes = [c_ulonglong, POINTER(c_double)]
103
102
  self.qrack_lib.OutKet.argtypes = [c_ulonglong, POINTER(c_double)]
104
103
  self.qrack_lib.OutProbs.argtypes = [c_ulonglong, POINTER(c_double)]
105
- self.qrack_lib.OutReducedDensityMatrix.argtypes = [c_ulonglong, c_ulonglong, POINTER(c_ulonglong), POINTER(c_double)]
104
+ self.qrack_lib.OutReducedDensityMatrix.argtypes = [
105
+ c_ulonglong,
106
+ c_ulonglong,
107
+ POINTER(c_ulonglong),
108
+ POINTER(c_double),
109
+ ]
106
110
 
107
111
  self.qrack_lib.init.restype = c_ulonglong
108
112
  self.qrack_lib.init.argtypes = []
@@ -129,7 +133,7 @@ class QrackSystem:
129
133
  c_bool,
130
134
  c_bool,
131
135
  c_bool,
132
- c_bool
136
+ c_bool,
133
137
  ]
134
138
 
135
139
  self.qrack_lib.init_count_stabilizer.restype = c_ulonglong
@@ -166,14 +170,14 @@ class QrackSystem:
166
170
  self.qrack_lib.HighestProbAllN.argtypes = [c_ulonglong, c_ulonglong, POINTER(c_ulonglong)]
167
171
 
168
172
  self.qrack_lib.ProbAll.restype = None
169
- if self.fppow == 5:
173
+ if self.fppow <= 5:
170
174
  self.qrack_lib.ProbAll.argtypes = [
171
175
  c_ulonglong,
172
176
  c_ulonglong,
173
177
  POINTER(c_ulonglong),
174
178
  POINTER(c_float),
175
179
  ]
176
- elif self.fppow == 6:
180
+ else:
177
181
  self.qrack_lib.ProbAll.argtypes = [
178
182
  c_ulonglong,
179
183
  c_ulonglong,
@@ -238,7 +242,7 @@ class QrackSystem:
238
242
  c_bool,
239
243
  ]
240
244
 
241
- if self.fppow == 5:
245
+ if self.fppow <= 5:
242
246
  self.qrack_lib.FactorizedExpectationFp.restype = c_double
243
247
  self.qrack_lib.FactorizedExpectationFp.argtypes = [
244
248
  c_ulonglong,
@@ -284,7 +288,7 @@ class QrackSystem:
284
288
  POINTER(c_float),
285
289
  POINTER(c_float),
286
290
  ]
287
- elif self.fppow == 6:
291
+ else:
288
292
  self.qrack_lib.FactorizedExpectationFp.restype = c_double
289
293
  self.qrack_lib.FactorizedExpectationFp.argtypes = [
290
294
  c_ulonglong,
@@ -373,7 +377,7 @@ class QrackSystem:
373
377
  c_bool,
374
378
  ]
375
379
 
376
- if self.fppow == 5:
380
+ if self.fppow <= 5:
377
381
  self.qrack_lib.FactorizedVarianceFp.restype = c_double
378
382
  self.qrack_lib.FactorizedVarianceFp.argtypes = [
379
383
  c_ulonglong,
@@ -419,7 +423,7 @@ class QrackSystem:
419
423
  POINTER(c_float),
420
424
  POINTER(c_float),
421
425
  ]
422
- elif self.fppow == 6:
426
+ else:
423
427
  self.qrack_lib.FactorizedVarianceFp.restype = c_double
424
428
  self.qrack_lib.FactorizedVarianceFp.argtypes = [
425
429
  c_ulonglong,
@@ -1240,9 +1244,6 @@ class QrackSystem:
1240
1244
  c_ulonglong,
1241
1245
  POINTER(c_ulonglong),
1242
1246
  c_ulonglong,
1243
- c_ulonglong,
1244
- c_double,
1245
- c_double,
1246
1247
  ]
1247
1248
 
1248
1249
  self.qrack_lib.clone_qneuron.restype = c_ulonglong
@@ -1251,53 +1252,61 @@ class QrackSystem:
1251
1252
  self.qrack_lib.destroy_qneuron.restype = None
1252
1253
  self.qrack_lib.destroy_qneuron.argtypes = [c_ulonglong]
1253
1254
 
1254
- self.qrack_lib.set_qneuron_angles.restype = None
1255
- self.qrack_lib.get_qneuron_angles.restype = None
1256
-
1257
- if self.fppow == 5:
1258
- self.qrack_lib.set_qneuron_angles.argtypes = [c_ulonglong, POINTER(c_float)]
1259
- self.qrack_lib.get_qneuron_angles.argtypes = [c_ulonglong, POINTER(c_float)]
1260
- elif self.fppow == 6:
1261
- self.qrack_lib.set_qneuron_angles.argtypes = [
1262
- c_ulonglong,
1263
- POINTER(c_double),
1264
- ]
1265
- self.qrack_lib.get_qneuron_angles.argtypes = [
1266
- c_ulonglong,
1267
- POINTER(c_double),
1268
- ]
1255
+ self.qrack_lib.set_qneuron_sim.restype = None
1256
+ self.qrack_lib.set_qneuron_sim.argtypes = [
1257
+ c_ulonglong,
1258
+ c_ulonglong,
1259
+ c_ulonglong,
1260
+ POINTER(c_ulonglong),
1261
+ c_ulonglong
1262
+ ]
1269
1263
 
1270
- self.qrack_lib.set_qneuron_alpha.restype = None
1271
- self.qrack_lib.set_qneuron_alpha.argtypes = [c_ulonglong, c_double]
1264
+ if self.fppow <= 5:
1265
+ self.qrack_lib.qneuron_predict.restype = c_double
1266
+ self.qrack_lib.qneuron_predict.argtypes = [c_ulonglong, POINTER(c_float), c_bool, c_bool, c_ulonglong, c_double]
1272
1267
 
1273
- self.qrack_lib.get_qneuron_alpha.restype = c_double
1274
- self.qrack_lib.get_qneuron_alpha.argtypes = [c_ulonglong]
1268
+ self.qrack_lib.qneuron_unpredict.restype = c_double
1269
+ self.qrack_lib.qneuron_unpredict.argtypes = [c_ulonglong, POINTER(c_float), c_bool, c_ulonglong, c_double]
1275
1270
 
1276
- self.qrack_lib.set_qneuron_activation_fn.restype = None
1277
- self.qrack_lib.set_qneuron_activation_fn.argtypes = [c_ulonglong, c_ulonglong]
1271
+ self.qrack_lib.qneuron_learn_cycle.restype = c_double
1272
+ self.qrack_lib.qneuron_learn_cycle.argtypes = [c_ulonglong, POINTER(c_float), c_bool, c_ulonglong, c_double]
1278
1273
 
1279
- self.qrack_lib.get_qneuron_activation_fn.restype = c_ulonglong
1280
- self.qrack_lib.get_qneuron_activation_fn.argtypes = [c_ulonglong]
1274
+ self.qrack_lib.qneuron_learn.restype = None
1275
+ self.qrack_lib.qneuron_learn.argtypes = [c_ulonglong, POINTER(c_float), c_double, c_bool, c_bool, c_ulonglong, c_double]
1281
1276
 
1282
- self.qrack_lib.qneuron_predict.restype = c_double
1283
- self.qrack_lib.qneuron_predict.argtypes = [c_ulonglong, c_bool, c_bool]
1277
+ self.qrack_lib.qneuron_learn_permutation.restype = None
1278
+ self.qrack_lib.qneuron_learn_permutation.argtypes = [
1279
+ c_ulonglong,
1280
+ POINTER(c_float),
1281
+ c_double,
1282
+ c_bool,
1283
+ c_bool,
1284
+ c_ulonglong,
1285
+ c_double,
1286
+ ]
1287
+ else:
1288
+ self.qrack_lib.qneuron_predict.restype = c_double
1289
+ self.qrack_lib.qneuron_predict.argtypes = [c_ulonglong, POINTER(c_double), c_bool, c_bool, c_ulonglong, c_double]
1284
1290
 
1285
- self.qrack_lib.qneuron_unpredict.restype = c_double
1286
- self.qrack_lib.qneuron_unpredict.argtypes = [c_ulonglong, c_bool]
1291
+ self.qrack_lib.qneuron_unpredict.restype = c_double
1292
+ self.qrack_lib.qneuron_unpredict.argtypes = [c_ulonglong, POINTER(c_double), c_bool, c_ulonglong, c_double]
1287
1293
 
1288
- self.qrack_lib.qneuron_learn_cycle.restype = c_double
1289
- self.qrack_lib.qneuron_learn_cycle.argtypes = [c_ulonglong, c_bool]
1294
+ self.qrack_lib.qneuron_learn_cycle.restype = c_double
1295
+ self.qrack_lib.qneuron_learn_cycle.argtypes = [c_ulonglong, POINTER(c_double), c_bool, c_ulonglong, c_double]
1290
1296
 
1291
- self.qrack_lib.qneuron_learn.restype = None
1292
- self.qrack_lib.qneuron_learn.argtypes = [c_ulonglong, c_double, c_bool, c_bool]
1297
+ self.qrack_lib.qneuron_learn.restype = None
1298
+ self.qrack_lib.qneuron_learn.argtypes = [c_ulonglong, POINTER(c_double), c_double, c_bool, c_bool, c_ulonglong, c_double]
1293
1299
 
1294
- self.qrack_lib.qneuron_learn_permutation.restype = None
1295
- self.qrack_lib.qneuron_learn_permutation.argtypes = [
1296
- c_ulonglong,
1297
- c_double,
1298
- c_bool,
1299
- c_bool,
1300
- ]
1300
+ self.qrack_lib.qneuron_learn_permutation.restype = None
1301
+ self.qrack_lib.qneuron_learn_permutation.argtypes = [
1302
+ c_ulonglong,
1303
+ POINTER(c_double),
1304
+ c_double,
1305
+ c_bool,
1306
+ c_bool,
1307
+ c_ulonglong,
1308
+ c_double,
1309
+ ]
1301
1310
 
1302
1311
  self.qrack_lib.init_qcircuit.restype = c_ulonglong
1303
1312
  self.qrack_lib.init_qcircuit.argtypes = [c_bool, c_bool]
@@ -20,9 +20,7 @@ def load_data(sim, index_bits, value_bits, data):
20
20
  Value error: Length of value_bits does not match data feature column count!
21
21
  """
22
22
  if (len(data) > 0) and (len(value_bits) != len(data[0])):
23
- raise ValueError(
24
- "Length of value_bits does not match data feature column count!"
25
- )
23
+ raise ValueError("Length of value_bits does not match data feature column count!")
26
24
 
27
25
  for i in range(index_bits):
28
26
  if sim.m(i):
@@ -28,9 +28,7 @@ try:
28
28
  min_val, max_val = data[:, i].min(), data[:, i].max()
29
29
  thresholds = np.linspace(min_val, max_val, n_bins + 1)[1:-1]
30
30
  bins = np.digitize(data[:, i], bins=thresholds)
31
- bin_bits = ((bins[:, None] & (1 << np.arange(bits)[::-1])) > 0).astype(
32
- int
33
- )
31
+ bin_bits = ((bins[:, None] & (1 << np.arange(bits)[::-1])) > 0).astype(int)
34
32
  new_features.append(bin_bits)
35
33
  else:
36
34
  new_features.append(data[:, i][:, None]) # Keep original
@@ -51,6 +49,4 @@ except ImportError:
51
49
  Returns:
52
50
  np.ndarray: Transformed data with selected features replaced by binary bit columns.
53
51
  """
54
- raise NotImplementedError(
55
- "You must have numpy installed to use quantize_by_percentile()!"
56
- )
52
+ raise NotImplementedError("You must have numpy installed to use quantize_by_percentile()!")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyqrack-complex128
3
- Version: 1.78.3
3
+ Version: 1.82.0
4
4
  Summary: pyqrack - Pure Python vm6502q/qrack Wrapper
5
5
  Home-page: https://github.com/vm6502q/pyqrack
6
6
  Author: Daniel Strano
@@ -32,6 +32,8 @@ Classifier: Programming Language :: Python :: 3.9
32
32
  Classifier: Programming Language :: Python :: 3.10
33
33
  Classifier: Programming Language :: Python :: 3.11
34
34
  Classifier: Programming Language :: Python :: 3.12
35
+ Classifier: Programming Language :: Python :: 3.13
36
+ Classifier: Programming Language :: Python :: 3.14
35
37
  Classifier: Topic :: Scientific/Engineering :: Quantum Computing
36
38
  Description-Content-Type: text/markdown
37
39
  License-File: LICENSE
@@ -0,0 +1,23 @@
1
+ pyqrack/__init__.py,sha256=P-J0gPYsYfeoBdJA0EqGwrmGwM0-hyI6pqb0Qd40Rpg,790
2
+ pyqrack/neuron_activation_fn.py,sha256=fQTTFfsvwcot_43Vopacot47IV2Rxk8pelUyuzwpXPs,593
3
+ pyqrack/pauli.py,sha256=wg500wDOwdIU4lEVJoMmjtbAdmtakZYzLPjdzC2rwUQ,654
4
+ pyqrack/qrack_ace_backend.py,sha256=-LSEX-M_hg-17LL27rLh8fpwuJaMEQeQpXzYoiuC21A,49143
5
+ pyqrack/qrack_circuit.py,sha256=jcelcoRrAWJBs9OrjBKkCba1MEIUcXeXDMKH3iwOl2Y,19778
6
+ pyqrack/qrack_neuron.py,sha256=8yvtkDvouRIvmXOtOn57h50WHBPwfegjFNXixfeTTqE,12901
7
+ pyqrack/qrack_neuron_torch_layer.py,sha256=1h3vD4iG662b6ZqOC7y6IDtI2ul7dUtNaAPal8mfCjg,10560
8
+ pyqrack/qrack_simulator.py,sha256=9ASloxjg2e0DznQr5GVmyRUT_1EPdmjrBgijtJu-O9I,144263
9
+ pyqrack/qrack_stabilizer.py,sha256=O-7VJ9Vw4h25PK_kesSjIqHXGSo8lLrQLIyGgmzG7Co,2124
10
+ pyqrack/quimb_circuit_type.py,sha256=Sk-Tmn38kUYmAkJJ75btWuhYZyTXOOezmowFhfdiGDc,621
11
+ pyqrack/qrack_system/__init__.py,sha256=-oZ9dsb1hixsnrkUJRY_C5DzQ_l6MtifF_Z465BgqV4,334
12
+ pyqrack/qrack_system/qrack_system.py,sha256=Zh7xhG-XCLkiTTERBaXhdLQBUojleCn0E5oRizqCVlA,44422
13
+ pyqrack/qrack_system/qrack_cl_precompile/qrack_cl_precompile,sha256=oVv74H7l9G0k6YTYFqYWygQ9XV-xt7IcyPwZlpudbuw,36224
14
+ pyqrack/qrack_system/qrack_lib/libqrack_pinvoke.10.0.0.dylib,sha256=0bh-LK3kx7RVay1vKgjumQ0MC08F4LVyqB7yTIdsKVs,3643248
15
+ pyqrack/qrack_system/qrack_lib/libqrack_pinvoke.dylib,sha256=0bh-LK3kx7RVay1vKgjumQ0MC08F4LVyqB7yTIdsKVs,3643248
16
+ pyqrack/stats/__init__.py,sha256=Hla85my2fY_roR9lIjGBVpEG7ySOTMwjWa8D6-kgCnY,276
17
+ pyqrack/stats/load_quantized_data.py,sha256=10-ZULlnSX45br7fDtJuiCzcMTAL4eI3QyhSENXZjgM,1162
18
+ pyqrack/stats/quantize_by_range.py,sha256=zPLMNuuyzMPvB-K9Ukc-RjzIzwCsZkzuT2gZneCeCBg,2210
19
+ pyqrack_complex128-1.82.0.dist-info/LICENSE,sha256=HxB-7SaWTuewAk1nz-3_3FUD6QhgX73kNT_taKVUTq8,1069
20
+ pyqrack_complex128-1.82.0.dist-info/METADATA,sha256=PEYRsxFTkFPge0WboaWrrQXPxa8sUWBs4IrTcDBqnxY,5992
21
+ pyqrack_complex128-1.82.0.dist-info/WHEEL,sha256=BM14wstXunLvpW3hePaerLq1eZfN4NnYgS3CIXR7_AM,106
22
+ pyqrack_complex128-1.82.0.dist-info/top_level.txt,sha256=YE_3q9JTGRLMilNg2tGP1y7uU-Dx8PDao2OhwoIbv8E,8
23
+ pyqrack_complex128-1.82.0.dist-info/RECORD,,
@@ -1,23 +0,0 @@
1
- pyqrack/__init__.py,sha256=m5hflZS-sICsMPlwri4H6x8CF0ZEa0WBAVrna89SyTk,825
2
- pyqrack/neuron_activation_fn.py,sha256=fQTTFfsvwcot_43Vopacot47IV2Rxk8pelUyuzwpXPs,593
3
- pyqrack/pauli.py,sha256=wg500wDOwdIU4lEVJoMmjtbAdmtakZYzLPjdzC2rwUQ,654
4
- pyqrack/qrack_ace_backend.py,sha256=D5scJXQuqbBKTPr5ycDr5wpxdk6TEwz7fhZ5YCcsTL8,49677
5
- pyqrack/qrack_circuit.py,sha256=UvdcmF5GZQEf5pLL8fxqEofLgms3yBBWFPwAC-pVh5I,19830
6
- pyqrack/qrack_neuron.py,sha256=XanXEaY1sZvTpFmMUlaL41pxFwiQjAeS3V82ugmwyqc,11786
7
- pyqrack/qrack_neuron_torch_layer.py,sha256=DjESsSiNLFW96a3MRc4H9mKQ96o51R2O9-q2rYD6Oyc,14805
8
- pyqrack/qrack_simulator.py,sha256=5Io-UHx11faJfgiMtUciqEGtMNN_RBvcwgyk8lBfkDw,149271
9
- pyqrack/qrack_stabilizer.py,sha256=O-7VJ9Vw4h25PK_kesSjIqHXGSo8lLrQLIyGgmzG7Co,2124
10
- pyqrack/quimb_circuit_type.py,sha256=Sk-Tmn38kUYmAkJJ75btWuhYZyTXOOezmowFhfdiGDc,621
11
- pyqrack/qrack_system/__init__.py,sha256=-oZ9dsb1hixsnrkUJRY_C5DzQ_l6MtifF_Z465BgqV4,334
12
- pyqrack/qrack_system/qrack_system.py,sha256=q6kjSCjTvuh5sLru-tUoCoGtD8Y3tL3J2yQahXuEQ1s,43976
13
- pyqrack/qrack_system/qrack_cl_precompile/qrack_cl_precompile,sha256=oVv74H7l9G0k6YTYFqYWygQ9XV-xt7IcyPwZlpudbuw,36224
14
- pyqrack/qrack_system/qrack_lib/libqrack_pinvoke.9.34.5.dylib,sha256=UflibXjUSaWJZd2d1vY_y3IvwnE-B12SnkCoeB7A5FM,3660608
15
- pyqrack/qrack_system/qrack_lib/libqrack_pinvoke.dylib,sha256=UflibXjUSaWJZd2d1vY_y3IvwnE-B12SnkCoeB7A5FM,3660608
16
- pyqrack/stats/__init__.py,sha256=Hla85my2fY_roR9lIjGBVpEG7ySOTMwjWa8D6-kgCnY,276
17
- pyqrack/stats/load_quantized_data.py,sha256=z12u9F7Nt3P-i44nY1xxvso_klS6WIHS3iqq7R2_lqE,1184
18
- pyqrack/stats/quantize_by_range.py,sha256=UM0_7jJDdQ7g30cR3UQAxkbzkqrmsy1oUfqg0h11FUY,2270
19
- pyqrack_complex128-1.78.3.dist-info/LICENSE,sha256=HxB-7SaWTuewAk1nz-3_3FUD6QhgX73kNT_taKVUTq8,1069
20
- pyqrack_complex128-1.78.3.dist-info/METADATA,sha256=M0lvm5jPx1sbFvZnNH6yW24rrXzW3jKJdLvNXqb2nDk,5890
21
- pyqrack_complex128-1.78.3.dist-info/WHEEL,sha256=BM14wstXunLvpW3hePaerLq1eZfN4NnYgS3CIXR7_AM,106
22
- pyqrack_complex128-1.78.3.dist-info/top_level.txt,sha256=YE_3q9JTGRLMilNg2tGP1y7uU-Dx8PDao2OhwoIbv8E,8
23
- pyqrack_complex128-1.78.3.dist-info/RECORD,,