QGL icon indicating copy to clipboard operation
QGL copied to clipboard

Quantum Gate Language (QGL) is a domain specific language embedded in python for specifying quantum gate sequences.

Results 36 QGL issues
Sort by recently updated
recently updated
newest added

Rather than develop our own full-stack quantum circuit compiler and optimizer, we can use the relatively widely used QASM language to interface with other toolkits like QisKit and Cirq. The...

When running long sequences with the APS2 if the waveform data cross a cache line the prefetcher can't keep up. The experiment proceeds, but the data are random. Verified this...

This is probably a corner-case for most people, but it should be easy to check the environment and format the output depending on terminal/notebook. See https://github.com/BBN-Q/QGL/blob/32e21461bd35a660d0ebe07c755f3edb14db4a19/QGL/ChannelLibraries.py#L149 for example.

Times that are longer than 3.5ms cause the 21-bit `count` field in the `Waveform` instruction to overflow and wrap-around, leading to weird sequences. Need to split these into more than...

bug

Compiling longish sequences spends ~10% of them time creating APS2 instructions and converting them to 8 byte machine code and another 5% of the time creating Compiler.Waveform, most of which...

performance

I'd like to remove legacy code or see if this code needs to be rewritten to support the .aps file format. https://github.com/BBN-Q/QGL/blob/c5a076fbe2f7aa08d8d52d3ee9c6868aa1edd500/QGL/drivers/APS2Pattern.py#L1278 Anyone have any strong feelings?

`[Id(q), MEAS(q)]` breaks the logic in https://github.com/BBN-Q/QGL/blob/53e5f1659a34455de901b5e246bbe0e6751d24b8/QGL/drivers/APSPattern.py#L543-L562, which tries to add a padding after the `GOTO` instruction. Adding any delay after `MEAS` sidesteps the problem.

Hardware randomization over Cliffords TODOs: - [ ] Support diatomic and standard Clifford pulse libraries. - [ ] Set inverse based on sequence (waiting for hardware support) - [ ]...

The diatomic Clifford code defaults to `compiled = True`, which has the unexpected behavior of not all of the gates being of the form `Z(a) X90 Z(b) X90 Z(c)`. Should...

question