Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3d diagrams for circuits #1075

Closed
Strilanc opened this issue Oct 29, 2018 · 3 comments
Closed

3d diagrams for circuits #1075

Strilanc opened this issue Oct 29, 2018 · 3 comments
Assignees
Labels
area/circuits area/visualization complexity/medium introduces/modifies 3-5 concepts, takes max up to a month for an advanced contributor good part time project A meaty non-urgent issue with a substantial amount of work to be done. kind/feature-request Describes new functionality rfc-proposed skill-level/advanced One or more of the areas need a solid understanding. triage/stale

Comments

@Strilanc
Copy link
Contributor

When working with qubits laid out in a 2d grid, it can be very helpful to see the circuit structure in 3d space.

I'm not sure what exactly the output should be here. Should a window open up with a 3d viewer, ala matplotlib plots? Should we export a model file for some 3d format?

I don't want anything particularly complicated for the diagrams themselves. Basically a text diagram in 3d space, with the symbols as textures on cubes. There is a clear positioning implied for GridQubit. For other qubits, sort them and put them into a big long line (or just raise an error).

@Strilanc Strilanc added the good part time project A meaty non-urgent issue with a substantial amount of work to be done. label Oct 31, 2018
@balopat balopat added area/circuits area/visualization complexity/medium introduces/modifies 3-5 concepts, takes max up to a month for an advanced contributor skill-level/advanced One or more of the areas need a solid understanding. triage/accepted there is consensus amongst maintainers that this is a real bug or a reasonable feature to add kind/feature-request Describes new functionality labels Sep 12, 2020
@seunomonije seunomonije assigned seunomonije and unassigned vtomole May 19, 2021
@balopat
Copy link
Contributor

balopat commented Jun 2, 2021

An RFC is proposed for Typescript development - adding it here for sake of completeness.

balopat pushed a commit that referenced this issue Aug 11, 2021
### 3D circuit visualization
This PR implements the features discussed in the [3D Quantum Circuits RFC](https://docs.google.com/document/d/1dLKj8oAF_JhDWU4zLU7XMz3aBXymd0hk_9n6U0mEtms/edit?usp=sharing).

#### Relevant Issues and PRs
#1075 - 3D diagrams for circuits
#4171 - Typescript development in Cirq and prototype bloch sphere implementation

#### Features implemented
 - All features of a [Cirq Typescript widget](#4171)
 - End to end display of circuits
   - Serialization of cirq.Circuit objects, re-representation in Typescript
 - Support for arbitrary length gates
 - Testing for the different components
 - A short jupyter notebook example


https://user-images.githubusercontent.com/17647506/126213608-0c2d09d1-d5c2-4fa0-a8ae-3f0780f09912.mp4
@dabacon dabacon added triage/discuss Needs decision / discussion, bring these up during Cirq Cynque and removed triage/accepted there is consensus amongst maintainers that this is a real bug or a reasonable feature to add labels Nov 12, 2021
@dabacon
Copy link
Collaborator

dabacon commented Nov 12, 2021

I think this is now implemented in cirq-web? Putting on triage/discuss to see if we want to close at Cirq sync

@tanujkhattar tanujkhattar added triage/stale and removed triage/discuss Needs decision / discussion, bring these up during Cirq Cynque labels Nov 17, 2021
@vtomole
Copy link
Collaborator

vtomole commented Nov 17, 2021

This has been done. See: https://www.youtube.com/watch?v=pgyCEY8oMYA

@vtomole vtomole closed this as completed Nov 17, 2021
rht pushed a commit to rht/Cirq that referenced this issue May 1, 2023
…#4334)

### 3D circuit visualization
This PR implements the features discussed in the [3D Quantum Circuits RFC](https://docs.google.com/document/d/1dLKj8oAF_JhDWU4zLU7XMz3aBXymd0hk_9n6U0mEtms/edit?usp=sharing).

#### Relevant Issues and PRs
quantumlib#1075 - 3D diagrams for circuits
quantumlib#4171 - Typescript development in Cirq and prototype bloch sphere implementation

#### Features implemented
 - All features of a [Cirq Typescript widget](quantumlib#4171)
 - End to end display of circuits
   - Serialization of cirq.Circuit objects, re-representation in Typescript
 - Support for arbitrary length gates
 - Testing for the different components
 - A short jupyter notebook example


https://user-images.githubusercontent.com/17647506/126213608-0c2d09d1-d5c2-4fa0-a8ae-3f0780f09912.mp4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/circuits area/visualization complexity/medium introduces/modifies 3-5 concepts, takes max up to a month for an advanced contributor good part time project A meaty non-urgent issue with a substantial amount of work to be done. kind/feature-request Describes new functionality rfc-proposed skill-level/advanced One or more of the areas need a solid understanding. triage/stale
Projects
None yet
Development

No branches or pull requests

6 participants