Craig Gidney

Results 155 issues of Craig Gidney

``` import cirq from cirq.contrib.svg import SVGCircuit with open('tmp.svg', 'w') as f: print(SVGCircuit(cirq.Circuit( cirq.measure(cirq.LineQubit(0), key="abc"), cirq.X(cirq.LineQubit(0)).with_classical_controls("abc"), ))._repr_svg_(), file=f) ``` ![image](https://user-images.githubusercontent.com/79941/178051970-c80f7fd3-0be3-4682-807a-9e7e154fc81f.png)

no QC knowledge needed
kind/bug-report
triage/accepted
area/circuits
area/visualization

``` import cirq print(cirq.Circuit( cirq.measure(cirq.LineQubit(0), key="abc"), cirq.X(cirq.LineQubit(0)).with_classical_controls("abc"), ).to_qasm()) ``` ``` ValueError: QASM is defined only for SympyConditions of type key == constant. ```

kind/bug-report
triage/accepted
area/interop
area/classical/control
area/qasm

Currently, when we test optimizations, we write little helper methods like this one: ```python def assert_optimizes(before, after): opt = MergeInteractions() opt.optimize_circuit(before) # Ignore differences that would be caught by follow-up...

kind/feature-request
kind/health
area/gate-compilation
area/testing
complexity/medium
skill-level/advanced
good for learning

kind/task
area/google
area/google/engine
area/async

kind/feature-request
triage/accepted
area/simulation
area/samplers
area/google/engine
priority/p3

As a sort of post-selection. The recent change to simulator broke this test. Not sure how to fix it given the new interface. @dabacon ideas? ```python result = simulator.simulate( circuit,...

kind/feature-request
triage/accepted
area/gates
complexity/medium
area/post-selection

Currently, the optimization that removes non-Clifford operations and merges them does so by individually moving them through the circuit. If there are C cliffords and N non-cliffords, it takes N*C...

kind/health
complexity/medium
area/contrib
area/performance
skill-level/advanced
area/clifford-optimizer
good for learning

- Define XmonCalibrationData class in google package with qubit-cost and edge-cost getter methods. - Move placement code into google namespace (since it references xmon device) (leave LineQubit outside cirq.google). -...

kind/feature-request
triage/accepted
area/google
area/google/engine

How much information do we get in _pretty_repr_? Do we get the display width in characters? We could automatically switch to transposed circuits when things didn't fit.

kind/feature-request
triage/accepted
area/visualization

This issue is harder than it sounds. But I do think it's important for us to start being able to draw multi-qubit boxes in text diagrams and in the latex...

good part time project
kind/feature-request
triage/accepted
area/circuits
area/visualization
needs agreed design