2019
DOI: 10.1007/978-3-030-21500-2_6
|View full text |Cite
|
Sign up to set email alerts
|

Sized Types for Low-Level Quantum Metaprogramming

Abstract: One of the most fundamental aspects of quantum circuit design is the concept of families of circuits parametrized by an instance size. As in classical programming, metaprogramming allows the programmer to write entire families of circuits simultaneously, an ability which is of particular importance in the context of quantum computing as algorithms frequently use arithmetic over non-standard word lengths. In this work, we introduce metaQASM, a typed extension of the openQASM language supporting the metaprogramm… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
8
0

Year Published

2019
2019
2022
2022

Publication Types

Select...
3
3

Relationship

2
4

Authors

Journals

citations
Cited by 6 publications
(8 citation statements)
references
References 26 publications
(35 reference statements)
0
8
0
Order By: Relevance
“…We can verify compilation from high-level languages with formal semantics like Silq [Bichsel et al 2020] to sqir circuits. We can implement validated parsers [Jourdan et al 2012] for languages like OpenQASM and verify their translation to sqir (e.g., using metaQASM's semantics [Amy 2019]); this work is already in progress [Singhal et al 2020]. We can also add support for hardware-specific transformations that compile to a particular gate set.…”
Section: Discussionmentioning
confidence: 99%
“…We can verify compilation from high-level languages with formal semantics like Silq [Bichsel et al 2020] to sqir circuits. We can implement validated parsers [Jourdan et al 2012] for languages like OpenQASM and verify their translation to sqir (e.g., using metaQASM's semantics [Amy 2019]); this work is already in progress [Singhal et al 2020]. We can also add support for hardware-specific transformations that compile to a particular gate set.…”
Section: Discussionmentioning
confidence: 99%
“…For low-level platform-specific OpenQASM circuits, we introduce syntax for defining arbitrary bit widths of classical types. In addition to the hardware-agnostic int type Open-QASM 3 also allows programmers to specify an integer with exact precision int[n] for any positive integer n. For example, uint [8] x = 0; // some time later... bit a = x [2]; // read the 3rd least-significant bit of 'x' and assign it to 'a'…”
Section: Classical Typesmentioning
confidence: 99%
“…We expect similar kinds of manipulations to be common in OpenQASM 3, and so we allow for direct access to bit-level updates within classical values. In practice, we expect target platforms for OpenQASM 3 to only support particular bit widths of each classical type: e.g., some target hardware might only allow for uint [8] and uint [16], while other targets might only offer uint [20]. This is intended to allow OpenQASM 3 to describe platform-specific code which is tailored to the registers and other resources of controllers of a quantum circuit unit.…”
Section: Classical Typesmentioning
confidence: 99%
See 1 more Smart Citation
“…These extensions are described in more detail in Section 2.2. Future planned versions will support iteration and register arguments to gates à la metaQASM [16].…”
Section: Overviewmentioning
confidence: 99%