teststuff
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org, zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.7%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: mhucka
- Language: C++
- Default Branch: main
- Size: 225 KB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 1
Metadata Files
README.md
<!-- H1 title omitted because our logo acts as the title. -->
Features
Cirq provides useful abstractions for dealing with today’s noisy intermediate-scale quantum (NISQ) computers, where the details of quantum hardware are vital to achieving state-of-the-art results. Some of its features include:
- Flexible gate definitions and custom gates
- Parameterized circuits with symbolic variables
- Circuit transformation, compilation and optimization
- Hardware device modeling
- Noise modeling
- Multiple built-in quantum circuit simulators
- Integration with qsim for high-performance simulation
- Interoperability with NumPy and SciPy
- Cross-platform compatibility
Installation
Cirq supports Python version 3.10 and later, and can be used on Linux, MacOS, and Windows, as well as Google Colab. For complete installation instructions, please refer to the Install section of the online Cirq documentation.
Quick Start – “Hello Qubit” Example
Here is a simple example to get you up and running with Cirq after you have installed it. Start a Python interpreter, and then type the following:
```python import cirq
Pick a qubit.
qubit = cirq.GridQubit(0, 0)
Create a circuit.
circuit = cirq.Circuit( cirq.X(qubit)**0.5, # Square root of NOT. cirq.measure(qubit, key='m') # Measurement. ) print("Circuit:") print(circuit)
Simulate the circuit several times.
simulator = cirq.Simulator() result = simulator.run(circuit, repetitions=20) print("Results:") print(result) ```
Python should then print output similar to this:
text
Circuit:
(0, 0): ───X^0.5───M('m')───
Results:
m=11000111111011001000
Congratulations! You have run your first quantum simulation in Cirq. You can continue to learn more by exploring the many Cirq tutorials described below.
Cirq Documentation
The primary documentation site for Cirq is the Cirq home page on the Quantum AI website. There and elsewhere, a variety of documentation for Cirq is available.
Tutorials
- Video tutorials on YouTube are an engaging way to learn Cirq.
- Jupyter notebook-based tutorials let you learn Cirq from your browser – no installation needed.
- Text-based tutorials on the Cirq home page are great when combined with a local installation of Cirq on your computer. After starting with the basics, you'll be ready to dive into tutorials on circuit building and circuit simulation under the Build and Simulate tabs, respectively. Check out the other tabs for more!
Reference Documentation
- Docs for the current stable
release
correspond to what you get with
pip install cirq. - Docs for the
pre-release
correspond to what you get with
pip install cirq~=1.0.dev.
Examples
- The examples subdirectory of the Cirq GitHub repo has many programs illustrating the application of Cirq to everything from common textbook algorithms to more advanced methods.
- The Experiments page on the Cirq documentation site has yet more examples, from simple to advanced.
Change log
- The Cirq releases page on GitHub lists the changes in each release.
Integrations
Google Quantum AI has a suite of open-source software that lets you do more with Cirq. From high-performance simulators, to novel tools for expressing and analyzing fault-tolerant quantum algorithms, our software stack lets you develop quantum programs for a variety of applications.
Fault-tolerant quantum computing (FTQC)? | [Qualtran](https://github.com/quantumlib/qualtran) | | Large circuits and/or a lot of simulations? | [qsim](https://github.com/quantumlib/qsim) | | Circuits with thousands of qubits and millions of Clifford operations? | [Stim](https://github.com/quantumlib/ssim) | | Quantum error correction (QEC)? | [Stim](https://github.com/quantumlib/ssim) | | Chemistry and/or material science? | [OpenFermion](https://github.com/quantumlib/openfermion)
[OpenFermion-FQE](https://github.com/quantumlib/OpenFermion-FQE)
[OpenFermion-PySCF](https://github.com/quantumlib/OpenFermion-PySCF)
[OpenFermion-Psi4](https://github.com/quantumlib/OpenFermion-Psi4) | | Quantum machine learning (QML)? | [TensorFlow Quantum](https://github.com/tensorflow/quantum) | | Real experiments using Cirq? | [ReCirq](https://github.com/quantumlib/ReCirq) |
Community
Cirq has benefited from open-source contributions by over 200 people and counting. We are dedicated to cultivating an open and inclusive community to build software for quantum computers, and have a code of conduct for our community.
Announcements
Stay on top of Cirq developments using the approach that best suits your needs:
- For releases and major announcements: sign up to the low-volume mailing list
cirq-announce. - For releases only:
- Via GitHub notifications: configure GitHub repository notifications for the Cirq repository.
- Via Atom/RSS from GitHub: subscribe to the GitHub Cirq releases Atom feed.
- Via RSS from PyPI: subscribe to the PyPI releases RSS feed for Cirq.
Cirq releases take place approximately every quarter.
Questions and Discussions
- Do you have questions about using Cirq? Post them to the Quantum Computing
Stack Exchange and tag them
with the
cirqtag. You can also search past questions using that tag – it's a great way to learn! - Would you like to get more involved in Cirq development? Cirq Cynq is our biweekly virtual meeting of contributors to discuss everything from issues to ongoing efforts, as well as to ask questions. Become a member of cirq-dev to get an automatic meeting invitation!
Issues and Pull Requests
- Do you have a feature request or want to report a bug? Open an issue on GitHub to report it!
- Do you have a code contribution? Read our contribution guidelines, then open a pull request!
Citing Cirq
When publishing articles or otherwise writing about Cirq, please cite the Cirq version you use – it will help others reproduce your results. We use Zenodo to preserve releases. The following links let you download the bibliographic record for the latest stable release of Cirq in various popular formats:
For formatted citations and records in other formats, as well as records for all releases of Cirq past and present, visit the Cirq page on Zenodo.
Contact
For any questions or concerns not addressed here, please email quantum-oss-maintainers@google.com.
Disclaimer
Cirq is not an official Google product. Copyright 2019 The Cirq Developers.
Owner
- Name: Michael Hucka
- Login: mhucka
- Kind: user
- Location: Santa Barbara, California, USA
- Company: Google Quantum AI
- Repositories: 71
- Profile: https://github.com/mhucka
Staff Software Engineer @ Google
Citation (CITATION.cff)
# Citation information for this repository. -*- yaml -*-
#
# CITATION.cff provide human- & machine-readable citation info for software and
# datasets. GitHub, Zenodo, and the Zotero browser plugin all use CFF files
# automatically. Tools exist to generate CITATION.cff files from other formats
# such as BibTeX. For more info, visit https://citation-file-format.github.io/.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cff-version: 1.2.0
message: >-
Please cite your use of Qualtran using the reference metadata provided here.
# If preferred-citation is present, GitHub uses its value for the "cite this
# repository" button and ignores the rest of this file; conversely, the Zenodo-
# GitHub integration ignores this field when archiving a new software release
# and uses the metadata in the rest of this file.
preferred-citation:
type: misc
authors: &authors
- family-names: Harrigan
given-names: Matthew P.
affiliation: Google LLC
orcid: https://orcid.org/0000-0001-9412-0553
- family-names: Khattar
given-names: Tanuj
affiliation: Google LLC
orcid: https://orcid.org/0009-0003-5545-3066
- family-names: Yuan
given-names: Charles
affiliation: Massachusetts Institute of Technology
orcid: https://orcid.org/0000-0002-4918-4467
- family-names: Peduri
given-names: Anurudh
affiliation: Ruhr University Bochum
orcid: https://orcid.org/0000-0002-6523-7098
- family-names: Yosri
given-names: Noureldin
affiliation: Google LLC
orcid: https://orcid.org/0000-0003-4169-5745
- family-names: Malone
given-names: Fionn D.
affiliation: Google LLC
orcid: https://orcid.org/0000-0001-9239-0162
- family-names: Babbush
given-names: Ryan
affiliation: Google LLC
orcid: https://orcid.org/0000-0001-6979-9533
- family-names: Rubin
given-names: Nicholas C.
affiliation: Google LLC
orcid: https://orcid.org/0000-0003-3963-1830
title: Expressing and Analyzing Quantum Algorithms with Qualtran
year: 2024
doi: 10.48550/arXiv.2409.04643
url: https://arxiv.org/abs/2409.04643
identifiers:
- description: arXiv identifier for the submission
value: 'arXiv:2409.04643'
type: other
keywords:
- quant-ph
# CITATION.cff files describe how to cite software or datasets, with the goal of
# making software and data be citable in their own right. However, some projects
# prefer citations go to a paper instead. Preferred-citation communicates this.
# It matters in different situations. If this field is present, GitHub uses the
# value for the "cite this repository" button; conversely, the Zenodo-GitHub
# integration ignores it when creating an entry for a new software release
# (because the Zenodo entry is specifically about the software in this repo).
preferred-citation:
type: misc
authors:
- family-names: Harrigan
given-names: Matthew P.
affiliation: Google LLC
orcid: https://orcid.org/0000-0001-9412-0553
- family-names: Khattar
given-names: Tanuj
affiliation: Google LLC
orcid: https://orcid.org/0009-0003-5545-3066
- family-names: Yuan
given-names: Charles
affiliation: Massachusetts Institute of Technology
orcid: https://orcid.org/0000-0002-4918-4467
- family-names: Peduri
given-names: Anurudh
affiliation: Ruhr University Bochum
orcid: https://orcid.org/0000-0002-6523-7098
- family-names: Yosri
given-names: Noureldin
affiliation: Google LLC
orcid: https://orcid.org/0000-0003-4169-5745
- family-names: Malone
given-names: Fionn D.
affiliation: Google LLC
orcid: https://orcid.org/0000-0001-9239-0162
- family-names: Babbush
given-names: Ryan
affiliation: Google LLC
orcid: https://orcid.org/0000-0001-6979-9533
- family-names: Rubin
given-names: Nicholas C.
affiliation: Google LLC
orcid: https://orcid.org/0000-0003-3963-1830
title: Expressing and Analyzing Quantum Algorithms with Qualtran
year: 2024
doi: 10.48550/arXiv.2409.04643
url: https://arxiv.org/abs/2409.04643
identifiers:
- description: arXiv identifier for the submission
value: 'arXiv:2409.04643'
type: other
keywords:
- quant-ph
<<<<<<< HEAD
title: Qualtran
authors: *authors
abstract: >-
Qualtran is a set of abstractions for representing quantum programs, and a
library of quantum algorithms expressed in that language to support quantum
algorithms research.
version: 0.6.0
date-released: 2025-04-01
||||||| parent of f5ee899 (wip)
title: test
authors:
- family-names: test
given-names: test
version: '0.0.1'
date-released: 2025-03-10
url: https://github.com/mhucka/teststuff
repository-code: https://github.com/mhucka/teststuff
=======
# The remaining metadata in this file describes software in this repository.
title: Qualtran
authors:
- family-names: Harrigan
given-names: Matthew P.
affiliation: Google LLC
orcid: https://orcid.org/0000-0001-9412-0553
- family-names: Khattar
given-names: Tanuj
affiliation: Google LLC
orcid: https://orcid.org/0009-0003-5545-3066
- family-names: Yuan
given-names: Charles
affiliation: Massachusetts Institute of Technology
orcid: https://orcid.org/0000-0002-4918-4467
- family-names: Peduri
given-names: Anurudh
affiliation: Ruhr University Bochum
orcid: https://orcid.org/0000-0002-6523-7098
- family-names: Yosri
given-names: Noureldin
affiliation: Google LLC
orcid: https://orcid.org/0000-0003-4169-5745
- family-names: Malone
given-names: Fionn D.
affiliation: Google LLC
orcid: https://orcid.org/0000-0001-9239-0162
- family-names: Babbush
given-names: Ryan
affiliation: Google LLC
orcid: https://orcid.org/0000-0001-6979-9533
- family-names: Rubin
given-names: Nicholas C.
affiliation: Google LLC
orcid: https://orcid.org/0000-0003-3963-1830
abstract: >-
Qualtran (quantum algorithms translator) is a set of abstractions for
representing quantum programs, and a library of quantum algorithms expressed
in that language to support quantum algorithms research.
>>>>>>> f5ee899 (wip)
url: https://github.com/quantumlib/Qualtran
repository-code: https://github.com/quantumlib/Qualtran
license: Apache-2.0
type: software
identifiers:
- description: The home page for Qualtran
value: https://quantumai.google/Qualtran
type: url
- description: PyPI project for Qualtran
value: https://pypi.org/project/Qualtran
type: url
- description: GitHub repository for Qualtran
value: https://github.com/quantumlib/Qualtran
type: url
- description: DOI for the preprint
value: 10.48550/arXiv.2409.04643
type: doi
- description: Web page for the preprint
value: https://arxiv.org/abs/2409.04643
type: url
keywords:
- algorithms
- API
- application programming interface
- compilation
- conversion
- diagramming
- logical qubit
- open-source software
- physics
- Python
- QEC
- quantum
- quantum algorithms
- quantum circuits
- quantum computing
- quantum error correction
- quantum error decoder
- quantum gates
- quantum programming
- quantum programs
- quantum simulation
- quantum state
- qubit
- research
- resource estimation
- science
- SDK
- simulation
- simulator
- software
- software development toolkit
- stabilizer circuits
- translator
- visualization
GitHub Events
Total
- Release event: 1
- Delete event: 6
- Push event: 319
- Pull request review comment event: 1
- Pull request review event: 2
- Pull request event: 41
- Create event: 23
Last Year
- Release event: 1
- Delete event: 6
- Push event: 319
- Pull request review comment event: 1
- Pull request review event: 2
- Pull request event: 41
- Create event: 23
Committers
Last synced: about 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| mhucka | m****a@g****m | 252 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 1
- Total pull requests: 31
- Average time to close issues: N/A
- Average time to close pull requests: about 9 hours
- Total issue authors: 1
- Total pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 0.0
- Merged pull requests: 24
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 31
- Average time to close issues: N/A
- Average time to close pull requests: about 9 hours
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 0.0
- Merged pull requests: 24
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- mhucka (31)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- cirq-core ==1.3.0
- cirq-google ==1.3.0
- nbformat ==5.1.3
- numpy ==1.24.2
- pylint ==3.3.3
- sympy ==1.12
- tensorflow ==2.15.0
- yapf ==0.40.2
- actions/checkout v4 composite
- actions/cache v4 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- tj-actions/changed-files v45 composite
- EndBug/add-and-commit a94899bca583c204427a224a7af87c02f9b325d5 composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- actions/github-script 60a0d83039c74a4aee543508d2ffcb1c3799cdea composite