Home / v1.3.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2023-12-01 20.0 kB
v1.3.0 source code.tar.gz 2023-12-01 8.3 MB
v1.3.0 source code.zip 2023-12-01 9.6 MB
Totals: 3 Items   18.0 MB 0

Cirq v1.3.0 release

Summary

Deprecation of cirq-ft

The newly created cirq-ft package (from 1.2.0) will be moving to its new home in the qualtran repository. Please pull from that repository to get all your fault-tolerant resource estimation goodness.

Qubit management

Two new qubit managers (GreedyQubitManager and SimpleQubitManager) can help manage creation and allocation of temporarily or borrowed ancilla qubits.

Performance improvements

Many minor performance improvements have been made over the past 6 months to help speed up troublesome corner cases, such as json serialization, transformers, circuit creation, and symbol resolution.

A classical simulator for simulating circuits without superposition (such as Toffoli, CNOT, X, SWAP, etc) has been added.

A Huge Thank You

Thank you to all our contributors for this release:

Andreas Bengtsson, Bram Evert, Cheng Xing, Doug Strain, Dripto Debroy, eliottrosenberg, Emilio Peláez, Fionn Malone, Jon Donovan, Jose Urruticoechea, Matthew Neeley, Nishna Aerabati, Nafay Najam, Noureldin, Ogah Jackreece Ejini, Pavol Juhas, richrines1, Ryan Hill, Sam Burdick, Sanuj Sharma, Seneca Meeks, Shef, Spencer Churchill, Suyash Damle, Tanuj Khattar, yinghui-hu, Yisu Peng

What's Changed

9b65f686 Remote problematic terminology from test (#6368) dbbca739 Change master to main in documentation (#6365) ced13835 Restore code coverage (#6364) 3ac43f64 Switch master to main in CI tools and dev tools (#6363) 3c6a305b Deprecate Cirq-FT module in favour of Qualtran (#6362) cf973a53 Remove leftover dummy terms from the Cirq sources (#6358) 9142f6a8 Fix MacOS installation instructions for mactex with brew (#6361) 6aa9d0de Cleanup classical simulator code and fix a couple of bugs (#6344) a55f9626 Fix typos in the documentation. (#6359) a4ba95b6 Break intermediate measurements on 3+ qubits into single qubit measurements in <inline_block>0</inline_block>#6293 (#6349) 7f47e133 Created using Colaboratory (#6360) b5b3b748 ProcessorSampler: route run_batch to run_sweep (#6357) 2fdb447d Remove dummy from cirq-core (#6356) 3a64ef15 StreamManager: make function params explicit (#6355) 26dbabc6 Speed up hashing for GridQubit, LineQubit, and NamedQubit (#6350) 3c819619 Update docs/tutorials/google/start.pynb (#6346) 9a8298da Update start.ipynb (#6342) 8d07cabc Optimize ParamResolver.value_of (#6341) 392083b9 StreamManager: retry with get result request on already exist errors (#6345) 0e288a75 Bump @babel/traverse from 7.14.5 to 7.23.2 in /cirq-web/cirq_ts (#6318) 2f702c88 Add classical simulator (#6124) 39bd9269 Change default for streaming feature flag to false (#6310) 0b90ed6f Increase coverage of clifford protocols to parity_gates (#6338) 11ae0bd3 Make RouteCQC errorout on intermediate measurements on 3+ qubits (#6307) aa312bcd Fix flaky behavior of test_xeb_fidelity (#6337) 2f7d7325 Cache Circuit properties between mutations (#6322) 54852270 Run unit tests without affecting user browser session (#6333) fec68ae6 Fix ci-daily pytest failure (#6335) 34e8dab0 Extend Clifford protocol for 2+ qubit operations through analytical check and falling back to decompose (#6332) 17313e71 ci - show 20 slowest tests on Linux, Windows and Mac (#6334) 5556e729 ci - skip slow tests on PR, run them in daily ci instead (#6331) 1eced48d Moved rigetti integration test logic to higher level conftest.py file… (#6328) 15497859 remove default values of InternalGate (#6330) 235a0c6e Add documentation for cirq google's support for google internal gates (#6301) 455f50be Build clifford tableau just once during SingleQubitCliffordGate to PhasedXZGate conversion (#6325) ec84a057 Preserve subcircuits passed to [Frozen]Circuit.from_moments (#6320) 96b38428 Move qubit management transformers from Cirq-FT to Cirq-core (#6319) 105d975a Adds 2q prep for iswap instead of sqrt_iswap (#6314) a98fc616 Make ancilla for BiQubitsMixer sided too. (#6313) 9b65f686 Remote problematic terminology from test (#6368) dbbca739 Change master to main in documentation (#6365) ced13835 Restore code coverage (#6364) 3ac43f64 Switch master to main in CI tools and dev tools (#6363) 3c6a305b Deprecate Cirq-FT module in favour of Qualtran (#6362) cf973a53 Remove leftover dummy terms from the Cirq sources (#6358) 9142f6a8 Fix MacOS installation instructions for mactex with brew (#6361) 6aa9d0de Cleanup classical simulator code and fix a couple of bugs (#6344) a55f9626 Fix typos in the documentation. (#6359) a4ba95b6 Break intermediate measurements on 3+ qubits into single qubit measurements in <inline_block>0</inline_block>#6293 (#6349) 7f47e133 Created using Colaboratory (#6360) b5b3b748 ProcessorSampler: route run_batch to run_sweep (#6357) 2fdb447d Remove dummy from cirq-core (#6356) 3a64ef15 StreamManager: make function params explicit (#6355) 26dbabc6 Speed up hashing for GridQubit, LineQubit, and NamedQubit (#6350) 3c819619 Update docs/tutorials/google/start.pynb (#6346) 9a8298da Update start.ipynb (#6342) 8d07cabc Optimize ParamResolver.value_of (#6341) 392083b9 StreamManager: retry with get result request on already exist errors (#6345) 0e288a75 Bump @babel/traverse from 7.14.5 to 7.23.2 in /cirq-web/cirq_ts (#6318) 2f702c88 Add classical simulator (#6124) 39bd9269 Change default for streaming feature flag to false (#6310) 0b90ed6f Increase coverage of clifford protocols to parity_gates (#6338) 11ae0bd3 Make RouteCQC errorout on intermediate measurements on 3+ qubits (#6307) aa312bcd Fix flaky behavior of test_xeb_fidelity (#6337) 2f7d7325 Cache Circuit properties between mutations (#6322) 54852270 Run unit tests without affecting user browser session (#6333) fec68ae6 Fix ci-daily pytest failure (#6335) 34e8dab0 Extend Clifford protocol for 2+ qubit operations through analytical check and falling back to decompose (#6332) 17313e71 ci - show 20 slowest tests on Linux, Windows and Mac (#6334) 5556e729 ci - skip slow tests on PR, run them in daily ci instead (#6331) 1eced48d Moved rigetti integration test logic to higher level conftest.py file… (#6328) 15497859 remove default values of InternalGate (#6330) 235a0c6e Add documentation for cirq google's support for google internal gates (#6301) 455f50be Build clifford tableau just once during SingleQubitCliffordGate to PhasedXZGate conversion (#6325) ec84a057 Preserve subcircuits passed to [Frozen]Circuit.from_moments (#6320) 96b38428 Move qubit management transformers from Cirq-FT to Cirq-core (#6319) 105d975a Adds 2q prep for iswap instead of sqrt_iswap (#6314) a98fc616 Make ancilla for BiQubitsMixer sided too. (#6313) fefe3501 Make SingleQubitCompare output registers directional (#6312) fee056e9 Move GreedyQubitManager from Cirq-FT to Cirq-Core (#6309) 87f77be0 Create separate unary and streaming RPC tests in engine_test.py (#6311) 4dc36d54 Integrate StreamManager with run_sweep() (#6285) c6f60bc0 Apply fix from typo scan of quantumai website, cl/570431484 (#6308) bef756e2 Allow specifying settings field from Cirq-ionq (#5817) fd18da57 Make OpIdentifier serializable for all inputs (#6295) 1948e732 Change signature of cirq_ft.And gate to use directional registers like Qualtran (#6302) c6963234 Rename cirq_ft.Registers to cirq_ft.Signature to match data types in Qualtran (#6300) 61d96711 Fix stream_manager_test type warnings (#6299) acbc6247 Do not allow creating registers with bitsize 0 (#6298) 8e4e7d14 Add bitsize field to Cirq-FT Registers (#6286) 188bb94a Add registry sweep documentation to cirq_google (#6291) 907ec3af Try to make docstring render correctly (#6283) d805d823 Make InternalGate hashable if all gate args are hashable (#6294) 13664940 Apply minor doc fixes (#6289) b630298d Fix matplotlib typing (#6290) f715527b Fix documentation of FSimGate (#6288) 432d57a8 Add serialization support for InsertionNoiseModel (#6282) cf005c2d add to ionq code owners (#6273) 6c14cfa7 StreamManager: Add mechanism to close the request iterator (#6263) deedb453 Changed FakeQuantumRunStream to support arbitrary response and exception timing (#6253) 6fae4097 Delete SelectionRegisters and replace uses of Registers with Tuple[Register, ...] (#6278) e2356428 Variable spacing QROM should depend upon structure of different data sequences and not exact elements (#6280) eddb2d9c Add caching to value_equality_values decorator for auto generated methods. (#6275) 0e80fa52 v0.3 API + debiasing (#6077) b70b2fcf Add new processor selector parameters in cirq-google/engine run methods (#6267) b28bfce0 Speed up parameter resolution for cirq.Duration (#6270) c7048f50 codecov - exclude protobuf-generated sources from coverage analysis (#6268) 041ce5df Add tags to cirq.FrozenCircuit (#6266) 83609ebe Make device parameter units/idx optional (#6264) 8bd21618 Support the new quantum engine processor_selector in engine_client (#6254) 56b5db2e add back add/remove_qubit to density matrix sim state (#6259) ed26d2f7 Fix ordering issue in random_rotations_between_grid_interaction_layers_circuit (#6261) 7ed95aa3 Speed up cirq.map_operations and cirq.map_operations_and_unroll (#6250) be6218e1 codecov - tolerate small decrease in coverage (#6258) 5bbdc223 Apply variable-spaced optimization to QROM circuits (#6257) 6abc7401 remove extra User-Agent prefix in the ionq API header (#6232) 999fd94a Avoid skipping code lines depending on random seed (#6256) 86f17eb8 Update documentation to prevent markdown rendering of underscores as italics (#6255) 6e38a274 Fix coverage exclusion syntax (#6241) 6b44704a Check if python starts python3 (#6239) 95cb43f5 Remove temporary directories after test done (#6236) 30fa6f59 Fix bug in cirq-ft due to which T-complexity fails for gates with an empty decomposition / no-op (#6252) 95c672ab Support the deprecated_parameter decorator for asynchronous functions. (#6247) 64e1a7fd Fix CI requirements for Changed files test (#6243) 9fbaa054 Fix quoting in shell scripts per shellcheck-0.9 (#6245) 13f05fdf Revert "Integrate StreamManager with run_sweep() (#6233)" (#6242) 2fcdeb8d codecov - fix syntax for excluding code lines from coverage (#6240) c193c482 Fix bug in controlled() method of CCX and CCZ gates (#6237) 5e342c2b codecov - evaluate coverage at 0.1% resolution (#6238) 86479ae7 Integrate StreamManager with run_sweep() (#6233) 5c36dc00 fix ms gate equality (#6231) 081afab2 Add decomposition for CCZ gate and IonQTargetGateset when qubits are all-to-all connected (#6095) 14baaa59 Add StreamManager (#6199) c5afccea Fix Isolated pytest (#6229) 701538c3 Support empty invert_mask in measument gate deserialization (#6224) c510fffb Update requirements.txt (#6226) c15dd038 Fix typo and add more helpful assertion message. (#6221) 1c038c32 Pin mypy-protobuf version and fix failing qasm test (#6222) 91f690d4 Add cirq specific environment variables to ionq (#6216) d81d07c2 Move AsyncioExecutor to separate file. (#6192) c4a2b93f Add Codecov coverage badge to the main README file (#6220) 43f6a7fd create cirq_google.api.v2.InternalGate proto (#6212) db1b37b2 Fix notebook failure in CI tests (#6218) 76b8a96e Integrate CI with codecov coverage reports (#6193) 43d03726 Use f-strings in the pr_monitor tool (#6208) 6e562e64 Add ResponseDemux (#6190) e16fbf44 Bump word-wrap from 1.2.3 to 1.2.4 in /cirq-web/cirq_ts (#6209) 8241c4e0 Bump cirq version to 1.3.0 (#6207) edc820a5 Remove flynt dependency (#6205) 344d0206 Simplify StatePreparationAliasSampling tests by relying on Cirq simulators to simulate operations allocating ancillas (#6204) 83ede366 Make Cirq-FT registers multi-dimensional (#6200) a076858a Add Python 3.11 tests to CI (#6191) 45ed2287 Ignore string updates for consider-using-f-string (#6203) 5f5f513e Fix flaky test to make Windows CI runs consistent (#6202) 084e273a Use f-strings instead of percent operator or str.format() (#6198) b72a5328 Create cirq_google.InternalGate (#6194) c93224eb Implemented 8n T complexity decomposition of LessThanEqual gate (#6156) cb05a694 Create consistency check for unitary with ancilla (#6196) 8e70f775 Remove dependency on the flynt tool (#6164) 3fe34384 Speed up execution time of merge_single_qubit_moments_to_phxz transformer by avoiding redundant calls to unitary protocol (#6174) d98be50e Delete dependencies pinning done over 2 years ago (#6189) 60508bc3 Update pr_monitor/Dockerfile to Python 3.9 (#6188) a041ef80 Handle shape mismatch for cirq.dirac_notation (#6179) 9dff0115 Fix failing tests for Python 3.11 (#6181) 5d3e681a Remove unused warnings filter for pytest (#6186) 56259e49 Clean up after getting compatibility with numpy-1.24 (#6187) 8a41b4a0 added ci-daily (#6177) 221d6752 Retire unused Dockerfile (#6184) 5db4af71 Remove references to cirq_qubitization in cirq_ft (#6183) 508677ad Create a unitary to pauli string transformer (#6100) ad6e6494 Handle qubits in the str of StateVectorTrialResult (#6180) 98496955 Decompose protocol must create a context when given None and SimpleQubitManager must add a prefix to its qubits (#6172) 7b753f63 Remove invalid extra commas from json data (#6176) bc09047e Bump minimum python version to 3.9 (#6167) 74cee7e8 Add support for > 32 qudits to cirq.sample_state_vector. Fix for [#6031] (#6090) af4688df Skip utility sims (#6170) 421d492b copied colabs (#6169) 6565fc5a CI - run pylint checks with dependencies installed (#6163) 228c7e6f Fix LaTeX formatting for arbitrary-angle MS gate (#6166) f4605da7 Set cachetools min version to 5.3 (#6161) dfedcd60 Delete redundant setup.cfg files (#6122) 374947dc Remove overwrite_existing fields in CreateQuantumProgramRequest and CreateQuantumJobRequest (#6160) 6c251a3d Remove numpy<1.24 restriction from requirements.txt (#6149) f3965e82 Add Device Parameter metadata serialization to cirq_google (#6113) 3b699a48 BugFix in cirq.map_operations (#6155) b3376590 CI - update GitHub actions (#6153) 1bae5437 Try to fix bz2 issue. (#6151) d2362760 Add units to device parameter (#6140) c5dbb11a Launch Cirq-FT: Cirq for Fault Tolerant Algorithms sub-package (#6138) 26af12ee Allow measure_single_paulistring to have negative coefficient (#6143) 9a1609ce Make cirq.FREDKIN gate self-inverse (#6135) c08649fb added resolver for Sympy.Float to improve performance (#6128) d7fb8ece Replace usage of functions deprecated in NumPy 1.25 (#6133) 092b9961 Fail early in _strat_has_stabilizer_effect_from_unitary (#6131) 24abfa1d Pin cirq_rigetti pyquil dependency to pyquil-3.* (#6129) 0ef302f9 Changed simulators fallback to decompose_once and removed ancilla support from DensityMatrixSimulator (#6127) ebc52d53 Remove references to cirq_google.Foxtail (#6126) 3ac3c30d Inconsistent ordering of tags (#6123) cb89f3af Update Density Matrix and State Vector Simulators to work when an operation allocates new qubits as part of its decomposition (#6108) 33934390 Add new subpackage cirq-ft (#6121) 49b2cfb0 Add modulo to _equal_up_to_global_phase (#6058) 1ed879d8 Quantum Shannon Decomposition (#6020) 20b3d93e Add _decompose_with_context_ protocol to enable passing qubit manager within decompose (#6118) 91777087 Add support for allocating qubits in decompose to cirq.unitary (#6112) 99e8a137 Ensure that cirq.decompose traverses the yielded OP-TREE in dfs ordering (#6117) b1e09a9e Update cirq.decompose protocol to perform a DFS instead of a BFS on the decomposed OP-TREE (#6116) ebec38b8 Add Parameter to cirq_google (#6102) 36d67c15 Make Collector and PauliSumCollector work with AbstractCircuit (#6109) 16ed00d3 Loosen networkx requirements (#6105) 50a49a9c Bump requests from 2.24.0 to 2.31.0 in /dev_tools/pr_monitor (#6104) 97e8b986 Accept all_qubits in GridDevice.from_device_information() to allow isolated qubits (#6103) 683286b9 Add metadata to sweeps (#6099) 0066a530 GridDevice serialization refactor (#6094) 091688da Fix typos in notebooks.md and a plenty of relative links (#6089) da9c4122 Unblock test that requires sympy-1.12 (#6096) a95f0096 Override gate.controlled() for GlobalPhaseGate to return a ZPowGate (#6073) f2cd706e Fix image links (#6085) df3acbed Remove deprecated argument of pyplot.stem (#6086) dc23f873 Keep up with quimb-1.5.0 (#6087) 6d3f27ea Fix cirqdev gitter URL (#6084) d292dcce Apply suggestions from CommonTypos checker (#6082) c5367eb1 Add Moment.from_ops to more efficiently construct moments (#6078) ae336a65 Fix Default InsertStrategy in Circuits Notebook (#6079) c1d64518 Add ZipLongest to cirq_google (#6074) 2a57894e Access attributes directly in GridQubit instead of using properties (#6075) 03405d1b Fix matplotlib deprecation warning (#6072) 66ae2bca Removing Obsolete json files (#6071) f9ce9baf document json_namespace usage (#6069) a96a98c2 Adds User-Agent header to requests (#6065) 79286a1d Restore weekly cadence for the CI-weekly workflow (#6066) ee2d32a8 add _phase_by method to ZZPowGate (#6062) 8ac690d9 Bump webpack from 5.40.0 to 5.76.0 in /cirq-web/cirq_ts (#6035) 5c2bcdaf Use PEP-673 Self type annotations (#6057) 1445f12e Verify error reporting from the CI-weekly run (#6060) e7ef9d4a Update to mypy 1.2 (#6059) 6a5b3ea8 Use hash of all requirements files in cache keys for ci (#6061) 31bf1ac1 Add weekly CI workflow to test all notebooks (#6046) ae622500 Escape both <> characters in SVG test labels (#6056) cde65be8 Update cirq.contrib.svg to escape < and > characters (#6055) 6a97ccaa Refactor and speed up cirq.transformers.stratify (#6013) 663d404f Change dtype repr for Numpy 1.24 (#5991) 6b0c0985 Fix failing CI after Pandas 2.0 update (#6051) f1149962 Install recent version of ply in interop.ipynb (#6033) 0cc0458a Prevent notebook tests from changing the pytest Python environment (#6032) 611edeed pytest - keep "slow" tests deselected after -k EXPRESSION (#6034) 2c51eca3 Ensure compatible version of numpy in isolated_notebook_test.py (#6038) 402260c6 Update and correct pow function for PauliSum (#6019) 4607dd1e Remove outdated workaround for a bug in black formatter (#6045) cc8fc312 Fixed type annotations in _BaseLineQid and _BaseGridQid (#6043) 7335e715 Fixed type annotations in _BaseLineQid and _BaseGridQid (#6043) f636c5f0 Simplify dev_tools.notebooks.utils.rewrite_notebook (#6030) 8b97aa5d Bump node-fetch and puppeteer in /cirq-web/cirq_ts (#5998) c8f7a029 MatrixGate names don't survive serialization (#6026) 18991b5b Speed up parameter resolution by checking if val is parameterized and caching the boolean (#6023) f6a92a09 Adding dimension property to comparison of XPowGate and ZPowGate (#6005) a8275837 Correct invalid URLs found in notebook files (#6022) af6624d5 Bump ipython from 7.31.1 to 8.10.0 in /dev_tools/requirements/deps (#6015) 08fee59a IonQ: Handle 409 errors that are injected by Cloudflare (#5292) 1ad63aaa Pin Node version (#6014) 93545bee Fix an error in qvm_stabilizer_example.ipynb (#6010) 27dd6076 Add __cirq_debug__ flag and conditionally disable qid validations in gates and operations (#6000) fd491e0f Retry bad_gateway in cirq-ionq (#6006) dd2667a4 Reducing some code by cleaning up some logic (#6003) 3dc9629e Removing unnecessary return statement in cirq-core/cirq/circuits/moment.py (#6004) a3520bc3 Bump http-cache-semantics from 4.1.0 to 4.1.1 in /cirq-web/cirq_ts (#5997) 0c523d45 Add M and R aliases for cirq.measure and cirq.reset (#5993) 24a0d2e6 Fix link to noise models (#5990) 25ecba92 Fix bug in documentation of phase_flip and bit_flip methods (#5977) 7f0c2789 Bump json5 and tsconfig-paths in /cirq-web/cirq_ts (#5975) b0140366 Add single-qubit detuning parameters to CouplerPulse (#5971) 0c4f7420 Make AsyncioExecutor a shared resource across EngineClients (#5976)

Source: README.md, updated 2023-12-01