Craig Gidney
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) ``` 
``` 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. ```
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...
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,...
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...
- 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). -...
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.
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...