Skip to content

Cirq v0.8.0

Compare
Choose a tag to compare
@dstrain115 dstrain115 released this 04 May 18:27

Major usability changes:

  • Reorganize and improve documentation and examples
  • Standardize CXPowGate, CCXPowGate, CNotPowGate, CCNotPowGate
  • Add and improve Clifford Simulator
  • Operations can now be "tagged" to support custom functionality.
  • Additional compilation methods added to optimizers
  • New noise models based on calibration metrics
  • Random quantum circuits to experiments
  • Moved measures and states to new qis sub-package
  • Added Pasqal API integration
  • Updates for Google API integration

New protocols:

  • SupportsCommutes (polish of cirq.definitely_commutes)

New top level objects:

  • cirq.pasqal sub-package

  • cirq.qis sub-package

  • cirq.CIRCUIT_LIKE

  • cirq.CXPowGate

  • cirq.decompose_multi_controlled_x

  • cirq.decompose_multi_controlled_rotation

  • cirq.final_density_matrix

  • cirq.GridQid

  • cirq.is_normal

  • cirq.json_serializable_dataclass

  • cirq.merge_single_qubit_gates_into_phxz

  • cirq.RANDOM_STATE_OR_SEED_LIKE

  • cirq.single_qubit_matrix_to_phxz

  • cirq.stratified_circuit

Full change list:

a759e41 Add get_device for engine_processor (#2954)
f907314 Update xmon gate times (#2952)
d2d3356 Accept empty list of whitelisted_users when updating reservations. (#2950)
b67ef87 Add Example: Simon's Algorithm (#2649)
33194ad Create qis subpackage and move some existing code to qis.states and qis.measures (#2808)
e9b881a Speed up clifford simulator by short circuiting on known gates (#2919)
71df170 Fix time bugs in EngineProcessor.get_schedule (#2878)
4e86982 Remove deprecated methods and improve reprs (#2717)
b4c4066 Ensure exponent in eigen gate is real. (#2881)
a3af71f Add assert_specifies_has_unitary_if_unitary to consistency tests (#1759)
d147dda Add all_measurement_keys method to circuit (#2868)
675e4f0 Rename RANDOM_STATE_LIKE to RANDOM_STATE_OR_SEED_LIKE and expose at top level (#2942)
e34f8d1 Add shell:bash to run bash script on Windows. (#2943)
f2631ac Add more type annotations and f-strings (#2937)
46327bd Check 2x2 unitary in has_stabilizer_effect (#2938)
06f34f8 Allow creating device proto for specified qubits and pairs (#2934)
e08f94a Some more type annotations and format strings (#2935)
10fc655 Make from_json_dict return global Pauli instance so they commute(#2911)
9208613 Remove exponent parameter from _Pauli{X,Y,Z} (#2924)
0b050f7 Move studies to Tutorials (#2931)
23ce11c DFE with exhaustive sampling for exhaustive Clifford Pauli strings (#2918)
d0ec891 Fix pytest for mac by replacing grep with perl (#2930)
aa2a40a Update noise model to new metrics. (#2927)
9208cb3 Fix indentation on markdown (#2929)
67cd74b Add JSON serialization for CliffordState and CliffordTableau (#2894)
3bd420e Add JSON Serialization for GateTabulation. (#2883)
97701b1 More type annotations and format strings (#2914)
86bf42a Add notebook on Hidden Linear Function Problem (#2857)
7ec9e6f Loosen tolerance restrictions in Quantum Engine (#2921)
beaa782 DRY radian formatting (#2907)
3132f97 Actually test zip sweep with duplicate keys (#2913)
68bf299 Replace Travis with Github workflow except for script that performs devbuilds (#2859)
4c0cb2c Remove explicit object superclass (#2910)
110dd4a Add interop docs and optimizers (#2884)
4df6919 Add more missing type annotations (#2908)
1640175 Intermediate examples had the wrong header (#2909)
4792e8f Add some missing type annotations (#2906)
740ef6c Reorganize examples page to better list out examples (#2897)
32a4162 Add function to compute fidelity (#2797)
eef4105 Add ability to do exhaustive Clifford trial (#2837)
11b1433 Add return values to direct_fidelity_estimation() (#2889)
9b8eb8b Shortening titles of tutorials (#2901)
baa718e Fix invalid argument in list_processors. (#2899)
b1b09a0 upgrade pytest to version 5.4.1 (#2895)
ad6b822 Fix examples link (#2893)
1daad39 Fix links in github view (#2890)
4320e52 Fix column axis rename in pandas 1.0 (#2886)
76b2689 Reorder TOC and move development to dev/ (#2882)
230249c Define moment+moment operation to return a combined moment (#2879)
3fee6d5 Fix image links and headers (#2880)
d2a8fa1 Add CXPowGate and CCNotPowGate for completeness and consistency. (#2874)
1e50e4a Refactor DFE to run samplers (#2870)
d1d203e Fix images in cirq docs (#2876)
c769af8 Move notebooks from examples to docs (#2877)
41b8e8b Add new tutorial (#2865)
4521a9b Add CZ to combined FSim gate set (#2875)
3659c7f fix pytest changed files script for mac (#2871)
25e1668 Handle all possible 1-qubit Clifford gates in Clifford simulator (#2803)
0fccaae Add stratified_circuit method (#2852)
459f644 Add has_stabilizer_effect protocol and support native Clifford simulator gates (#2760)
08ee106 Add CZ serializer (#2866)
2a3f7e9 Restore single-Clifford inversion in RB benchmarking. (#2851)
6c57f2e Expand SWEEP_LIKE to work for {'t': [0, 1, 3]} (#2786)
2dd6e2e Add GridQid class (#2861)
eb9b13c Use UTC time for reservation interactions. (#2860)
4d044cf Use random seed in CliffordSimulator (#2845)
5a52d97 Upgraded Gate documentation (#2790)
825aa57 Add Pauli expansion for PhasedXZ (#2856)
ad87c57 Add circuits notebook back in (#2855)
6271cb6 Convert documentation to use nbsphinx (#2850)
2cb9787 Implement filtering by time slot type (#2849)
fa07ce3 Fix typo (#2854)
36f3262 Add preliminary doc on calibration metrics (#2761)
76a07c7 Support readout errors modeling in noise-from-metrics utility. (#2715)
e151dc7 Fix filters to include time slots that do not start within the window. (#2848)
61fd6f1 Pasqal api (#2751)
5c60a58 Reservation Client API for cirq google EngineProcessor (#2838)
afad82b Fix error message from cirq.final_wavefunction to cirq.final_density_matrix #2778 (#2844)
626e16e Added BB84_example (#2395)
61b4259 Fix quantum engine gRPC path (#2833)
4561991 Update google gRPC Client to include reservation calls (#2830)
9b14d2f More gates aqt (#2801)
4efcb74 Issue #2829 - moved Jupyter notebooks into examples/notebooks (#2831)
5d0ac1d Added Quantum Walks Tutorial (#2825)
2e80ac3 Restore deprecated noise models. (#2827)
a8c7ed2 docs: minor spelling tweaks (#2823)
9718bd7 Add symbol capability to LIMITED_FSIM gate set (#2822)
61ce1c3 Add EngineProcessorTimeSlot to cirq.google.engine (#2794)
9422f5c Speed up GridQubit eq (#2815)
4127397 Document external simulators. (#2811)
cdb24ea Slightly speed up comparison and hashes for GridQubit (#2814)
58bdb81 Speed up direct fidelity estimation for Clifford circuits (Issue #2639) (#2709)
86b89fb Fit depolarizing model to XEB result (#2784)
007f858 Add a limited FSIM gateset (#2804)
329765a Convert single-qubit gates to single-gate PhasedXZ for sycamore (#2796)
5da8f0f Add test for non-string tag for TaggedOperation circuit diagrams (#2800)
cc457d3 Add support for indexing circuits and moments by qubits (#2773)
5d9a464 In unitary_eig, check preconditions before performing computing eigenvalues (#2795)
f6b484a Updated Dev Documentation (#2792)
dec7313 Refactor and clean up of engine client and helper objects. (#2720)
3a6ad8d Accept FSim(pi/2, pi/6) in ConvertToSycamoreGates (#2788)
875132c Attempt to fix flaky test by fixing random seed in n_qubit_tomography_test.py (#2758)
c8beade unitary eigenvalue decomposition (#2736)
17d2b05 Apply 'virtual' tag in noise models. (#2734)
d8c8547 Enable optimized_for_sycamore with single qubit MatrixGates (#2766)
736e7ac Make auto_merge script use new update-branch API call (#2782)
343682d Add tags and untagged properties on cirq.Operation (#2783)
0915f94 Make GridInteractionLayer a JSON serializable dataclass (#2779)
5e81be8 Fix density matrix simulation of noise (#2776)
0cefd75 Add function to generate random density matrix (#2780)
9d926d6 Serialization for PhysicalZ gates (#2770)
a1d2fb1 Increase tolerance in n_qubit_tomography_test' (#2774)
82d4fb3 Add tags to circuit diagrams (#2759)
37a222f Improves semantics of Circuit.findall_operations_until_blocked (#1916)
6a4fbfb Added QAOA and Rabi Demo notebooks. (#2768)
645af19 Save repetitions in CrossEntropyResult and make it into a JSON serializable dataclass (#2765)
c0a1b55 Speed up single qubit gate layer generation for random quantum circuit (#2764)
89653aa Add PhysicalZTag (#2753)
ce13a73 Add random quantum circuit generation (#2621)
1b37885 Return unrecognized random state unmodified (#2622)
6ba76b8 Add algorithm for decomposing multi-controlled rotation (#2716)
926751d Make LineQubit and GridQubit immutable (#2756)
68ca843 Make Best Practices its own page (#2754)
1d35492 Remove Google index page and link directly to Google pages (#2752)
2715417 Add Tags and TaggedOperation class (#2670)
1e5bf55 Fix sign error in PhasedXZGate._canonical (#2744)
8a0339b Add documentation for Engine (#2663)
4b91b2c Adding, shifting, and stacking for TextDiagramDrawer (#1236)
e257e31 Add json_serializable_dataclass decorator (#2706)
4dae9b2 Fix n-qubit state tomography (#2739)
8612933 Fix ordering bug in fsim decomposition (#2732)
fa74b05 Turn off --actually-quiet for Windows (#2731)
8179aa2 Add more specialized controlled implementations (#2597)
d5ce404 Draw ket labels for both real and imaginary parts of density matrix (#2722)
db9a9ed requirements: remove sympy pin (#2721)
04e2a1b Pin pandas (#2724)
0882abb Add cirq.final_density_matrix utility method (#2487)
9293779 Use captions in TOC (#2703)
c54066b Unpin networkx (#2718)
e69a1ac Fix slow tests (#2714)
df15b9b Convert documentation in docs/ to jupyter notebooks (new PR) (#2713)
1bda272 Fix special new line characters in a file (#2708)
8f946e3 removing deprecated functions with v0.7 deadline (#2707)
0494323 Update the engine code to use gRPC instead of REST (#2675)
bc858fc Plumb gate tabulation through optimized_for_sycamore (#2697)
d470089 Fix occasional bug in gate_product_tabulation (#2700)
3d9d2df Make n-qubit tomography code available under cirq.experiments (#2699)
28e3903 Add CliffordSimulator to cirq.Sample (#2600)
9065d4e Fix deprecation warnings coming from tests (#2658)
7a04b8f Polish commutes protocol (#2659)
79b9b2c DFE with physical simulations (#2523)
d191642 Update osx check from 3.6 to 3.7 (#2694)
6781fb9 Remove pip upgrade on Windows check in Travis (#2693)
7fc4d95 Add versioned branches to the travis file (#2689)
1c52d18 Add json_test_data to cirq package (#2688)
cc61838 Update master to 0.8.0.dev (#2686)