cirq-core 1.5.0.dev20241122173038__py3-none-any.whl → 1.5.0.dev20241202173736__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.

Potentially problematic release.


This version of cirq-core might be problematic. Click here for more details.

cirq/_version.py CHANGED
@@ -28,4 +28,4 @@ if sys.version_info < (3, 10, 0): # pragma: no cover
28
28
  'of cirq (e.g. "python -m pip install cirq==1.1.*")'
29
29
  )
30
30
 
31
- __version__ = "1.5.0.dev20241122173038"
31
+ __version__ = "1.5.0.dev20241202173736"
cirq/_version_test.py CHANGED
@@ -3,4 +3,4 @@ import cirq
3
3
 
4
4
 
5
5
  def test_version():
6
- assert cirq.__version__ == "1.5.0.dev20241122173038"
6
+ assert cirq.__version__ == "1.5.0.dev20241202173736"
@@ -26,20 +26,6 @@ if TYPE_CHECKING:
26
26
  import cirq
27
27
 
28
28
 
29
- def _mitigate_single_bitstring(z_rinv_all: list[np.ndarray], bitstring: np.ndarray) -> float:
30
- """Return the mitigated Pauli expectation value for a single observed bitstring.
31
-
32
- Args:
33
- z_rinv_all: A list of single-qubit pauli-Z (as a vector) contracted with the single-qubit
34
- inverse response matrix, for each qubit.
35
- bitstring: The measured bitstring.
36
-
37
- Returns:
38
- The corrected expectation value of ZZZZZ... given the single measured bitstring.
39
- """
40
- return np.prod([z_rinv[bit] for z_rinv, bit in zip(z_rinv_all, bitstring)])
41
-
42
-
43
29
  class TensoredConfusionMatrices:
44
30
  """Store and use confusion matrices for readout error mitigation on sets of qubits.
45
31
 
@@ -348,7 +334,10 @@ class TensoredConfusionMatrices:
348
334
  confusion matrices for all of `qubits`.
349
335
  """
350
336
 
351
- # first, get all of the confusion matrices
337
+ # in case given as an array of bools, convert to an array of ints:
338
+ measured_bitstrings = measured_bitstrings.astype(int)
339
+
340
+ # get all of the confusion matrices
352
341
  cm_all = []
353
342
  for qubit in qubits:
354
343
  try:
@@ -365,15 +354,10 @@ class TensoredConfusionMatrices:
365
354
 
366
355
  # next, contract them with the single-qubit Pauli operators:
367
356
  z = np.array([1, -1])
368
- z_cminv_all = [z @ cminv for cminv in cminv_all]
357
+ z_cminv_all = np.array([z @ cminv for cminv in cminv_all])
369
358
 
370
359
  # finally, mitigate each bitstring:
371
- z_mit_all_shots = np.array(
372
- [
373
- _mitigate_single_bitstring(z_cminv_all, bitstring)
374
- for bitstring in measured_bitstrings
375
- ]
376
- )
360
+ z_mit_all_shots = np.prod(np.einsum("iji->ij", z_cminv_all[:, measured_bitstrings]), axis=0)
377
361
 
378
362
  # return mean and statistical uncertainty:
379
363
  return np.mean(z_mit_all_shots), np.std(z_mit_all_shots) / np.sqrt(len(measured_bitstrings))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cirq-core
3
- Version: 1.5.0.dev20241122173038
3
+ Version: 1.5.0.dev20241202173736
4
4
  Summary: A framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.
5
5
  Home-page: http://github.com/quantumlib/cirq
6
6
  Author: The Cirq Developers
@@ -4,8 +4,8 @@ cirq/_compat_test.py,sha256=Qq3ZcfgD-Nb81cEppQdJqhAyrVqXKtfXZYGXT0p-Wh0,34718
4
4
  cirq/_doc.py,sha256=yDyWUD_2JDS0gShfGRb-rdqRt9-WeL7DhkqX7np0Nko,2879
5
5
  cirq/_import.py,sha256=p9gMHJscbtDDkfHOaulvd3Aer0pwUF5AXpL89XR8dNw,8402
6
6
  cirq/_import_test.py,sha256=6K_v0riZJXOXUphHNkGA8MY-JcmGlezFaGmvrNhm3OQ,1015
7
- cirq/_version.py,sha256=cXnObSc4jh25fDMNoaPWQ5f9EWNeQlSkrnE-8h_58Fc,1206
8
- cirq/_version_test.py,sha256=1NNSquOuZBon7uf5AJWxpzksetacHdW9i7_g3kdIqS8,147
7
+ cirq/_version.py,sha256=D6ynQI7ZeYrM6zXi6qSIFLkR_6N_rGTA-f61a98H3fw,1206
8
+ cirq/_version_test.py,sha256=Sr-dEUA2hgJJeoRDnfwRTiJ499KTmE_PU86Nl6_tLgo,147
9
9
  cirq/conftest.py,sha256=X7yLFL8GLhg2CjPw0hp5e_dGASfvHx1-QT03aUbhKJw,1168
10
10
  cirq/json_resolver_cache.py,sha256=ytePZtNZgKjOF2NiVpUTuotB-JKZmQNOFIFdvXqsxHw,13271
11
11
  cirq/py.typed,sha256=VFSlmh_lNwnaXzwY-ZuW-C2Ws5PkuDoVgBdNCs0jXJE,63
@@ -187,7 +187,7 @@ cirq/experiments/qubit_characterizations.py,sha256=-a-krc7Pw68VjsVvQmeZ92oXrpeME
187
187
  cirq/experiments/qubit_characterizations_test.py,sha256=b_ONqxyW6s01Ts8T65BEdb4e8Xy24Qp4zTGXWesL0ic,9733
188
188
  cirq/experiments/random_quantum_circuit_generation.py,sha256=GIA4qdrgECcZlvGOiWtKL0hGyuNJbRtzhrzPJXKI0iQ,28167
189
189
  cirq/experiments/random_quantum_circuit_generation_test.py,sha256=1rvgN8-Ajedn_70FyYKVzjvzR6NVpHj6KQgo6tra-Jc,15995
190
- cirq/experiments/readout_confusion_matrix.py,sha256=jIyikXfYWGbVrOjU1pbV2VZL-m03VTFYS18KT1Cf2qk,21404
190
+ cirq/experiments/readout_confusion_matrix.py,sha256=5yS7VXDe9LHYn_6YRYek-HZ9ftEBmCTn5__TYSUONGQ,20875
191
191
  cirq/experiments/readout_confusion_matrix_test.py,sha256=ETvKHVuJWvq8KuL0l6w22UOfZHhBNH-TVeWAKqjSQEc,10632
192
192
  cirq/experiments/single_qubit_readout_calibration.py,sha256=x6fF6GqU1D4YY05YvW1DFlTlbjC12_bfj7W2psd75-U,14722
193
193
  cirq/experiments/single_qubit_readout_calibration_test.py,sha256=_002QXj2rIFHkH3vw9iTVMh45vCPuCI_fTqOUK8uMe4,7718
@@ -1187,8 +1187,8 @@ cirq/work/sampler.py,sha256=y6qtCpAwO8SqZ_JKU8PwlbMLHpJskNPqGWD_pNbyZew,19779
1187
1187
  cirq/work/sampler_test.py,sha256=hL2UWx3dz2ukZVNxWftiKVvJcQoLplLZdQm-k1QcA40,13282
1188
1188
  cirq/work/zeros_sampler.py,sha256=x1C7cup66a43n-3tm8QjhiqJa07qcJW10FxNp9jJ59Q,2356
1189
1189
  cirq/work/zeros_sampler_test.py,sha256=JIkpBBFPJe5Ba4142vzogyWyboG1Q1ZAm0UVGgOoZn8,3279
1190
- cirq_core-1.5.0.dev20241122173038.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
1191
- cirq_core-1.5.0.dev20241122173038.dist-info/METADATA,sha256=VH24wo8YSSqYHFvLY6zfFlfM3ODnFzDpfIR9zFGCTjM,1992
1192
- cirq_core-1.5.0.dev20241122173038.dist-info/WHEEL,sha256=bFJAMchF8aTQGUgMZzHJyDDMPTO3ToJ7x23SLJa1SVo,92
1193
- cirq_core-1.5.0.dev20241122173038.dist-info/top_level.txt,sha256=Sz9iOxHU0IEMLSFGwiwOCaN2e9K-jFbBbtpPN1hB73g,5
1194
- cirq_core-1.5.0.dev20241122173038.dist-info/RECORD,,
1190
+ cirq_core-1.5.0.dev20241202173736.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
1191
+ cirq_core-1.5.0.dev20241202173736.dist-info/METADATA,sha256=BE-y8tWJvMo_4Yld-zhiah3vLNiyVNm9YG_RpQb4VBk,1992
1192
+ cirq_core-1.5.0.dev20241202173736.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
1193
+ cirq_core-1.5.0.dev20241202173736.dist-info/top_level.txt,sha256=Sz9iOxHU0IEMLSFGwiwOCaN2e9K-jFbBbtpPN1hB73g,5
1194
+ cirq_core-1.5.0.dev20241202173736.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.45.0)
2
+ Generator: bdist_wheel (0.45.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5