From 1f7aaffcf3ff14ac47442ae4568aaa224e0529d5 Mon Sep 17 00:00:00 2001 From: jwoehr <4604036+jwoehr@users.noreply.github.com> Date: Wed, 16 Oct 2024 15:43:34 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20main=20from=20@=20openqasm/ope?= =?UTF-8?q?nqasm@5c4c69f398e28d1a3a1ee6f928921e29c4491d8b=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _sources/language/types.rst.txt | 59 +++++++++++++++++++++----------- index.html | 4 ++- language/types.html | 53 ++++++++++++++++------------ objects.inv | Bin 2356 -> 2401 bytes release_notes.html | 31 ++++++++++++++--- searchindex.js | 2 +- 6 files changed, 102 insertions(+), 47 deletions(-) diff --git a/_sources/language/types.rst.txt b/_sources/language/types.rst.txt index 8428a35..41d43f8 100644 --- a/_sources/language/types.rst.txt +++ b/_sources/language/types.rst.txt @@ -67,8 +67,7 @@ actual hardware; see below). The statement ``qubit[size] name;`` declares a quantum register with ``size`` qubits. Sizes must always be :ref:`compile-time constant ` positive integers. -Quantum registers are static arrays of qubits -that cannot be dynamically resized. +Quantum registers cannot be resized after declaration. The label ``name[j]`` refers to a qubit of this register, where :math:`j\in \{0,1,\dots,\mathrm{size}(\mathrm{name})-1\}` is an integer. @@ -191,7 +190,7 @@ Classical bits and registers There is a classical bit type that takes values 0 or 1. Classical registers are static arrays of bits. The classical registers model part of the controller state that is exposed within the OpenQASM program. The -statement ``bit name;`` declares a classical bit, and or ``bit[size] name;`` declares a register of +statement ``bit name;`` declares a single classical bit, while ``bit[size] name;`` declares a register of ``size`` bits. The label ``name[j]`` refers to a bit of this register, where :math:`j\in \{0,1,\dots,\mathrm{size}(\mathrm{name})-1\}` is an integer. @@ -211,6 +210,26 @@ bit is on the right. // Declare and assign a register of bits with decimal value of 15 bit[8] name = "00001111"; + +The scalar type ``bit`` logically represents a single bit of data, but no restrictions or suggestions are made for how an implementation should choose to store a variable declared as a scalar bit. +The type ``bit[n]`` behaves as if it is stored in memory as a contiguous bit-packed sequence; this is reflected in its casting rules to and from the other types. +There are no defined semantics for how ``bit`` or ``bit[n]`` types should behave if used for a parameter or return value in an ``extern`` call that implies an FFI call, and it is discouraged for implementations to allow this. +Neither scalar ``bit``\ s nor ``bit[n]`` registers can be the base type of an ``array``. + +The indexing operation on a ``bit[n]`` with an integer value returns a value of type ``bit``, and a value of type ``bit`` can be assigned to a single integer offset into a ``bit[n]`` type. + +Values being used in an expression (r-values, in C parlance) with types ``bool`` and (scalar) ``bit`` are interchangeable; whenever a value can be implicitly cast to type ``bool``, it can also implicitly be cast to type ``bit`` and vice versa. +For example, it is legal to initialize and set ``bit`` values using the integer literals ``0``, ``1``, and the Boolean literals ``false`` and ``true``. +Similarly, it is legal to use a ``bit``-valued expression as the condition of an ``if`` statement. + +.. note:: + + Despite having the same bit length, the types ``bit`` and ``bit[1]`` are distinct. + ``bit`` is a scalar that is interchangeable with ``bool``, while ``bit[1]`` is a register type of length one. + The literals ``false``, ``true``, ``0`` and ``1`` can be assigned to a value of type ``bit``, while the literals ``"0"`` and ``"1"`` are the corresponding literals for ``bit[1]``. + + The distinction is important in the type-checking of broadcast expressions, and in the implied semantics of the type. + Integers ~~~~~~~~ @@ -380,16 +399,19 @@ constant values. Boolean types ~~~~~~~~~~~~~ -There is a Boolean type ``bool name;`` that takes values ``true`` or ``false``. Qubit measurement results -can be converted from a classical ``bit`` type to a Boolean using ``bool(c)``, where 1 will -be true and 0 will be false. +There is a Boolean type ``bool name;`` that takes values ``true`` or ``false``. +The Boolean type is byte aligned, and can be the base type of an ``array``. + +When used in expressions, values of type ``bool`` can always be implicitly cast to the equivalent scalar ``bit``, and vice versa. +The difference between ``bool`` and ``bit`` is primarily about the expectations of storage requirements; ``bit`` is used when the storage is expected to be bit-packed, such as in the special register type ``bit[n]``. +``bool`` is a byte-aligned single-bit integer type. .. code-block:: bit my_bit = 0; bool my_bool; // Assign a cast bit to a boolean - my_bool = bool(my_bit); + my_bool = my_bit; .. _const-expression: @@ -750,11 +772,10 @@ can be accessed, using the following general syntax: multiDim[0, 0] = 0.0; // multiDim == {{0.0, 1.2}, {2.1, 2.2}, {3.1, 3.2}} multiDim[-1, 1] = 0.0; // multiDim == {{0.0, 1.2}, {2.1, 2.2}, {3.1, 0.0}} -The first argument to the ``array`` declaration is the base type -of the array. The supported classical types include various sizes of ``bit``, -``int``, ``uint``, ``float``, ``complex``, and ``angle``, as well as -``bool`` and ``duration``. Note that ``stretch`` is not a valid array -base type. +The first argument to the ``array`` declaration is the base type of the array. +The supported classical types include any sizes of ``int``, ``uint``, ``float``, ``complex``, and ``angle``, as well as ``bool`` and ``duration``. +Note that ``bit``, ``bit[n]`` and ``stretch`` are not valid array base types, nor are any quantum types. + Arrays cannot be resized or reshaped. Arrays are statically typed, and cannot implicitly convert to or from any other type. @@ -784,10 +805,6 @@ and for multi-dimensional arrays subarray accesses can be specified using a comma-delimited list of indices (*e.g.* ``myArr[1, 2, 3]``), with the outer dimension specified first. -For interoperability, the standard -ways of declaring quantum registers and bit registers are equivalent to the -array syntax version (*i.e.* ``qubit[5] q1;`` is the same as -``array[qubit, 5] q1;``). Assignment to elements of arrays, as in the examples above, acts as expected, with the left-hand side of the assignment operating as a reference, thereby updating the values inside the original array. For multi-dimensional arrays, @@ -1077,9 +1094,9 @@ Casting from bool ~~~~~~~~~~~~~~~~~ ``bool`` values cast from ``false`` to ``0.0`` and from ``true`` to ``1.0`` or -an equivalent representation. ``bool`` values can only be cast to ``bit[1]`` -(a single bit), so explicit index syntax must be given if the target ``bit`` -has more than 1 bit of precision. +an equivalent representation. +``bool`` values are interchangeable with scalar ``bit`` values. +Because of this, a ``bool`` can be assigned to a single index of a ``bit[]`` register type, or an explicit cast can be used to convert a ``bool`` into a ``bit[n]`` value for any ``n``, where all bits are ``0`` except for the low bit, which has the same value as the Boolean. Casting from int/uint ~~~~~~~~~~~~~~~~~~~~~ @@ -1091,7 +1108,7 @@ target type the result is implementation-specific. However, casting between ``int[n]`` and ``uint[n]`` is expected to preserve the bit ordering, specifically it should be the case that ``x == int[n](uint[n](x))`` and vice versa. Casting to ``bit[m]`` is only allowed when ``m==n``. If the target -``bit`` has more or less precision, then explicit slicing syntax must be given. +``bit[]`` has more or less precision, then explicit slicing syntax must be given. As noted, the conversion is done assuming a little-endian 2's complement representation. @@ -1154,6 +1171,8 @@ when ``n==m``, in which case an exact per-bit copy is done using little-endian bit order. Finally, casting between bits of differing precisions is not allowed, explicit slicing syntax must be given. +The scalar ``bit`` is implicitly interchangeable with ``bool``. + .. _divideDuration: Converting duration to other types diff --git a/index.html b/index.html index 2dfa82f..7ef7ef9 100644 --- a/index.html +++ b/index.html @@ -133,7 +133,9 @@

OpenQASM Live SpecificationOpenQasm 3.0 Grammar
  • Release Notes
      -
    • spec/v3.1.0-11
        +
      • spec/v3.1.0-12
      • diff --git a/language/types.html b/language/types.html index 7b68b48..47d160d 100644 --- a/language/types.html +++ b/language/types.html @@ -86,8 +86,7 @@

        Qubitssize qubits. Sizes must always be compile-time constant positive integers. -Quantum registers are static arrays of qubits -that cannot be dynamically resized.

        +Quantum registers cannot be resized after declaration.

        The label name[j] refers to a qubit of this register, where \(j\in \{0,1,\dots,\mathrm{size}(\mathrm{name})-1\}\) is an integer.

        +

        The scalar type bit logically represents a single bit of data, but no restrictions or suggestions are made for how an implementation should choose to store a variable declared as a scalar bit. +The type bit[n] behaves as if it is stored in memory as a contiguous bit-packed sequence; this is reflected in its casting rules to and from the other types. +There are no defined semantics for how bit or bit[n] types should behave if used for a parameter or return value in an extern call that implies an FFI call, and it is discouraged for implementations to allow this. +Neither scalar bits nor bit[n] registers can be the base type of an array.

        +

        The indexing operation on a bit[n] with an integer value returns a value of type bit, and a value of type bit can be assigned to a single integer offset into a bit[n] type.

        +

        Values being used in an expression (r-values, in C parlance) with types bool and (scalar) bit are interchangeable; whenever a value can be implicitly cast to type bool, it can also implicitly be cast to type bit and vice versa. +For example, it is legal to initialize and set bit values using the integer literals 0, 1, and the Boolean literals false and true. +Similarly, it is legal to use a bit-valued expression as the condition of an if statement.

        +
        +

        Note

        +

        Despite having the same bit length, the types bit and bit[1] are distinct. +bit is a scalar that is interchangeable with bool, while bit[1] is a register type of length one. +The literals false, true, 0 and 1 can be assigned to a value of type bit, while the literals "0" and "1" are the corresponding literals for bit[1].

        +

        The distinction is important in the type-checking of broadcast expressions, and in the implied semantics of the type.

        +

        Integers

        @@ -352,13 +366,15 @@

        Complex numbers

        Boolean types

        -

        There is a Boolean type bool name; that takes values true or false. Qubit measurement results -can be converted from a classical bit type to a Boolean using bool(c), where 1 will -be true and 0 will be false.

        +

        There is a Boolean type bool name; that takes values true or false. +The Boolean type is byte aligned, and can be the base type of an array.

        +

        When used in expressions, values of type bool can always be implicitly cast to the equivalent scalar bit, and vice versa. +The difference between bool and bit is primarily about the expectations of storage requirements; bit is used when the storage is expected to be bit-packed, such as in the special register type bit[n]. +bool is a byte-aligned single-bit integer type.

        bit my_bit = 0;
         bool my_bool;
         // Assign a cast bit to a boolean
        -my_bool = bool(my_bit);
        +my_bool = my_bit;
         

        @@ -764,11 +780,9 @@

        Literals multiDim[-1, 1] = 0.0; // multiDim == {{0.0, 1.2}, {2.1, 2.2}, {3.1, 0.0}} -

        The first argument to the array declaration is the base type -of the array. The supported classical types include various sizes of bit, -int, uint, float, complex, and angle, as well as -bool and duration. Note that stretch is not a valid array -base type.

        +

        The first argument to the array declaration is the base type of the array. +The supported classical types include any sizes of int, uint, float, complex, and angle, as well as bool and duration. +Note that bit, bit[n] and stretch are not valid array base types, nor are any quantum types.

        Arrays cannot be resized or reshaped. Arrays are statically typed, and cannot implicitly convert to or from any other type.

        The size of an array is constant and immutable, and is recorded once, at @@ -790,11 +804,7 @@

        Literals and for multi-dimensional arrays subarray accesses can be specified using a comma-delimited list of indices (e.g. myArr[1, 2, 3]), with the outer dimension specified first.

        -

        For interoperability, the standard -ways of declaring quantum registers and bit registers are equivalent to the -array syntax version (i.e. qubit[5] q1; is the same as -array[qubit, 5] q1;). -Assignment to elements of arrays, as in the examples above, acts as expected, +

        Assignment to elements of arrays, as in the examples above, acts as expected, with the left-hand side of the assignment operating as a reference, thereby updating the values inside the original array. For multi-dimensional arrays, the shape and type of the assigned value must match that of the reference.

        @@ -1119,9 +1129,9 @@

        Allowed casts

        Casting from bool

        bool values cast from false to 0.0 and from true to 1.0 or -an equivalent representation. bool values can only be cast to bit[1] -(a single bit), so explicit index syntax must be given if the target bit -has more than 1 bit of precision.

        +an equivalent representation. +bool values are interchangeable with scalar bit values. +Because of this, a bool can be assigned to a single index of a bit[] register type, or an explicit cast can be used to convert a bool into a bit[n] value for any n, where all bits are 0 except for the low bit, which has the same value as the Boolean.

        Casting from int/uint

        @@ -1132,7 +1142,7 @@

        Casting from int/uintint[n] and uint[n] is expected to preserve the bit ordering, specifically it should be the case that x == int[n](uint[n](x)) and vice versa. Casting to bit[m] is only allowed when m==n. If the target -bit has more or less precision, then explicit slicing syntax must be given. +bit[] has more or less precision, then explicit slicing syntax must be given. As noted, the conversion is done assuming a little-endian 2’s complement representation.

        @@ -1188,6 +1198,7 @@

        Casting from bitn==m, in which case an exact per-bit copy is done using little-endian bit order. Finally, casting between bits of differing precisions is not allowed, explicit slicing syntax must be given.

        +

        The scalar bit is implicitly interchangeable with bool.

        Converting duration to other types

        diff --git a/objects.inv b/objects.inv index 7a1a6447479178dba4fb50c2bef0d34b65ae09d7..07806f3a77cb82b6c9d103f9ec04d90bd5a6b8cf 100644 GIT binary patch delta 2284 zcmV zlhm%aX@Gu6`*Z!0o*}8r+S)`)u`d!ib2yhXLsEPG1J~D&3gIL_<)x^LRuuA~b)wFN z$*)S48e#UUjjPI!KIRGgc1oPy?I4q7H_Je?%|iKRsr*J*xqnc{EOo-{mn!_RP{HoR zQqS9k@=Kjw>hnUEi=&yl#kqwHQu#9Zg<<~yzAdHOQnoE6n_VcL7Yh{@bJ;G8kXtCe z)PwePq5LNc<3@;#E~0AXlql67fd(IDX$>mT z*axcXMjGL?nWvtst;%KIn%Neg>v}7VXHu``G}mq;4fm3)8&6ON38*0*PFK^=xhz5N z4*Q}5^aT_Z1Lj&4SBPv;SF(09z#yLt@=r{v9CZgijOjJ^8#vXLCthnq$@^vZJfd-N zpOI%Cs69TK%_`w<-N+YVx~VN zd9klWMO9Z)(=kS7PUigl`PZ+)qC2EP`gN(!oo5100$A8+M*(Qs(#jQowUI22geV9j zd*2`U1Q19rE!;zh9C@fLrJ7z$Da95p@_+yOdw-|u9FhC?uYVY+VWh2xF~A6~DX&}f z3g{EA!_wtIAVh{n$&D5N9?O!HvTUc^20f3zuJx{zc_GJ=z4~Bo78;4+s0Lkb;TA@# zxG0P98kWTarM%QT=^r}dgefGFE3((J&SRGHxk<{093gy}Zkv*@13UVhT(@9kq}-bN zhJQ?Yvo0<|mh6flO+3{%F+U*<5b^2HjoA6xvsj8k$_wRlVr6Z8q&9jN!F`hZ!UWoS zO_9iy$y(R}{=*Pr1rl|b^Gwt{m0be_*U~-9C85G{tfgq*?2C0Pj1nmZzyhD}o&i4i zw$XKNyEx~HnrkLmD&0=Xnkb^eU@W0b5`WjMr)z96gAcon!iobfV427qv8?keB*(`t zM~b)JeArwyFcGG@O(mVmR{SaE&~{i%z1>>}-Vpr|0DrQeGW)?3?Z;3t4?>mcvh8}H ze-D9RjnN20)rD`Z+nz~e6Np;1PR`}jSmhav$I-&^E#iW-gcmR3o7EGft{RU*2!Aof zVY=qmKcD>ifTyS^2eGuzxQ>F(5#KFyv<6tmO4uu4+!4rK}j^o6DC9N3Y^CzZGjAZPk-J++C*jV z^J~EYwmUBQ1jmCH{s*S+k3x2)`8*^y`)8#qs^=m z&ZryqCRd_(d++oC{p4?NR8W0;pSKOE2ws#rg#jKpgtC&tw&qwg>5w~$W+zNW4vH}j zh^77={S{3G(Tvly2ZyeY_J1!0T338q`w8^CwqiyWL}9ZU1CJr8jHAmxC8+@6J*)k8 zYy%=jwnCM@4TDBFuo{Xn3nxQrow0IIfCf7R42ac51<@#4B((J;SU5IgD(e}#3jeeZ z12vh))Sb(~;8Z&Yes$1eH1Zvlk3G#$r3T-JHP{f*Y`nnZ;6T_N`hV6CJ4NT#)Ox}n z2#{^!ULTLHGX@%<4jM6+2AwdOgA~)&F(QGVJIH&?^WdwhhhXwQPku4}*1BRu{A9p- zZ-sx%zd#QXCfoRfM<~~@PlwA&A+clU^5zh#8}%Uk89lNBC0Ggba1hUR=7q--LF4O2 z*53$Q@w3$le;Vc)ZhsWDKPsD9x2;iuGn8b>c5h}j1TW5z!)zPtn zpC6q3M(WCh#&raupAIk={X08k<)rq&SN@b9*{G~;W$JJy=zn|}$Jk*t9#QM+bhyoT z#Wx*ww1e6oyC?Db*?~PTyl_YQUNRirCqd$=-XnPJq{JDZ93N`za4)64K5AaW3O3Wt zw3U7);9ue~-aEQO`N-MZU(Ke`rarCl%Q(v8D4Y6xHH~-c^A^7xebPFt=}G;e+W9Ll zL=lQr&nlfy^nbTzpL7#J@hj9W_NCD2n$13Z|BCzOj3)CUs_<{T3iByV2Fl-6A0?gi z7pHyX!h3vsvBzz>K6KGY91Sd;t$=++t?}XZY<0RiNlrgGgo~0_UNV>)hY~-OkaDs; zOHPxZe1P@Ng|5<;Zn-zNW3+I|1TaZ}`3!)c)6=`xt$%UcT}$Eo@#}vr4Wy(;qEqze z@#WnHv<)`RJWl>U3nEmQcM<+F+8Z=|$4JsrXRnWal9eHjgc zG!#|iIeLcf(ggj$ z`Xme+Pi5B;lX2Ueu=>b<5_ejs6X~NgZchoWE}QqaAgCmVDv5_N5`C=yc0Ld1mJWbu zJ_&zW%>MJkvVMb^qw`(A8{zuvKUrfpKK^IR!Fh+&gAxx)Y^zm1`#+xVAnd;pU%FjOM3H$e)IQ_PROqSiQ1I>0T<(swgJAYy2N*%M-33FVl@Y_lS zdk||qZ&%8%b$YGOD_t&5X6_E>Rx(KC>*QC4{S)}MmTqg=ww7#mrFdSfR9MYryD~y< zrTAJ8+Vhq2|5z!1u}*$vcvkXfC4C@K%ETQT$*s$ulp>WSPe!UV)z|MclD143BaVqJ zRi^4O;?Sg zT&YTO4- zs6=C*sID7ngwtl3dam{=mw9UzTYRbOy)>Rly_(ZpyPY)LOR{b}K^-KZhIBYx%|qw1 z1id@#s}9f?P*e<GQk%73j(er-`dTP1TgV5ASHfP&kdHqHZc;W&cA&mUj#MypPs)OCSKk;KM(m1o65 ze@OD`Sc{6PuB4`8jLe+O`Q^)R-h@RDNQ3n2Qk^@`1e^r0u+feJ(6ptM8~$b|SsV#b z5JvXCKk^A6kX%~0hY&gPP+3Yf{V=5zd$`E|`hWe8gQ{~x?yukfWTb|XwjRa+BfO@3 z*P>TIpKu+PE(Zc3GBiqVZ1{h$EJ-QL4$AG&^Z46ZA4-`QaxB@a59Vf}kr<9@(B&R( zVYG^ivKX&nS$t5+OMQ_3qccvJLL#{$dn@ZaW+`8qqDn7(%Q-qNX{|M9ov#H9&AJJ+fR9DlErZiuTRESogvxkzxQW@Col3 z;Dc`)UFWuobFQelW|F1S9i*&@A}S2V5`W4ham{+V#uhX9aM&rVIN$=7iOdnpI=@14 zeC%?hc<;@J%~b;vVXE6z(y462pJNVfhsD&}qjlg7(GLOeCkraG?>*6e2o>`vRGBW@ zt_S+xArP!F8eyoq@NIS5Gl^^hQLEO;rJNe8ynyjIS~$K(T#%OV!;AQ4^$e-2#($#_ zLQHX(uKBy4&VG5sQ&g0445_ZQkv~T!6#><&#}pcc@~`h5={piDFuo+g1x0I`w*pat79AYoeuT_6@9!fVSX0aa{V1>7BF@LpPy|g+yS-Vl-N7?ser*^WNz9;qm0dgP$SmK=GMg(xS`J zW>yJj)Gd3TD^YxSaQ=w?x9UYAD7moD8XT#>znf8tf1-AXXO@M5Abt(AJY+;n}iH7HTXWP!G?%t;{~1u2Y!{=T06k~)R1X7PjPRL<+b+9*J05GDxI3S^IS=C41^n(Yixnp$RQ$#6oE>IW zN5=|&IXU@_)RhU1>jXqU9bm5d-)zdtS?z(Z{5gHHQCZ!|)PHm)=zJB&*t8l?sC9KZ z+~&LDn~yr$LG6#-vv~dNz@ArLxFdZp8IJC=An{c15xjO%;tWuZ4>fkUmr`FJHLqa> zo9SlWN}u-<&1q=To>SdE+I6xp64*LkTG- z`-|i}3Ca_!zg_4iZRwVKdpAZamrMYY1eh-X_%Hfm6Mu{`ZSI5f*U`q8G{k(dBx$L$ zx2N7?`*Na3!5~OOQ8gYR7wA5Zk|X7z7?uDGmE!pkPW=H*(xyMf2xGCv!u%`hn^tB| zD5NLPHXW5dgQO4s&~v+Hkc>OVjMXQe;T-=r{m~=9BPRzxdtXvc9)2(fO`##JKtS*IH~ur~l6|+3HC>DDj}g_FCnO|Gn`Y Ng#A-0`#&e1P00j(XxIP% diff --git a/release_notes.html b/release_notes.html index f90d804..a80f253 100644 --- a/release_notes.html +++ b/release_notes.html @@ -34,10 +34,31 @@

        Release Notes

        -
        -

        spec/v3.1.0-11

        +
        +

        spec/v3.1.0-12

        +
        +

        New Features

        +
          +
        • The types bool and (scalar) bit are now explicitly described as being completely +interchangeable in expression (r-value) positions, and that bit and bit[1] are distinct +types. The difference between the types bool and bit is only in their intended storage +mechanisms; bit is the scalar of the register-type bit[n], which is explicitly a +bit-packed type, so cannot be used as the base type of an array, while bool is a +byte-aligned single-bit integer-like type. bit[1] is a register (sequence) type that +happens to be of length one.

        • +
        +
        +
        +

        Upgrade Notes

        +
          +
        • The qubit type is no longer a valid base type for an array, and it is no longer stated +that the register type qubit[n] is equivalent to an array; there is no need for these +semantics, and they clashed with the classical considerations and alignment concerns of arrays +in general.

        • +
        +
        -

        Bug Fixes

        +

        Bug Fixes

        • Some minor mathematical errors in the descriptions of the explicit gate actions in sdg, rx, ry, rz, crx and @@ -70,7 +91,9 @@

          Navigation

        • Language
        • OpenQasm 3.0 Grammar
        • Release Notes
            -
          • spec/v3.1.0-11
              +
            • spec/v3.1.0-12
            • diff --git a/searchindex.js b/searchindex.js index 6eff283..730e23c 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"API Documentation": [[13, "api-documentation"]], "Aliasing": [[15, "aliasing"]], "Allowed casts": [[15, "allowed-casts"]], "Angles": [[3, "angles"], [15, "angles"]], "Annotations": [[6, "annotations"]], "Applying gates": [[7, "applying-gates"]], "Array concatenation and slicing": [[15, "array-concatenation-and-slicing"]], "Arrays": [[15, "arrays"]], "Arrays in subroutines": [[14, "arrays-in-subroutines"]], "Barrier": [[10, "barrier"]], "Barrier instruction": [[5, "barrier-instruction"]], "Bibliography": [[1, "bibliography"]], "Block scope": [[12, "block-scope"]], "Boolean types": [[15, "boolean-types"]], "Boxed expressions": [[5, "boxed-expressions"]], "Breaking and continuing loops": [[3, "breaking-and-continuing-loops"]], "Broadcasting": [[7, "broadcasting"]], "Bug Fixes": [[16, "bug-fixes"]], "Built-in constant expression functions": [[15, "built-in-constant-expression-functions"]], "Built-in constants": [[15, "built-in-constants"]], "Built-in gates": [[7, "built-in-gates"]], "Built-in mathematical functions in OpenQASM3.": [[15, "id7"]], "Built-in quantum instructions": [[9, "built-in-quantum-instructions"]], "Calibrations in practice": [[11, "calibrations-in-practice"]], "Capture Instruction": [[10, "capture-instruction"]], "Casting from angle": [[15, "casting-from-angle"]], "Casting from bit": [[15, "casting-from-bit"]], "Casting from bool": [[15, "casting-from-bool"]], "Casting from float": [[15, "casting-from-float"]], "Casting from int/uint": [[15, "casting-from-int-uint"]], "Casting specifics": [[15, "casting-specifics"]], "Circuit timing": [[5, "circuit-timing"]], "Classical bits and registers": [[3, "classical-bits-and-registers"], [15, "classical-bits-and-registers"]], "Classical instructions": [[3, "classical-instructions"]], "Classical scalar types": [[15, "classical-scalar-types"]], "Classical value bit slicing": [[15, "classical-value-bit-slicing"]], "Collisions": [[10, "collisions"]], "Comments": [[4, "comments"]], "Comparison (Boolean) Instructions": [[3, "comparison-boolean-instructions"]], "Compile-time constants": [[15, "compile-time-constants"]], "Complex numbers": [[3, "complex-numbers"], [15, "complex-numbers"]], "Contributors": [[2, "contributors"]], "Control modifiers": [[7, "control-modifiers"]], "Converting duration to other types": [[15, "converting-duration-to-other-types"]], "Cross-resonance gate": [[10, "cross-resonance-gate"]], "Defining gates": [[7, "defining-gates"]], "Delay": [[10, "delay"]], "Delays (and other duration-based instructions)": [[5, "delays-and-other-duration-based-instructions"]], "Design Goals": [[2, "design-goals"]], "Directives": [[6, "directives"]], "Duration": [[15, "duration"]], "Duration and stretch types": [[5, "duration-and-stretch-types"]], "Evaluation order": [[3, "evaluation-order"]], "Examples": [[10, "examples"]], "Extern function calls": [[3, "extern-function-calls"]], "Floating point numbers": [[15, "floating-point-numbers"]], "Floating-point numbers": [[3, "floating-point-numbers"]], "For loops": [[3, "for-loops"]], "Frame Initialization": [[10, "frame-initialization"]], "Frame Manipulation": [[10, "frame-manipulation"]], "Frames": [[10, "frames"]], "Gates": [[7, "gates"]], "Generalities": [[3, "generalities"]], "Geometric gate": [[10, "geometric-gate"]], "Global scope": [[12, "global-scope"]], "Hierarchical gates definitions": [[7, "hierarchical-gates-definitions"]], "Identifiers": [[15, "identifiers"]], "If-else statements": [[3, "if-else-statements"]], "Implementation Details": [[2, "implementation-details"]], "Included files": [[4, "included-files"]], "Index sets and slicing": [[15, "index-sets-and-slicing"]], "Initial Time": [[10, "initial-time"]], "Initialization": [[9, "initialization"]], "Inline calibration blocks": [[11, "inline-calibration-blocks"]], "Input/output": [[6, "input-output"]], "Integers": [[3, "integers"], [15, "integers"]], "Introduction": [[2, "introduction"]], "Inverse modifier": [[7, "inverse-modifier"]], "Language": [[8, "language"]], "Literals": [[15, "literals"]], "Looping and branching": [[3, "looping-and-branching"]], "Low-level classical instructions": [[3, "low-level-classical-instructions"]], "Measurement": [[9, "measurement"]], "Multiplexed readout and capture": [[10, "multiplexed-readout-and-capture"]], "Neutral atoms": [[10, "neutral-atoms"]], "Notes for implementations": [[13, "notes-for-implementations"]], "Open Questions": [[10, "open-questions"]], "OpenPulse Grammar": [[10, "openpulse-grammar"]], "OpenQASM 2.0 compatibility": [[13, "openqasm-2-0-compatibility"]], "OpenQASM Live Specification": [[1, "openqasm-version-specification"]], "OpenQasm 3.0 Grammar": [[0, "openqasm-3-0-grammar"]], "Operations on durations": [[5, "operations-on-durations"]], "Parameterized gates": [[7, "parameterized-gates"]], "Phase tracking": [[10, "phase-tracking"]], "Physical Qubits": [[15, "physical-qubits"]], "Physical qubit constraints": [[15, "physical-qubit-constraints"]], "Play and Capture": [[10, "play-and-capture"]], "Play instruction": [[10, "play-instruction"]], "Ports": [[10, "ports"]], "Power modifier": [[7, "power-modifier"]], "Pragmas": [[6, "pragmas"]], "Pulse-level descriptions of gates and measurement": [[11, "pulse-level-descriptions-of-gates-and-measurement"]], "Quantum gate modifiers": [[7, "quantum-gate-modifiers"]], "Quantum types": [[15, "quantum-types"]], "Qubits": [[15, "qubits"]], "Rabi Spectroscopy": [[10, "rabi-spectroscopy"]], "Register concatenation and slicing": [[15, "register-concatenation-and-slicing"]], "Relation of the built-in gates to hardware-native gates": [[7, "relation-of-the-built-in-gates-to-hardware-native-gates"]], "Release Notes": [[16, "release-notes"]], "Restrictions on defcal bodies": [[11, "restrictions-on-defcal-bodies"]], "Scope": [[2, "scope"]], "Scoping of variables": [[12, "scoping-of-variables"]], "Single-qubit gates": [[13, "single-qubit-gates"]], "Standard library": [[13, "standard-library"]], "Stretch": [[15, "stretch"]], "Subroutine and gate scope": [[12, "subroutine-and-gate-scope"]], "Subroutines": [[14, "subroutines"]], "Terminating the program early": [[3, "terminating-the-program-early"]], "The Switch statement": [[3, "the-switch-statement"]], "Three-qubit gates": [[13, "three-qubit-gates"]], "Timing": [[10, "timing"]], "Two-qubit gates": [[13, "two-qubit-gates"]], "Types and Casting": [[15, "types-and-casting"]], "Types related to timing": [[15, "types-related-to-timing"]], "Variables": [[15, "variables"]], "Version string": [[4, "version-string"]], "Versioning": [[13, "versioning"]], "Void type": [[15, "void-type"]], "Waveforms": [[10, "waveforms"]], "While loops": [[3, "while-loops"]], "[operator-precedence] operator precedence in OpenQASM ordered from highest precedence to lowest precedence. Higher precedence operators will be evaluated first.": [[3, "id8"]], "[tab:real-constants] Built-in real constants in OpenQASM3 of type float[64].": [[15, "id6"]], "spec/v3.1.0-11": [[16, "spec-v3-1-0-11"]]}, "docnames": ["grammar/index", "index", "intro", "language/classical", "language/comments", "language/delays", "language/directives", "language/gates", "language/index", "language/insts", "language/openpulse", "language/pulses", "language/scope", "language/standard_library", "language/subroutines", "language/types", "release_notes"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinxcontrib.bibtex": 9}, "filenames": ["grammar/index.rst", "index.rst", "intro.rst", "language/classical.rst", "language/comments.rst", "language/delays.rst", "language/directives.rst", "language/gates.rst", "language/index.rst", "language/insts.rst", "language/openpulse.rst", "language/pulses.rst", "language/scope.rst", "language/standard_library.rst", "language/subroutines.rst", "language/types.rst", "release_notes.rst"], "indexentries": {"ccx": [[13, "ccx", false]], "ch": [[13, "ch", false]], "cp": [[13, "cp", false]], "cphase": [[13, "cphase", false]], "crx": [[13, "crx", false]], "cry": [[13, "cry", false]], "crz": [[13, "crz", false]], "cswap": [[13, "cswap", false]], "cu": [[13, "cu", false]], "cx": [[13, "CX", false], [13, "cx", false]], "cy": [[13, "cy", false]], "cz": [[13, "cz", false]], "gphase": [[7, "gphase", false]], "h": [[13, "h", false]], "id": [[13, "id", false]], "p": [[13, "p", false]], "phase": [[13, "phase", false]], "rx": [[13, "rx", false]], "ry": [[13, "ry", false]], "rz": [[13, "rz", false]], "s": [[13, "s", false]], "sdg": [[13, "sdg", false]], "swap": [[13, "swap", false]], "sx": [[13, "sx", false]], "t": [[13, "t", false]], "tdg": [[13, "tdg", false]], "u": [[7, "U", false]], "u1": [[13, "u1", false]], "u2": [[13, "u2", false]], "u3": [[13, "u3", false]], "x": [[13, "x", false]], "y": [[13, "y", false]], "z": [[13, "z", false]]}, "objects": {"": [[13, 0, 1, "", "CX"], [7, 0, 1, "", "U"], [13, 0, 1, "", "ccx"], [13, 0, 1, "", "ch"], [13, 0, 1, "", "cp"], [13, 0, 1, "", "cphase"], [13, 0, 1, "", "crx"], [13, 0, 1, "", "cry"], [13, 0, 1, "", "crz"], [13, 0, 1, "", "cswap"], [13, 0, 1, "", "cu"], [13, 0, 1, "", "cx"], [13, 0, 1, "", "cy"], [13, 0, 1, "", "cz"], [7, 0, 1, "", "gphase"], [13, 0, 1, "", "h"], [13, 0, 1, "", "id"], [13, 0, 1, "", "p"], [13, 0, 1, "", "phase"], [13, 0, 1, "", "rx"], [13, 0, 1, "", "ry"], [13, 0, 1, "", "rz"], [13, 0, 1, "", "s"], [13, 0, 1, "", "sdg"], [13, 0, 1, "", "swap"], [13, 0, 1, "", "sx"], [13, 0, 1, "", "t"], [13, 0, 1, "", "tdg"], [13, 0, 1, "", "u1"], [13, 0, 1, "", "u2"], [13, 0, 1, "", "u3"], [13, 0, 1, "", "x"], [13, 0, 1, "", "y"], [13, 0, 1, "", "z"]]}, "objnames": {"0": ["oq", "gate", "OpenQASM gate"]}, "objtypes": {"0": "oq:gate"}, "terms": {"": [0, 1, 3, 5, 6, 9, 10, 11, 12, 13, 15], "0": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15], "0000": 3, "00000000": 3, "00001111": 15, "0001": 3, "00010001": 15, "00011110": 3, "0001_0001": 15, "0010": 3, "0010_1010": 15, "0011": 3, "00111110": 3, "00111111": 15, "01": 0, "0100": 3, "010000": 15, "01000000": 15, "0101_0001": 15, "0111": 3, "01110000": [3, 15], "03429": 2, "03452v1": 1, "044006": 1, "05": 11, "05im": 11, "0625": 15, "0b": [0, 15], "0b00": 3, "0b01": 3, "0b0110_1001": 15, "0b10": 3, "0b11": 3, "0b1101": 15, "0b1111": 15, "0e": 15, "0e9": [10, 11], "0im": [3, 10, 15], "0n": 10, "0o": [0, 15], "0o73": 15, "0x": [0, 15], "0xaf": 15, "0xbeef": 15, "0xf": 15, "0xff": 15, "0xffff_ffff": 15, "1": [1, 2, 3, 5, 6, 7, 10, 11, 12, 14, 15], "10": [1, 3, 9, 12, 14, 15], "100": [10, 12], "1000": [3, 5, 15], "10001111": 3, "1000dt": 15, "1000m": [5, 15], "1001": 3, "100101": 3, "100dt": 10, "100e": 10, "100n": 10, "1010": [3, 15], "101100": 3, "1024dt": 10, "1038": 1, "10694695640729072": 3, "1088": 1, "10u": 10, "11": 1, "1110": 3, "11111111": 3, "1114571327": 1, "1145": 1, "11971": 1, "12": [3, 5, 12, 15], "123": 0, "12345678": 6, "1234_5678": 0, "123e": 0, "123e5": 0, "127": 15, "128dt": 10, "1316": 3, "13952dt": 10, "13e": 10, "13n": 10, "14": [1, 6, 11], "1415926535": 15, "145": 0, "15": [3, 15], "150n": 5, "16": [2, 3, 12, 15], "16000dt": 10, "160dt": 11, "160t": 11, "16n": 10, "1707": 2, "17536481119721312im": 3, "18": [1, 10], "1809": 1, "182": 1, "184": 1, "1984": 1, "1989": 1, "1995": 1, "1_00": 0, "1_000_000": 15, "1_123e": 0, "1dt": 10, "1e3": 0, "1e6": 10, "1e9": [10, 11], "1im": [10, 11], "1m": 10, "1n": 15, "2": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15], "20": [1, 3, 10, 11, 15], "200": [5, 12], "2003": 1, "200dt": 5, "2014": 1, "2018": 1, "2020": 1, "2021": 1, "2022": 1, "2058": 1, "20dt": 10, "240dt": 11, "25": 15, "250n": 5, "256": 15, "262dt": 10, "283185": 15, "283185307179586": 15, "29n": 10, "2c": 15, "2e": 15, "2e10": 15, "2e9": [10, 11], "2im": 11, "2x3x4": 15, "2\u03c0": [7, 10], "3": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "30": 3, "300e6": 10, "300n": 5, "301": 10, "31": 15, "3123939": 1, "3123952": 1, "32": [3, 6, 10, 11, 14, 15], "32dt": 10, "32e": 0, "32n": 10, "36": 12, "37": 3, "3x2": 15, "4": [0, 1, 2, 3, 5, 6, 7, 10, 12, 13, 14, 15], "400": 12, "40dt": 11, "4294967296": 3, "4294967306": 3, "44": 3, "456": 0, "4n": 10, "4x3x2": 15, "4\u03c0": 7, "5": [1, 2, 3, 5, 10, 11, 12, 14, 15], "500": 15, "500n": 15, "50th": 1, "512": 15, "53": 3, "55": [3, 12], "560dt": 11, "5e": 15, "5e9": 10, "5im": 15, "5p1": 10, "5s1": 10, "6": [3, 10, 12, 15], "60": 3, "63": 15, "64": [2, 3, 10, 12], "6e9": 10, "7": [0, 3, 15], "7182818284": 15, "754": 15, "8": [3, 10, 12, 14, 15], "80": 3, "800dt": 5, "9": [0, 3, 10, 12, 15], "95": [1, 7], "9565": 1, "9a": 0, "9e9": 11, "A": [0, 1, 2, 3, 4, 5, 6, 7, 10, 12, 13, 14, 15], "AND": 3, "AT": 0, "As": [0, 3, 5, 7, 10, 11, 12, 15], "At": [2, 10], "But": 10, "By": [5, 11], "FOR": 0, "For": [0, 2, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15], "IF": 0, "IN": 0, "If": [2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15], "In": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 15], "It": [0, 2, 3, 5, 10, 11, 12, 15], "Its": [2, 13], "NOT": 15, "No": [6, 12, 15], "Not": 12, "OR": 3, "One": [10, 11], "Or": 10, "Such": 15, "That": [3, 7], "The": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "There": [0, 5, 7, 10, 12, 15], "These": [0, 3, 6, 10, 12, 13, 15], "To": [7, 11, 15], "With": 15, "_": [0, 10, 13, 15], "_a": 13, "_b": 13, "_n": 15, "_no_": 0, "_py3": 1, "a_in_": 15, "a_in_n": 15, "aa": [14, 15], "aba404": 1, "abhari": [1, 2], "abil": [5, 10, 11], "abl": [0, 3, 7, 14, 15], "about": [0, 5, 7, 10, 13, 14], "abov": [3, 6, 12, 13, 15], "absolut": 10, "abstract": 10, "accept": [2, 6, 7, 12, 15], "access": [1, 3, 10, 11, 12, 14, 15], "accommod": [3, 15], "accord": [14, 15], "account": [5, 6], "accru": 10, "accumul": [0, 7], "achiev": [2, 11], "acm": 1, "acousto": 10, "acquir": 3, "acquisit": 10, "across": [5, 6, 11], "act": [2, 5, 7, 10, 15], "action": [13, 16], "activ": [10, 12], "actual": [0, 5, 15], "actuat": 10, "ad": [2, 6, 7, 10, 12, 13], "add": [5, 7, 10], "addison": 1, "addit": [3, 6, 7, 10, 12, 13, 15], "addition": [14, 15], "additiveexpress": 0, "address": [3, 10], "adjoint": 13, "adjust": 10, "admit": 2, "advanc": 10, "advantag": [7, 10], "affect": [3, 5, 12], "aforement": 15, "after": [3, 4, 5, 6, 10, 12, 14], "again": [0, 7, 10, 12], "agre": 10, "aim": [2, 5, 10], "ajallooiean": 2, "ak": [1, 10], "akin": 10, "al": 10, "albeit": 7, "alberto": 1, "alexand": [1, 2], "algorithm": [2, 6], "ali": [1, 2], "alia": [3, 12, 13, 15], "alias": [0, 1, 3, 8, 12, 13], "aliasdeclarationstat": 0, "aliasexpress": 0, "alic": 6, "align": [5, 10, 13, 15], "alignedat": 13, "all": [0, 2, 3, 5, 6, 7, 10, 11, 12, 13, 14, 15], "all_qubit": 12, "allevi": 5, "alloc": [10, 12, 14, 15], "allow": [0, 2, 3, 5, 6, 7, 8, 10, 11, 12, 14], "along": 7, "alreadi": [0, 12], "also": [0, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15], "alsolastelem": 15, "alsolastlastelem": 15, "alsosignbit": 15, "altern": [0, 5, 10, 13], "although": 7, "alwai": [0, 2, 3, 14, 15], "al\u00e1n": 1, "ambigu": 0, "amongst": 15, "amort": 6, "amount": [10, 11], "amp": [5, 10, 11], "ampersand": 0, "amplif": 2, "amplifi": 10, "amplitud": 10, "an": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "analog": [3, 10, 11, 15], "analogi": 10, "analysi": [0, 7], "ancilla": 14, "andrew": 2, "ang": [3, 10], "angl": [0, 6, 7, 8, 10, 11, 13, 14], "angle_as_uint": 15, "anharm": 10, "ani": [0, 2, 3, 5, 6, 7, 10, 13, 14, 15], "annex": 3, "annoi": 0, "annot": [0, 1, 8], "annotationkeyword": 0, "annual": 1, "anonym": [7, 12], "anoth": [3, 5, 10, 11, 15], "anotherthre": 15, "anothertwod": 15, "ansatz": 6, "anticip": 14, "antlr": 0, "antlr4": 0, "antonio": 1, "anywher": 3, "aod": 10, "aod_port": 10, "api": [1, 8], "app": 8, "appear": [0, 3, 4, 5, 7, 10, 15], "appendix": 8, "appli": [1, 3, 5, 6, 8, 10, 11, 13, 15], "applic": [2, 10, 13], "appropri": [3, 5, 10, 15], "approxim": [7, 12, 15], "ar": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "arb_waveform": 10, "arbitrari": [0, 5, 7, 10, 11], "arbitrary_str": 0, "arbitrary_string_whitespac": 0, "arcco": 15, "architectur": [13, 15], "arcsin": 15, "arctan": 15, "argument": [0, 3, 5, 7, 9, 10, 13, 14, 15], "argumentdefinit": 0, "argumentdefinitionlist": 0, "arithmet": [3, 5, 15], "around": [5, 13], "arr": 14, "arr_arg": 14, "arr_subroutin": 14, "arrai": [0, 1, 3, 7, 8, 10, 12], "arrayliter": 0, "arrayreferencetyp": 0, "arraytyp": 0, "arriv": 3, "arrow": 0, "arxiv": [1, 2], "ascii": 15, "aspect": 5, "aspuru": 1, "assembli": 8, "assert": 6, "assign": [0, 3, 5, 9, 13, 14, 15], "assignmentstat": 0, "assoc": 0, "associ": [3, 7, 10, 12, 14, 15], "assum": [4, 5, 6, 7, 10, 15], "ast": 0, "asterisk": 0, "atom": 8, "attach": [2, 5, 6, 10, 15], "attempt": [0, 2, 5, 13, 15], "attribut": 10, "august": 1, "auto": 0, "automat": [1, 3, 11, 13, 15], "avail": [3, 9, 10, 12, 13, 15], "averag": 10, "avoid": [0, 6, 7], "aw": 2, "awar": 0, "axi": [10, 13], "b": [1, 3, 5, 6, 7, 9, 10, 12, 13, 15], "b1": 15, "b2": 15, "ba": 13, "back": [11, 12], "backend": [0, 1, 3, 5, 10, 11, 15], "background": 2, "backtrack": 5, "backward": [6, 9, 13, 15], "balanc": 0, "barenco": 1, "barrier": [0, 1, 8, 11], "barrierstat": 0, "base": [0, 1, 2, 3, 7, 8, 10, 13, 14, 15], "bashig": 2, "basi": [0, 6, 7, 9, 14], "basic": 3, "bb": [14, 15], "bbc": [1, 7], "beaudrap": 2, "becam": 13, "becaus": [0, 5, 7, 10, 11, 12, 14, 15], "becom": [2, 3, 5, 7, 12], "been": [2, 3, 10, 12], "befor": [0, 3, 5, 7, 9, 12], "begin": [4, 5, 6, 7, 10, 12, 13, 15], "behav": [7, 10, 12, 15], "behavior": [3, 6, 15], "behaviour": [2, 15], "being": [0, 10, 12, 13, 14, 15], "bello": 1, "belong": 3, "below": [3, 5, 11, 13, 14, 15], "bennett": 1, "best": 1, "beta": [10, 11], "better": 0, "between": [0, 2, 3, 5, 6, 7, 10, 12, 13, 15], "beyond": 5, "bibbi": 1, "bidirect": 10, "biercuk": 1, "bigl": 13, "bigr": 13, "bill": 6, "binari": [3, 6, 15], "binaryintegerliter": 0, "bind": [0, 6, 10, 11], "bishop": [1, 2], "bit": [0, 1, 6, 7, 8, 9, 10, 11, 14], "bit_arrai": 15, "bitshiftexpress": 0, "bitshiftoper": 0, "bitstr": 15, "bitstringliter": 0, "bitwis": [3, 15], "bitwiseandexpress": 0, "bitwiseorexpress": 0, "bitwisexorexpress": 0, "blake": 2, "blank": 5, "bloch": 10, "block": [0, 1, 3, 4, 7, 8, 10], "blockcom": 0, "bodi": [0, 1, 3, 7, 8, 12, 14, 15], "bookkeep": 10, "bool": [0, 3, 8], "boolean": [7, 8], "booleanliter": 0, "bootstrap": 11, "both": [0, 2, 3, 6, 7, 9, 10, 13, 14, 15], "bottom": 9, "bound": 10, "boundari": 15, "box": [0, 1, 6, 8, 12], "boxcar": 10, "boxstat": 0, "brace": [0, 3, 15], "bracket": [3, 5, 12, 15], "braket": 5, "branch": [1, 7, 8, 10, 11], "break": [0, 8], "breakstat": 0, "brief": 15, "briefli": 10, "brien": 1, "british": 1, "broadcast": [8, 9], "broader": 2, "broadli": 12, "buffer": 10, "bug": 1, "build": [3, 6, 7], "built": [1, 8, 12, 13, 14], "builtin": [0, 13, 15], "bulk": 0, "burden": 0, "c": [0, 1, 3, 5, 7, 9, 12, 13, 14, 15], "c1": [3, 15], "c2": [14, 15], "c99": [3, 15], "c_1": 7, "c_2": 7, "c_n": 7, "c_u": 7, "cal": [0, 10, 11, 12], "cal_block": 0, "cal_block_rbrac": 0, "cal_prelud": 0, "cal_prelude_com": 0, "cal_prelude_lbrac": 0, "cal_prelude_whitespac": 0, "calcul": [0, 1, 2, 5, 7], "calibr": [0, 1, 2, 5, 8, 10, 12, 15], "calibrationblock": 0, "calibrationgrammarstat": 0, "call": [0, 1, 5, 7, 8, 10, 11, 13, 14, 15], "callexpress": 0, "calstat": 0, "cambridg": 1, "can": [0, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15], "cancel": 5, "cannot": [0, 2, 7, 10, 12, 14, 15], "cao": 2, "cap": [0, 13], "cap0": 10, "capelluto": 1, "captur": [1, 5, 8, 11], "capture_fram": 10, "capture_v0": 10, "capture_v1": 10, "capture_v2": 10, "capture_v3": 10, "capture_v4": 10, "care": [5, 7], "caret": 0, "carri": 3, "carrier": 10, "case": [0, 2, 3, 5, 6, 7, 8, 10, 11, 14, 15], "cast": [1, 3, 8], "castexpress": 0, "categori": [1, 15], "caus": [0, 3, 11, 13], "cb": 13, "cba": 13, "cc": 7, "ccx": 13, "cdot": 15, "ceil": 15, "center": [2, 5, 9, 10], "certain": [0, 6, 7, 12, 15], "ch": 13, "chain": 10, "challeng": 5, "chang": [3, 6, 10, 11, 13, 16], "char": 0, "charact": [1, 5, 15], "character": 5, "check": [0, 14], "chen": 1, "choic": [2, 6, 7], "choos": [6, 10, 11, 15], "chosen": [10, 11, 13, 15], "chow": 1, "christoph": 1, "cin": 14, "circuit": [1, 2, 3, 6, 7, 8, 9, 10, 11, 15], "circular": 3, "cite": 10, "clash": 13, "class": 14, "classic": [0, 1, 2, 6, 7, 8, 11, 14], "classicaldeclarationstat": 0, "classifi": [10, 11], "clear": 10, "clearli": 3, "cleve": 1, "clock": 10, "close": [3, 12, 15], "closest": [3, 15], "cloud": 1, "cnot": [5, 6, 7, 15], "co": [13, 15], "code": [0, 3, 5, 7, 10, 13], "coher": [3, 10], "collaps": 10, "collect": 11, "collis": 8, "colm": 2, "colon": [0, 13], "combin": [3, 5, 10, 15], "comma": [0, 3, 7, 15], "command": 10, "comment": [0, 1, 8], "common": 10, "commonli": 3, "commun": [1, 2, 6, 10, 11], "commut": [5, 7], "compact": 7, "companion": 12, "compar": 3, "comparison": 8, "comparisonexpress": 0, "comparisonoper": 0, "compat": [2, 6, 8, 9, 15], "compil": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 14], "compile_qasm": 6, "complement": 15, "complet": [2, 12], "complex": [0, 2, 5, 8, 10, 11], "compliant": 15, "complic": [5, 6], "compon": [3, 10, 11, 15], "compos": [5, 10, 11], "compound": 3, "compoundassignmentoper": 0, "compris": 7, "comput": [0, 1, 2, 3, 6, 7, 9], "con22": [1, 15], "concat": 15, "concaten": [1, 3, 8], "concept": [5, 10], "conceptu": 10, "concern": 13, "concis": 15, "conclus": 12, "concurr": [2, 3], "condit": [3, 7], "conduct": 0, "confer": 1, "configur": [10, 11], "confus": 15, "connect": [3, 10, 11], "consecut": 15, "consequ": 11, "consid": [5, 6, 10, 11, 13, 15], "consider": 2, "consist": [0, 5, 10, 13, 14, 15], "const": [0, 2, 3, 5, 10, 11, 12, 14, 15], "constant": [0, 1, 2, 3, 5, 7, 8, 10, 11, 12], "constdeclarationstat": 0, "constitut": 7, "constrain": [5, 7, 15], "constraint": [5, 8], "construct": [0, 7, 10, 11, 12], "consult": [2, 6, 15], "consum": [0, 6], "contain": [0, 3, 5, 7, 10, 11, 12, 15], "content": [0, 4, 11, 13, 15], "context": [0, 5, 7, 10, 14], "continu": [0, 4, 6, 8, 15], "continuestat": 0, "contrari": 5, "contrast": 13, "contribut": 2, "contributor": 1, "control": [0, 2, 3, 5, 8, 10, 11, 12, 13, 14, 15], "control_flag": 6, "convei": 10, "conveni": [7, 13, 15], "convent": [0, 10, 13, 15], "convention": 13, "convers": [3, 7, 10, 15], "convert": [5, 8, 10], "copi": [3, 15], "core": 10, "correct": [0, 5, 10, 16], "correctli": 0, "correpsond": 15, "correspond": [3, 5, 7, 9, 11, 12, 15], "cosin": 15, "cost": [6, 15], "could": [0, 10, 11, 13, 14], "count": 10, "coupl": 10, "cover": [7, 12], "cp": 13, "cphase": [7, 13], "cr90m": 11, "cr90p": 11, "creat": [0, 3, 5, 6, 15], "creation": 14, "creg": [0, 6, 15], "critic": 11, "cross": [2, 8, 11, 15], "cross_reson": 10, "crosstalk": [5, 6], "crx": [13, 16], "cry": [13, 16], "crz": [7, 13], "cswap": 13, "ct": 10, "ctrl": [0, 7, 13], "cu": 13, "curli": [3, 12], "current": [0, 3, 7, 10, 12], "custom": 6, "cut": 7, "cx": [5, 7, 11, 13, 14, 15], "cy": 13, "cycl": 4, "cz": 13, "d": [1, 3, 5, 10, 12, 14, 15], "d0": [10, 11], "d0f": 11, "d1": 10, "d_real": 15, "dagger": [7, 13], "daniel": 1, "data": [2, 3, 10, 11], "david": 1, "dd": 5, "ddt": 5, "de": [2, 13], "deal": 10, "decemb": 1, "decid": 10, "decim": [4, 15], "decimalintegerliter": 0, "declar": [0, 2, 3, 6, 7, 10, 11, 12, 14, 15], "declarationexpress": 0, "decoher": 5, "decompos": 15, "decomposit": [7, 15], "decoupl": [2, 5], "def": [0, 3, 5, 12, 14, 15], "default": [0, 3, 11, 14, 15], "default_mod": 0, "defcal": [0, 1, 3, 6, 7, 8, 10, 12, 13, 15], "defcal_prelud": 0, "defcal_prelude_angl": 0, "defcal_prelude_arrai": 0, "defcal_prelude_arrow": 0, "defcal_prelude_asterisk": 0, "defcal_prelude_binaryintegerliter": 0, "defcal_prelude_bit": 0, "defcal_prelude_bitshiftoper": 0, "defcal_prelude_bitstringliter": 0, "defcal_prelude_bool": 0, "defcal_prelude_com": 0, "defcal_prelude_comma": 0, "defcal_prelude_complex": 0, "defcal_prelude_creg": 0, "defcal_prelude_decimalintegerliter": 0, "defcal_prelude_delai": 0, "defcal_prelude_dur": 0, "defcal_prelude_float": 0, "defcal_prelude_floatliter": 0, "defcal_prelude_hardwarequbit": 0, "defcal_prelude_hexintegerliter": 0, "defcal_prelude_identifi": 0, "defcal_prelude_int": 0, "defcal_prelude_lbrac": 0, "defcal_prelude_lbracket": 0, "defcal_prelude_lparen": 0, "defcal_prelude_measur": 0, "defcal_prelude_minu": 0, "defcal_prelude_octalintegerliter": 0, "defcal_prelude_plu": 0, "defcal_prelude_qreg": 0, "defcal_prelude_qubit": 0, "defcal_prelude_rbracket": 0, "defcal_prelude_reset": 0, "defcal_prelude_rparen": 0, "defcal_prelude_slash": 0, "defcal_prelude_uint": 0, "defcal_prelude_whitespac": 0, "defcalargumentdefinit": 0, "defcalargumentdefinitionlist": 0, "defcalgrammar": [0, 10, 11], "defcaloperand": 0, "defcaloperandlist": 0, "defcalstat": 0, "defcaltarget": 0, "defin": [0, 1, 2, 3, 5, 6, 8, 10, 11, 12, 13, 14, 15], "definit": [0, 2, 3, 5, 8, 10, 11, 12, 13, 14, 15], "deflector": 10, "defstat": 0, "delai": [0, 1, 8, 11], "delaystat": 0, "delft": 1, "delimit": [7, 15], "demonstr": [7, 11, 15], "denot": [5, 7, 15], "depend": [3, 5, 7, 10, 12, 15], "depict": 9, "deriv": 5, "describ": [2, 3, 6, 8, 9, 10, 11, 12, 13, 15], "descript": [1, 2, 5, 7, 8, 10, 12, 13, 16], "design": [0, 1, 5, 15], "desir": [10, 11, 13], "despit": 15, "detail": [1, 3, 4, 10, 11, 12, 15], "detect": [7, 10], "determin": [2, 6, 10, 15], "detun": 10, "develop": [0, 2, 10], "deviat": 10, "devic": [6, 10, 11, 15], "diag": 7, "diagnost": 3, "dic21": [1, 10], "dicarlo": 1, "dicarlolab": 1, "did": [6, 12], "differ": [0, 2, 5, 6, 7, 10, 11, 12, 13, 14, 15], "difficult": 10, "diffract": 10, "digit": [0, 10, 15], "dim": [0, 14], "dimens": [14, 15], "dimension": [3, 10, 15], "direct": [0, 1, 8, 12, 15], "directli": [0, 3, 10, 12, 13, 15], "disambigu": [0, 13], "discard": [9, 15], "discret": [3, 6], "discrimin": [3, 10], "discrimn": 10, "discuss": [3, 10, 15], "distanc": [5, 15], "distil": 10, "distinct": [12, 13, 15], "distinguish": [5, 7, 11], "divid": [3, 5, 15], "divincenzo": 1, "divis": [3, 5, 15], "dl": 1, "do": [0, 3, 5, 7, 10, 11, 12, 13, 14, 15], "document": [1, 2, 6, 8, 10, 12, 15], "doe": [0, 2, 3, 5, 6, 7, 10, 11, 12, 14, 15], "doesn": 0, "doi": 1, "domain": 7, "don": 0, "donald": 1, "done": 15, "dot": [0, 10, 15], "doubl": [10, 13, 15], "double_ampersand": 0, "double_asterisk": 0, "double_pip": 0, "double_plu": 0, "down": 10, "dq": 10, "draft": 2, "drag": [10, 11], "drawn": 5, "drive": 10, "drive0": 10, "drive_port0": 10, "drivefram": 10, "driveframe0": 10, "driveframe1": 10, "driveframe2": 10, "driveframe3": 10, "dsp": 10, "dt": [0, 5, 10, 15], "dual": 8, "duan": 1, "due": [10, 11, 12, 13], "duplic": [0, 3], "durat": [0, 1, 2, 3, 8, 10, 11, 13], "duration0": 5, "durationof": [0, 5, 10, 11, 15], "durationofexpress": 0, "dure": [5, 10], "dx": 1, "dynam": [2, 5, 10, 14, 15], "e": [1, 3, 5, 7, 9, 10, 11, 13, 14, 15], "each": [3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15], "earli": [1, 8], "earlier": 11, "eas": 13, "easier": [2, 10], "easili": [2, 6, 14], "eat_initial_spac": 0, "eat_line_end": 0, "eat_to_line_end": 0, "ebnf": 0, "echo": [5, 10], "ed": 10, "ee": 0, "effect": [3, 5, 10, 15], "effici": [2, 15], "effort": 10, "eg": [6, 10], "egger": 1, "eigensolv": 6, "eigenst": 9, "eigenvalu": 1, "either": [3, 5, 6, 10, 15], "electrical_delai": 10, "electro": 10, "element": [0, 3, 7, 11, 15], "elementari": 1, "els": [0, 6, 8, 11, 12], "else_bodi": 0, "elsewher": 4, "embed": [2, 3], "emit": [10, 11, 15], "empti": [0, 7, 14, 15], "emul": 15, "en": 1, "enabl": [1, 2, 3, 10, 11], "enclos": [3, 11], "enclosur": 5, "encount": [6, 10], "encyclopedia": 1, "end": [0, 3, 4, 5, 6, 7, 10, 12, 13], "end_stretch": 5, "endian": 15, "endstat": 0, "enforc": 7, "ensur": [0, 5], "entangl": 7, "enter": [0, 10, 12], "entir": [5, 6, 9, 10, 11], "entiti": [0, 12], "entri": [10, 11, 12], "envelop": 10, "environ": 2, "envis": 3, "eof": 0, "eom": 10, "eom_a_port": 10, "eom_b_port": 10, "epsilon": 15, "equal": [0, 3, 5, 15], "equalityexpress": 0, "equalityoper": 0, "equidist": 5, "equiv": 3, "equival": [3, 5, 7, 9, 10, 11, 13, 15], "error": [2, 3, 5, 7, 10, 12, 15, 16], "ervin": 1, "estim": 6, "et": 10, "etc": [3, 14], "euler": [13, 15], "evalu": [2, 7, 8, 15], "even": [2, 3, 5, 10, 12, 15], "evenbit": 15, "evenli": 5, "ever": [0, 12], "everi": [3, 7, 10, 15], "every_second": 15, "evolut": 10, "exact": [0, 5, 10, 15], "exactli": [3, 5, 13, 15], "exampl": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15], "except": [0, 2, 3, 10, 15], "exclamation_point": 0, "execut": [1, 2, 3, 5, 6, 7, 10, 15], "exert": 10, "exhaust": 12, "exist": [3, 5, 7, 10, 11, 15], "exit": 14, "exp": [1, 2, 10, 13, 15], "expand": [3, 7], "expans": 2, "expect": [2, 3, 6, 10, 11, 12, 15], "expens": 15, "experi": [1, 5, 10, 13], "experiment": 1, "explain": 2, "explicit": [0, 2, 3, 5, 6, 13, 14, 15, 16], "explicitli": [2, 3, 5, 10, 11, 12, 13, 15], "explor": 10, "expon": [0, 15], "exponenti": [7, 15], "expos": [10, 11, 15], "express": [0, 1, 2, 3, 4, 6, 7, 8, 14], "expressionlist": 0, "expressionstat": 0, "extend": [2, 5, 6, 8, 10, 12], "extens": [0, 2, 6, 10], "extern": [0, 1, 2, 8, 10, 11, 12, 14, 15], "externargu": 0, "externargumentlist": 0, "externstat": 0, "extract": 15, "f": [0, 3, 7, 10, 15], "f1": [10, 15], "f2": 15, "f3": 15, "f4": 15, "f5": 15, "f6": 15, "fa": 0, "facil": 2, "facto": 13, "factor": [10, 13], "failur": 0, "faithfulli": 10, "fals": [0, 3, 15], "famili": [2, 7], "fast": 3, "feasibl": 7, "featur": [2, 6, 15], "feed": 2, "feedback": [2, 15], "fewer": 15, "field": [10, 11, 15], "fig": [5, 7, 9], "figur": 5, "file": [0, 1, 6, 8, 11, 12, 13], "filenam": 4, "filipp": 1, "fill": [5, 15], "filter": 10, "final": [2, 9, 15], "find": [10, 15], "finit": 5, "first": [0, 4, 10, 12, 13, 15], "firstdim": 14, "firstelem": 15, "firstidcharact": 0, "firstlastelem": 15, "five": 15, "fix": [1, 5, 7, 10, 15], "flat": 10, "flexibl": [2, 10], "flip": [9, 11], "float": [0, 2, 5, 7, 8, 10, 11, 12], "floatliter": 0, "floatliteralexpon": 0, "floor": 15, "flop": 10, "flow": [0, 2, 3, 10, 11, 12], "fn": [0, 3], "fold": 2, "follow": [2, 3, 4, 5, 6, 7, 10, 12, 13, 14, 15], "font": 5, "foo": 3, "forbidden": [5, 14, 15], "forc": 10, "form": [0, 2, 3, 6, 7, 8, 12, 13, 15], "formal": [8, 13], "format": [0, 10], "forstat": 0, "forth": 11, "forthcom": 2, "forward": [2, 4, 12], "found": [4, 5, 11, 15], "four": [10, 12, 13], "fourth": 13, "fq_01": 10, "fr": 10, "frac": [7, 15], "fraction": 15, "fragment": 0, "frame": [1, 7, 8, 11], "frame0": 10, "frame1": 10, "frame2": 10, "frame_01": 10, "frame_12": 10, "free": [1, 5, 6, 13], "freeli": [7, 11], "freq": [10, 11], "frequenc": 10, "frequency_num_step": 10, "frequency_start": 10, "frequency_step": 10, "from": [0, 2, 5, 7, 8, 10, 11, 12, 13, 14], "fsim": 7, "full": [2, 3, 7], "fulli": [2, 5, 10, 13, 15], "function": [0, 1, 2, 5, 6, 7, 8, 10, 12, 14], "fundament": [11, 15], "further": [2, 5, 9, 11, 12, 15], "furthermor": [0, 11], "futur": [6, 10, 15], "g": [3, 5, 7, 10, 11, 15], "g0": 7, "g1": 7, "g2": 7, "g3": 7, "g4": 7, "gambetta": [1, 2], "gamma": [7, 13, 15], "gate": [0, 1, 2, 3, 5, 6, 8, 15, 16], "gate_nois": 6, "gatecallstat": 0, "gatemodifi": 0, "gateoperand": 0, "gateoperandlist": 0, "gatestat": 0, "gaussian": [10, 11], "gaussian_squar": [10, 11], "gener": [0, 1, 2, 6, 7, 8, 10, 11, 12, 14, 15], "general_categori": 1, "generalidcharact": 0, "geo_gat": 10, "geometr": 8, "geq": 15, "get": [5, 10], "get_frequ": 10, "get_phas": 10, "ghz": 10, "github": 1, "give": [3, 5, 7, 8], "given": [2, 3, 5, 6, 7, 10, 11, 13, 14, 15], "global": [1, 3, 4, 7, 8, 10, 11, 13, 14, 15], "glue": 5, "go": [7, 15], "goal": 1, "gomez": 1, "gphase": [0, 7, 13], "grammar": [1, 3, 6, 8, 11, 12], "grammat": 0, "granular": 10, "greater": [0, 3, 15], "grow": [5, 15], "guarante": [0, 3, 14, 15], "guid": 0, "guzik": 1, "h": [1, 3, 5, 6, 7, 11, 12, 13, 14, 15], "h_b": 13, "ha": [0, 2, 3, 5, 6, 7, 10, 11, 12, 13, 15], "had": [3, 13], "hadamard": [3, 7, 13], "hahn": 10, "half": [5, 10, 13], "ham": 3, "hamiltonian": 10, "hand": [3, 15], "handl": [0, 3, 10, 12], "happen": [5, 6, 7, 14], "hard": 5, "hardcod": 10, "hardwar": [1, 2, 3, 8, 10, 12, 15], "hardwarequbit": 0, "have": [0, 2, 3, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16], "healthi": 6, "help": [5, 10], "here": [0, 3, 4, 10, 12, 13], "heterogen": 5, "hex": 15, "hexintegerliter": 0, "hide": 10, "hierarch": 8, "high": [2, 3, 5], "higher": [0, 2, 5, 10, 15], "hilbert": 7, "hit": 0, "hold": [7, 15], "hong": 1, "hossein": 2, "host": 0, "how": [0, 3, 5, 10, 12, 15], "howev": [2, 5, 7, 10, 11, 14, 15], "html": 11, "http": 1, "human": [0, 2, 8], "hush": 1, "hyperfin": 10, "i": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "i1": 15, "i2": 15, "i3": 15, "i4": 15, "i5": 15, "i6": 15, "i7": 15, "i8": 15, "i_": 13, "i_1": 7, "i_2": 7, "i_b": 13, "i_c": 13, "i_m": 7, "i_n": 7, "ibm": [2, 13], "id": 13, "ideal": [5, 6, 13], "idempot": 3, "iden": 3, "ident": [0, 5, 7, 13], "identifi": [0, 1, 6, 7, 8, 10, 11, 12, 14], "identifierlist": 0, "idl": 5, "ie": [7, 10], "ieee": [1, 15], "if_bodi": 0, "ifstat": 0, "ignor": [0, 6, 8], "ii": [12, 14], "ill": [3, 13], "illustr": 6, "im": [0, 10, 15], "imag": [0, 10, 15], "imaginari": [3, 15], "imaginaryliter": 0, "immedi": [3, 5, 9, 12, 14], "immut": 15, "imper": 2, "implement": [0, 1, 3, 5, 6, 7, 8, 10, 11, 12, 14, 15], "implementor": 10, "impli": [5, 7, 15], "implicit": [3, 5, 10, 15], "implicitli": [3, 10, 12, 14, 15], "implment": 5, "import": 7, "importantli": 10, "impos": [3, 5], "improv": [10, 15], "in_bodi": 12, "inc": [4, 11, 13, 15], "includ": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15], "includestat": 0, "inclus": [0, 3, 7, 12], "increment": [5, 10], "incur": 7, "independ": [2, 5], "index": [0, 1, 3, 7, 8, 9], "indexedidentifi": 0, "indexexpress": 0, "indexoper": 0, "indic": [0, 4, 5, 6, 10, 11, 15], "indirectli": 10, "individu": [2, 10, 12, 15], "induc": 11, "ineffici": 7, "inf": 15, "infer": [2, 5, 10], "infinit": [0, 7], "infix": 2, "inform": [0, 6, 7, 10, 11, 13, 15], "infrastuctur": 3, "inherit": [0, 12], "initi": [1, 8, 15], "initializ": 10, "inject": 0, "inlin": [1, 8], "inner": [0, 6, 12], "input": [0, 1, 2, 3, 8, 10, 14, 15], "insert": [4, 5, 6, 11, 15], "insid": [10, 11, 12, 14, 15], "inspir": [5, 10], "instabl": 11, "instanc": [10, 11, 12, 15], "instantan": 10, "instead": [0, 5, 6, 7, 10, 11, 12], "instruct": [1, 2, 6, 7, 8, 11, 13, 14, 15], "instrument": 2, "int": [0, 2, 3, 6, 8, 10, 12, 14], "intact": [6, 14], "intarr": 15, "integ": [0, 7, 8], "intend": [0, 5, 15, 16], "intent": [2, 5, 15], "intention": 5, "interact": [6, 10], "interchang": 11, "interest": [7, 11], "interf": 5, "interleav": 5, "interlud": 0, "intermedi": 2, "intern": 1, "interoper": 15, "interpret": [6, 13, 15], "intersect": 15, "interv": 15, "intrins": [5, 15], "introduc": [2, 5, 6, 7, 12, 13, 15], "introduct": [1, 12], "inv": [0, 7], "invalid": [0, 3, 7, 12, 15], "invers": [8, 15], "invert": 7, "invoc": 6, "invok": [3, 5, 11, 14], "involv": [2, 7, 15], "iodeclarationstat": 0, "ioport": 6, "iq": 10, "issu": [3, 10], "item": 3, "iter": [3, 6, 12], "its": [0, 5, 6, 7, 10, 12, 13, 15], "itself": [0, 2, 4, 12, 13, 15], "j": [1, 3, 9, 12, 15], "jai": 2, "jarrod": 1, "javadi": [1, 2], "jeremi": 1, "jj": 14, "john": 2, "johnson": 2, "join": 10, "json": 10, "jul": 1, "jump": 3, "june": 1, "just": [0, 7, 10, 11, 14, 15], "justifi": 5, "k": [3, 7], "kak": 7, "kanazawa": 1, "kb84": [1, 5], "keep": [3, 10], "kei": [5, 10], "kernel": 10, "keyword": [0, 3, 6, 7, 11, 14, 15], "kirst": 2, "knew": 0, "knob": 10, "know": [5, 14], "knowledg": [0, 5], "known": [2, 3, 7, 11, 12, 13, 14, 15], "knuth": 1, "l": [0, 1, 11], "lab": [1, 10], "label": [3, 15], "lambda": [7, 13], "lang": 1, "langaug": 0, "langl": 9, "langle0": 13, "langle1": 13, "langle11": 13, "languag": [0, 1, 2, 3, 5, 7, 10, 12, 13, 14, 15], "larg": [0, 2, 15], "larger": [5, 7, 15], "largest": 15, "laser": 10, "last": [3, 7, 13, 15], "last_thre": 15, "lastbit": 15, "lastelem": 15, "lastlastelem": 15, "late": 5, "later": [0, 5, 7, 10, 15], "latest": [5, 10], "latter": 11, "lauren": 1, "layer": 10, "lbrace": 0, "lbracket": 0, "lead": 15, "leak": 11, "least": [0, 3, 12, 15], "leav": [0, 6, 9], "left": [0, 3, 5, 6, 7, 10, 13, 15], "len": 10, "length": [7, 10, 14, 15], "leq": 15, "less": [2, 3, 15], "lesser": 15, "let": [0, 3, 12, 15], "letter": [0, 15], "lev": 2, "level": [0, 1, 2, 5, 6, 8, 10, 12, 14, 15], "levin": 10, "levine2019": 10, "lex": 0, "lexem": 0, "lexer": 0, "lh": 3, "liabl": 10, "librari": [1, 3, 4, 7, 8], "lifetim": [12, 14], "light": 10, "like": [0, 2, 3, 5, 7, 10, 11, 12, 14, 15], "likewis": 15, "limit": [3, 7, 10, 14], "line": [0, 4, 5, 6, 7, 10, 12], "linear": 10, "linecom": 0, "link": [3, 10, 11, 15], "linkag": 10, "list": [0, 3, 7, 10, 12, 15], "liter": [0, 1, 2, 3, 8, 13], "literalexpress": 0, "littl": [0, 15], "live": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "ll": [0, 15], "lm": [0, 15], "lo": [0, 15], "load": [10, 12], "local": [3, 5, 10, 12], "locat": [4, 13, 15], "log": 15, "logarithm": 15, "logic": [2, 3, 5, 7], "logicalandexpress": 0, "logicalorexpress": 0, "long": [0, 10, 15], "longer": [5, 11, 12], "longest": 5, "look": 0, "lookup": 11, "loop": [1, 6, 7, 8, 11, 12, 15], "loss": 15, "love": 1, "low": [1, 2, 8, 14, 15], "lower": [3, 5, 11, 15], "lowest": 15, "lparen": 0, "lt": [0, 15], "lu": [0, 15], "lvert0": 13, "lvert00": 13, "lvert01": 13, "lvert1": 13, "lvert10": 13, "lvert11": 13, "m": [0, 1, 4, 5, 7, 15], "m0": 10, "ma": 1, "machin": [1, 5, 10, 15], "made": [2, 13, 14], "mai": [0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 14, 15], "main": [2, 3, 5, 12], "maintain": 10, "maintainig": 10, "major": [4, 11], "make": [2, 11, 12, 13, 14, 15], "man": 1, "manag": [0, 6, 15], "mani": [2, 3, 6, 7, 10], "manipul": [2, 5, 8, 11, 15], "manner": 15, "map": [10, 13, 15], "mapsto": 13, "march": 1, "margolu": 1, "mark": 6, "matab": [1, 10], "match": [0, 3, 11, 13, 15], "materi": 10, "math": 10, "mathemat": [3, 7, 10, 13, 16], "mathit": 13, "mathrm": 15, "matrix": 7, "matter": 3, "max_temp": 6, "maximum": 15, "mc": 15, "mccaskei": 1, "mcclean": 1, "mckai": 1, "mean": [0, 2, 5, 6, 7, 10, 14, 15, 16], "meaningfulli": 11, "meant": [5, 10], "meanwhil": 10, "meas_wf": 10, "measur": [0, 1, 2, 3, 6, 7, 8, 10, 14, 15], "measure_frame_0": 10, "measure_frame_1": 10, "measure_frame_2": 10, "measure_frame_3": 10, "measure_iq": 11, "measure_port": 10, "measurearrowassignmentstat": 0, "measureexpress": 0, "meat": 0, "mechan": [2, 6, 7, 11], "mediat": 10, "meet": 5, "member": 15, "memori": [3, 10, 14, 15], "mention": 3, "mere": 5, "method": [7, 10, 14], "methodologi": 11, "microarchitectur": 1, "microcod": [10, 11], "middle_stretch": 5, "might": [3, 5, 7, 10, 13, 14], "million": 15, "mimic": 15, "mimick": 15, "min": 5, "minim": [6, 7], "minimum": [2, 10], "minor": [4, 16], "minu": 0, "mismatch": 15, "mit": 1, "mix": [10, 14, 15], "mixtur": 10, "mod": 15, "mode": [0, 3], "model": [2, 3, 6, 10, 15], "modif": 3, "modifi": [0, 3, 6, 8, 10, 12, 13, 14, 15], "modul": 10, "modulo": [3, 15], "modulu": 15, "more": [0, 2, 3, 4, 5, 6, 7, 10, 11, 14, 15], "moreda": 1, "moreov": 10, "moritz": 2, "most": [0, 2, 5, 11, 12, 13, 14, 15], "motiv": [2, 10], "move": [3, 5], "much": 0, "multi": [5, 10, 15], "multidim": 15, "multipl": [3, 4, 5, 6, 10, 11, 12, 14, 15], "multiplex": 8, "multiplexed_readout_and_captur": 10, "multipli": [5, 6, 10], "multiplicativeexpress": 0, "must": [0, 2, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15], "mut_subroutin": 14, "mutabl": [0, 14], "mutual": [7, 12, 15], "my_angl": 15, "my_arrai": 3, "my_bit": 15, "my_bool": 15, "my_definit": 12, "my_float": [3, 15], "my_gat": 12, "my_gate1": 10, "my_gate2": 10, "my_gate3": 10, "my_int": 15, "my_machine_angl": 15, "my_machine_float": 15, "my_machine_int": 15, "my_pi": 15, "my_pi_over_two": 15, "my_routin": 12, "my_subroutin": 12, "my_uint": 15, "myarr": 15, "myarrai": 15, "mygate1": 5, "mygate2": 5, "myint": 15, "myreg": 15, "n": [0, 1, 3, 5, 7, 13, 14, 15], "n_u": 7, "name": [0, 3, 7, 10, 11, 12, 13, 14, 15], "namespac": 12, "nan": [3, 15], "naoki": 1, "nation": 1, "nativ": [1, 8, 15], "natur": [1, 3, 5, 8, 10, 11, 14], "nco": 10, "ncomms5213": 1, "nearest": 15, "nearli": 15, "necessari": [3, 5, 7, 10, 14, 15], "necessarili": [3, 7], "need": [0, 3, 5, 10, 11, 12, 14, 15], "neg": [5, 7, 15], "neg_cx": 7, "negat": 3, "negctrl": [0, 7], "neighbor": 10, "neither": 3, "nest": [3, 12], "nestedcalibrationblock": 0, "neutral": 8, "never": [5, 10], "new": [2, 4, 5, 6, 7, 10, 11, 12, 15], "new_freq": 11, "new_vari": 12, "newfram": [10, 11], "newlin": 0, "next": [3, 7], "nguyen": 1, "niel": 2, "nl": [0, 15], "nm20": [1, 10], "nois": 6, "noisy_g": 6, "non": [0, 4, 5, 7, 9, 12, 15], "none": 3, "nor": [3, 4, 7], "normal": 15, "noswap": 6, "notat": [5, 15], "note": [0, 1, 3, 6, 8, 10, 11, 14, 15], "noth": 7, "now": [5, 8, 10, 12], "ntwali": 2, "num": 15, "number": [0, 4, 5, 7, 8, 10, 14], "numer": [5, 10, 15], "o": [1, 7], "object": 0, "observ": [10, 11], "obviou": [0, 5], "occur": 2, "occurr": 4, "octal": 15, "octalintegerliter": 0, "off": 3, "offici": 0, "offlin": 5, "offset": 10, "often": 5, "ok": 7, "older": 6, "oldid": 1, "oldstyledeclarationstat": 0, "omiss": 7, "omit": [3, 14, 15], "onc": [5, 6, 7, 10, 12, 14, 15], "one": [0, 3, 5, 6, 7, 9, 10, 11, 12, 14, 15], "oneD": 15, "one_": 15, "one_n": 15, "one_second": 15, "oner": 2, "ones": [11, 15], "onli": [0, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 15], "onlin": 1, "onto": 9, "onward": 13, "op": [0, 3, 13], "opaqu": [2, 11], "open": [0, 8], "openpuls": [1, 5, 7, 8, 11, 12], "openqasm": [2, 4, 5, 6, 7, 8, 10, 11, 12, 15], "openqasm3": [0, 3, 6, 14], "oper": [0, 1, 2, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "operand": [0, 2, 3, 15], "operatornam": 7, "opportun": [7, 10], "opt": 15, "optic": 10, "optim": [2, 5, 7, 10, 11], "optimis": 6, "option": [0, 3, 4, 6, 7], "order": [0, 5, 6, 7, 8, 10, 11, 12, 14, 15], "org": 1, "origin": [7, 10, 13, 15], "original_freq": 11, "orthogon": 11, "oscil": 10, "other": [0, 1, 3, 6, 7, 8, 10, 11, 12, 13], "otherwis": [0, 3, 5, 10, 12, 15], "otim": 7, "our": [0, 3, 10], "out": [3, 5, 10, 11, 12], "outcom": [2, 9, 15], "outer": [12, 15], "outgo": 10, "outlin": 10, "output": [0, 1, 3, 8, 10, 14, 15], "output_typ": 14, "outsid": [3, 4, 10, 14, 15], "over": [2, 3, 7, 9, 10, 11, 12, 13, 15], "overal": 10, "overflow": [3, 15], "overlap": [5, 14], "overload": [12, 15], "overrid": 15, "overwrit": 11, "own": [0, 10, 11, 12, 13], "oxford": 2, "p": [0, 1, 10, 13], "p_b": 13, "pad": 15, "page": [1, 5], "pair": [4, 5, 10], "paper": [2, 10, 13], "parallel": [3, 5, 10], "param": [0, 7], "param1": 6, "param2": 6, "paramet": [2, 5, 6, 7, 10, 11, 12, 13, 14, 15], "parameter": [2, 5, 6, 8], "parametr": 6, "parametric_circuit": 6, "paren": 3, "parent": 11, "parenthes": [3, 7], "parenthesisexpress": 0, "pariti": 14, "pars": [0, 4, 6, 12, 13], "parseabl": 0, "parser": 0, "part": [2, 3, 5, 7, 10, 13, 15], "partial": [9, 15], "particular": [2, 5, 7, 10, 11, 12, 13, 15], "particularli": [2, 3], "pascalcas": 0, "pass": [3, 5, 6, 11, 14, 15], "past": 5, "path": [0, 13], "pattern": [3, 15], "pauli": 13, "paulovick": 1, "payload": 0, "per": [11, 15], "perceiv": 5, "percent": 0, "perform": [0, 2, 3, 5, 6, 10, 11], "perhap": 5, "period": [7, 10, 11], "permiss": [5, 13, 15], "permit": [0, 2, 4, 5, 10, 15], "permut": 15, "perspect": 7, "peruzzo": 1, "peter": 1, "ph": 1, "phase": [7, 8, 13], "phase_shift": 10, "phi": [7, 13], "photon": [1, 10], "php": 1, "phy": 1, "physic": [1, 2, 6, 7, 8, 10, 11], "pi": [0, 3, 5, 6, 7, 10, 11, 12, 13, 15], "pi2": 15, "piec": 5, "pipe": 0, "place": [13, 15], "plai": [1, 8, 11], "platform": 7, "play_my_puls": 10, "pleas": [2, 6, 10], "plu": 0, "plugin": 11, "pm": [1, 6], "pmeasur": 14, "point": [0, 4, 5, 7, 8, 10, 11, 12], "pointer": 14, "polar": 7, "polynomi": 7, "popcount": [3, 15], "popmod": 0, "port": [1, 3, 6, 8, 11], "portabl": 15, "posit": [5, 6, 7, 10, 15], "possess": 8, "possibl": [0, 2, 3, 5, 6, 10, 15], "post": 10, "potato": 0, "potenti": [0, 5, 15], "pow": [0, 7, 15], "power": [2, 3, 8], "powerexpress": 0, "pr": 10, "practic": [1, 7, 8], "pragma": [0, 1, 8, 15], "pre": 10, "preced": 0, "precis": [3, 5, 7, 10, 12, 15], "predic": 3, "prefix": [11, 15], "prepar": 9, "prepend": 7, "prescrib": [6, 15], "presenc": 11, "present": [0, 2, 4, 7, 13], "preserv": [6, 11, 15], "press": 1, "prevent": [5, 6], "previou": [2, 7, 11, 12], "previous": [7, 12], "primarili": 10, "primit": 0, "princip": 15, "prior": [2, 11], "prioriti": 15, "privileg": 7, "problem": [5, 10], "procedur": [6, 12], "proceed": 1, "process": [2, 3, 6, 10], "processor": [1, 3], "produc": [0, 3, 6, 10, 15], "product": [7, 10], "profil": 6, "program": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15], "programm": [3, 6, 7, 15], "progress": 5, "prohibit": 5, "project": 9, "promis": 7, "promot": [3, 7, 15], "propag": [3, 15], "properli": [5, 11], "properti": [1, 10, 11], "proport": 10, "propos": 10, "provid": [0, 2, 3, 5, 6, 10, 11, 13, 14, 15], "pseudocod": 6, "publish": 15, "pull": 10, "puls": [0, 1, 2, 5, 8, 10, 12, 15], "pulse_length": 10, "pulse_length_num_step": 10, "pulse_length_start": 10, "pulse_length_step": 10, "punctuat": 0, "pure": 14, "purpos": [2, 5, 7, 12, 15], "push": 10, "pushmod": 0, "put": [0, 5, 10], "pycq": 1, "python": 6, "q": [3, 5, 6, 7, 9, 10, 11, 12, 14, 15], "q0": [3, 11, 15], "q0_capture_fram": 10, "q0_frame": 11, "q0_freq": 11, "q0_ro_freq": 10, "q0_ro_wf": 10, "q0_stimulus_fram": 10, "q1": [5, 7, 10, 11, 15], "q1_capture_fram": 10, "q1_frame": [10, 11], "q1_freq": [10, 11], "q1_pos_freq": 10, "q1_ro_freq": 10, "q1_ro_wf": 10, "q1_stimulus_fram": 10, "q1_\u03c0_half_amp": 10, "q1_\u03c0_half_sig": 10, "q2": [7, 10, 15], "q2_frame": 10, "q2_pos_freq": 10, "q2_\u03c0_half_amp": 10, "q2_\u03c0_half_sig": 10, "q3": [7, 10], "q3_frame": 10, "q3_pos_freq": 10, "q3_\u03c0_half_amp": 10, "q3_\u03c0_half_sig": 10, "qarg": 7, "qasm": [4, 6, 11, 12], "qasm3lex": 0, "qasm3pars": 0, "qelib1": 13, "qi": 1, "qiskit": [1, 2, 10], "qnf": 6, "qpu": [6, 13], "qpu1": 6, "qr0": 7, "qr1": 7, "qr2": 7, "qr3": 7, "qreg": [0, 5, 9, 15], "qu": 15, "quant": 1, "quantum": [0, 1, 2, 3, 5, 6, 8, 10, 11, 12, 13, 14], "quantumdeclarationstat": 0, "qubit": [0, 3, 5, 6, 7, 8, 9, 10, 11, 12, 14], "qubit_arrai": 15, "qubit_freq": 10, "qubit_select": 15, "qubittyp": 0, "queri": 14, "question": 8, "qui21": [1, 10], "quil": 1, "quot": 15, "r": [0, 1, 3, 5, 14], "rabi": 8, "rais": [3, 7, 10], "raman": 10, "raman_a_amp": 10, "raman_a_fram": 10, "raman_b_amp": 10, "raman_b_fram": 10, "ramsei": 10, "rang": [3, 10, 15], "rangeexpress": 0, "rangl": [9, 13], "rank": 15, "rate": 10, "rather": [0, 6, 7, 10, 11, 15], "raw": 10, "raw_output": 10, "rbrace": 0, "rbracket": 0, "re": [5, 11, 12], "reach": 7, "read": [1, 2, 6, 10], "readabl": [0, 8, 10, 15], "readonli": [0, 14], "readout": 8, "real": [2, 3, 5], "realis": 5, "realiz": 10, "reason": [2, 15], "receiv": 10, "recogn": 7, "recommend": 10, "record": 15, "recurs": [0, 7, 12], "redeclar": 12, "redefin": 12, "reduc": [6, 15], "refer": [0, 2, 5, 7, 8, 10, 11, 12, 13, 14, 15], "referenc": [5, 10, 11, 15], "referenti": 5, "refers": 10, "regardless": [11, 13], "regist": [0, 1, 7, 8, 9, 10, 11, 12, 14], "regular": [5, 11, 12], "reinterpret": 15, "reject": [0, 2, 3], "rel": [5, 7, 10, 13], "relat": [1, 8], "relationship": 10, "releas": [1, 4], "relev": [2, 6, 10, 13], "reli": 12, "remain": 2, "remaind": 15, "remaininglinecont": 0, "remap": 15, "remov": [0, 13, 15], "reorder": [5, 7], "repeat": 6, "repeatedli": 7, "repetit": 7, "replac": [7, 9, 11], "repres": [0, 3, 6, 7, 10, 14, 15], "represent": [2, 3, 7, 11, 15], "reproduc": 13, "request": [10, 14], "requir": [0, 2, 3, 5, 6, 7, 10, 11, 13, 14, 15], "reserv": 15, "reset": [0, 7, 9, 11, 14, 15], "resetstat": 0, "reshap": 15, "resiz": 15, "resolv": [0, 5, 10, 11, 14, 15], "reson": [8, 11], "resourc": 10, "respect": [3, 7, 8, 12, 15], "respons": 10, "rest": [4, 13], "restrict": [0, 1, 2, 8], "result": [0, 3, 5, 6, 10, 14, 15], "retain": 2, "retriev": 10, "return": [0, 3, 6, 10, 11, 14, 15], "returnsignatur": 0, "returnstat": 0, "reusabl": 10, "rev": 1, "reveal": 10, "revers": [6, 7], "revis": 7, "rewrit": 7, "rf": 10, "rh": 3, "richer": 10, "right": [0, 3, 7, 10, 13, 15], "ring": 3, "ro_kernel": 10, "ro_rx": 10, "ro_tx": 10, "robust": 0, "root": [13, 15], "rotari": 5, "rotat": [5, 7, 10, 13, 15], "rotl": [3, 15], "rotr": [3, 15], "round": [3, 15], "rout": 15, "routin": 11, "row": 9, "rparen": 0, "rule": [0, 2, 7, 11, 12, 14, 15], "run": [2, 3, 6, 7, 11, 12, 15], "run_program": 6, "runtim": [2, 3, 5, 7, 10, 14, 15], "runtime_f1": 15, "runtime_i1": 15, "runtime_s": 15, "runtime_u": 15, "rvert": 13, "rwa": 7, "rx": [5, 6, 10, 11, 13, 16], "ry": [5, 6, 13, 16], "ryan": 2, "rz": [5, 7, 10, 11, 13, 14, 16], "rz_frame": 10, "rzm": 7, "rzp": 7, "same": [2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15], "sampl": [5, 10, 15], "satisfi": [0, 5, 15], "satur": 10, "saturation_puls": 10, "scalar": [1, 3, 8], "scalartyp": 0, "scale": [5, 10], "scenario": 5, "schedul": [2, 3, 5, 10], "schemat": 7, "scheme": 10, "scienc": 1, "scientif": [2, 15], "scope": [0, 1, 3, 4, 5, 7, 8, 10, 11, 14, 15], "scratch": 7, "sdg": [13, 16], "search": 13, "sech": 10, "second": [6, 7, 10, 13, 14, 15], "second_subroutin": 12, "seconddim": 14, "secondslic": 15, "section": [3, 9, 10, 12, 13, 15], "see": [0, 5, 10, 12, 13, 14, 15], "seek": 2, "seen": [5, 12], "select": [3, 6, 7, 10, 11, 15], "selfconcat": 15, "semant": [0, 3, 8, 11, 15], "semicolon": [0, 3, 8], "sens": 5, "sensit": 8, "separ": [0, 3, 5, 7, 8, 12, 15], "seper": 15, "sequenc": [2, 3, 5, 6, 7, 10, 11, 15], "sequenti": 3, "seri": [5, 7, 13], "serv": [0, 2], "set": [0, 1, 2, 3, 5, 6, 7, 8, 10, 13], "set_frequ": [10, 11], "set_phas": 10, "setexpress": 0, "setup": 11, "seven": 15, "sever": [3, 7, 10, 12], "shadbolt": 1, "shadow": 12, "shall": [3, 10], "shape": [10, 15], "share": [11, 12], "shift": [3, 10, 15], "shift_frequ": 10, "shift_phas": [10, 11], "shor": 1, "short": [5, 10], "shorthand": 7, "should": [2, 6, 10, 12, 13, 14, 15], "shown": [5, 7, 9], "si": [0, 5, 15], "side": [3, 5, 15], "sideband": 10, "sigma": [10, 11], "sign": 15, "signal": [5, 10], "signatur": [3, 10, 14], "signbit": 15, "signifi": 14, "signific": [11, 15], "significantli": 15, "similar": [5, 10, 12, 15], "similarli": [2, 5, 6, 7, 11, 12, 15], "simpl": [3, 5, 8, 10, 12], "simpli": [6, 7, 10], "simplifi": 15, "simul": 6, "simultan": [5, 10], "sin": [2, 10, 13, 15], "sinc": [0, 5, 10, 12, 13, 14, 15], "sine": [10, 15], "singl": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15], "single_qubit_delai": 10, "single_qubit_g": 10, "situat": 13, "six": 15, "size": [3, 5, 7, 9, 10, 11, 14, 15], "sizeof": 14, "skip": 0, "slash": [0, 4], "sleator": 1, "slice": [1, 8], "slightli": 12, "slow": 6, "small": [0, 15], "smolin": [1, 2], "so": [0, 2, 3, 6, 7, 10, 11, 12, 13, 15], "softwar": [10, 15], "solicit": 2, "solut": [5, 10], "solver": 1, "some": [0, 3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16], "some_q": 12, "some_qubit": 12, "someth": 3, "sometim": 12, "soon": [6, 11], "sophist": 7, "sourc": [0, 5, 6, 15], "space": [5, 7, 12, 15], "span": 5, "spec": [0, 1, 7], "special": [0, 7, 10, 11, 15], "specif": [0, 2, 3, 6, 7, 8, 10, 11, 12, 14], "specifi": [2, 5, 6, 7, 8, 10, 11, 14, 15], "specified_sub": 14, "spectat": 5, "spectroscop": 10, "spectroscopi": 8, "speed": 10, "sphere": 10, "spirit": 10, "split": 0, "sqrt": [7, 10, 13, 15], "sqrt2": 13, "squar": [3, 5, 7, 10, 13, 15], "square_width": [10, 11], "stack": 15, "stage": 5, "stai": 14, "standard": [1, 4, 5, 7, 8, 10, 15], "start": [0, 3, 5, 6, 10], "start_stretch": 5, "state": [0, 2, 3, 6, 9, 10, 11, 12, 13, 15], "statement": [0, 1, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15], "statementorscop": 0, "static": [10, 15], "stdgate": [4, 13, 15], "step": [3, 6, 10], "still": [5, 10, 12, 15], "stimuli": 11, "stimulu": [10, 11], "stimulus_fram": 10, "stmt1": 3, "stmt2": 3, "stop": 3, "storag": [12, 15], "store": [6, 15], "str": 0, "str1": 5, "strategi": [3, 12], "strength": 10, "stretch": [0, 1, 8], "stretchabl": 5, "stretchi": 5, "strict": 15, "strictli": 0, "stride": 14, "string": [0, 1, 6, 8, 13, 15], "stringliter": 0, "structur": [10, 11], "style": 0, "sub": [5, 15], "subarrai": 15, "subcircuit": 5, "subject": 11, "subnorm": 3, "subroutin": [1, 3, 5, 7, 8, 11, 15], "subroutine_cal": 15, "subscript": [13, 14, 15], "subsect": 7, "subsequ": [3, 10, 15], "subset": [6, 15], "subsitute_theta": 6, "subsystem": 15, "subtract": [3, 5, 15], "succinct": 10, "suffici": 15, "sugar": 15, "suggest": 15, "suitabl": [7, 15], "sum": [10, 12, 14, 15], "summar": 8, "summari": 8, "superconduct": 1, "suppli": [6, 10, 13], "support": [0, 2, 3, 6, 7, 9, 10, 11, 14, 15], "surround": [12, 15], "suscept": 3, "swap": [0, 6, 13], "sweep": 10, "switch": [0, 1, 8], "switchcaseitem": 0, "switchstat": 0, "sx": [7, 11, 13], "sx_wf": 11, "symbol": [0, 6, 7, 11, 12, 13], "symmetr": 13, "symposium": 1, "synchron": [5, 10], "synonym": 15, "syntact": [0, 15], "syntax": [3, 5, 7, 11, 12, 14, 15], "system": [5, 6, 10, 11], "t": [0, 1, 7, 10, 12, 13, 15], "t_i": 10, "tab": 5, "tabl": [0, 3, 11], "take": [3, 5, 6, 7, 10, 14, 15], "taken": 10, "tan": 15, "tangent": 15, "tap": 10, "target": [0, 3, 5, 6, 7, 9, 10, 11, 13, 15], "task": [2, 5], "tau": 15, "tdg": 13, "teach": 11, "team": 2, "technologi": 1, "temp1": 10, "temp2": 10, "temp_fram": 10, "templat": 10, "temporarili": 12, "tensor": 7, "term": [2, 13], "termin": [8, 12], "test": 3, "tex": 5, "texbook": 1, "text": [0, 6, 10, 15], "texttt": [13, 15], "textual": [8, 10, 11], "th": [7, 13], "than": [0, 4, 5, 6, 7, 10, 11, 15], "thei": [2, 3, 5, 6, 7, 10, 11, 12, 13, 15], "them": [2, 3, 5, 7, 9, 11, 12], "themselv": [7, 15], "therebi": [10, 11, 15], "therefor": [2, 5, 15], "theta": [6, 7, 10, 11, 13, 14], "thi": [0, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15], "thien": 1, "thing": 0, "third": 15, "thoma": [1, 2], "those": [3, 6, 7, 9, 10, 11, 12, 14, 15], "though": [5, 13], "thought": 7, "thousand_cycl": 15, "three": [3, 8, 10, 12, 15], "threed": 15, "through": [0, 1, 7, 10], "throughout": 10, "thu": [5, 7, 11, 15], "ti": 15, "tick": 10, "tie": 0, "tightli": 0, "tild": 0, "time": [0, 1, 2, 3, 6, 7, 8, 11, 12, 14], "timeunit": 0, "timingliter": 0, "titl": 1, "toffoli": 13, "togeth": [11, 14], "token": [0, 15], "tokenis": 0, "tokenvocab": 0, "tone": 10, "too": [0, 5, 15], "tool": [0, 6], "toolchain": [3, 10], "top": [0, 3, 5, 9, 10, 11], "topic": 12, "topologi": 15, "total": [5, 15], "toussaint": 2, "toward": 15, "tppi_1": 10, "tppi_2": 10, "tppi_3": 10, "trace": [9, 10], "track": [7, 8], "trail": 15, "transfer": 3, "transform": [2, 7, 10, 11, 15], "transient": 11, "transit": [10, 13], "translat": 10, "transmiss": 10, "transmit": 10, "treat": [10, 11, 15], "tree": 0, "trigger": 3, "true": [0, 3, 5, 7, 12, 15], "truncat": 15, "trunction": 15, "turn": 11, "twelv": 15, "twice": 5, "two": [0, 2, 3, 5, 7, 8, 10, 11, 12, 14, 15], "two_pi": 15, "two_qubit_g": 10, "two_second": 15, "twod": 15, "twod_arg": 14, "tx0": 10, "tx1": 10, "type": [0, 1, 2, 3, 7, 8, 9, 10, 11, 12, 14], "typenam": 15, "typeset": 5, "typic": 11, "u": [0, 5, 7, 10, 12, 13, 15], "u1": [13, 15], "u2": [13, 15], "u3": 13, "u_": 7, "u_1": 7, "u_2": 7, "u_b": 13, "u_m": 7, "u_old": 7, "uint": [0, 3, 8, 12, 14], "ultim": [5, 10], "unabl": 10, "unari": 3, "unaryexpress": 0, "unbalanc": 0, "unclear": 10, "undefin": 15, "under": [7, 13], "underli": [3, 10, 11, 14], "underscor": 15, "unexpect": 6, "unfortun": [0, 7], "unicod": [0, 1, 15], "unicode_character_properti": 1, "uninstanti": 15, "uniqu": [0, 11], "unit": [0, 5, 10, 15], "unitari": [5, 7, 9, 11], "univers": [2, 7], "unknown": [5, 7], "unless": [2, 15], "unlik": [2, 12, 15], "unnecessari": 13, "unrealiz": 15, "unsign": [3, 15], "unspecifi": [6, 14, 15], "until": [0, 3, 7, 12, 14], "unwind": 5, "up": [5, 7, 10, 12, 13, 14, 15], "updat": [10, 14, 15], "upon": [2, 6, 10, 13], "upper": 3, "upperbit": 15, "uppercas": 15, "upperrevers": 15, "url": 1, "us": [0, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15], "usa": 1, "usabl": 2, "usag": [10, 12], "user": [2, 3, 5, 6, 7, 10, 11, 13, 14, 15], "usual": 15, "v": [1, 5, 7], "v3": 1, "vacat": 15, "val": 15, "valid": [0, 3, 5, 7, 11, 12, 15], "validat": 0, "validunicod": 0, "valu": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 14], "vari": [10, 11, 12], "variabl": [1, 3, 5, 6, 7, 8, 11], "variat": [1, 6], "varieti": 10, "variou": [2, 5, 12, 15], "ve": 11, "vendor": [2, 10, 15], "veri": [11, 15], "versa": 15, "version": [0, 1, 2, 6, 7, 8, 10, 11, 14, 15], "version_identifer_whitespac": 0, "version_identifi": 0, "versionspecifi": 0, "via": [3, 7, 10, 12, 14, 15], "vice": 15, "virtual": [10, 11, 12, 15], "visibl": 12, "void": [0, 8, 14], "volum": 1, "vphantom": 13, "vqe": 6, "w": 1, "wa": [10, 12, 13], "wai": [0, 1, 5, 10, 15], "wait": 3, "want": [0, 5, 10, 11, 14], "warn": 7, "wave": [7, 10], "waveform": [1, 5, 8, 11, 15], "we": [0, 2, 3, 5, 6, 7, 8, 10, 11, 12, 14, 15], "weight": [3, 5], "weinfurt": 1, "well": [3, 7, 10, 15], "went": 12, "were": [3, 4, 6, 7, 11, 12, 13, 16], "weslei": 1, "wf": 10, "wf1": 10, "wf2": 10, "wf_1": 10, "wf_2": 10, "wfm": 10, "what": [0, 3, 11], "whatev": 5, "when": [0, 3, 5, 6, 7, 10, 11, 12, 14, 15], "where": [0, 3, 5, 7, 10, 11, 13, 15], "wherea": [5, 15], "wherev": 12, "whether": [0, 2, 14, 15], "which": [0, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15], "while": [0, 2, 5, 8, 9, 10, 11, 12, 13, 14, 15], "whilestat": 0, "whitespac": [0, 8], "whose": [3, 5, 15], "wide": 10, "width": [10, 15], "wikipedia": 1, "wil89": [1, 11], "wildcard": 10, "wilk": 1, "wind": 5, "winston": 1, "wire": [5, 10], "wish": 10, "within": [0, 3, 5, 7, 10, 11, 12, 14, 15], "without": [0, 3, 5, 6, 11, 12, 15], "wood": 1, "wootton": 1, "word": [5, 12], "work": [2, 3, 10], "world": 15, "would": [0, 5, 6, 7, 10, 11, 12, 15], "wouldn": [10, 12], "write": [2, 3, 6, 10, 11, 15], "written": [0, 3, 7, 15], "x": [3, 5, 6, 7, 9, 11, 13, 14, 15], "x_01": 10, "x_12": 10, "x_b": 13, "x_c": 13, "xacc": 1, "xcheck": 14, "xiao": 1, "xmeasur": 14, "xor": 3, "xp": 11, "xy": 10, "xy_frame0": 10, "y": [5, 6, 10, 13, 15], "y90p": 11, "y_b": 13, "ye": 15, "yet": 10, "yield": 3, "you": [2, 3, 10], "your": [2, 6, 10, 15], "yudong": 2, "yung": 1, "z": [0, 6, 7, 9, 10, 13, 15], "z_b": 13, "za": [0, 15], "zapata": 2, "zero": [3, 4, 7, 10, 14, 15], "zhou": 1, "zurich": 2, "zyz": 13, "\u00b5": [0, 5], "\u03b3": [7, 13, 15], "\u03b4": 10, "\u03b8": [6, 7, 13], "\u03bb": [7, 13], "\u03bc": 15, "\u03c0": [5, 6, 7, 10, 13, 15], "\u03c0_half_sig": 10, "\u03c0_half_tim": 10, "\u03c4": [10, 15], "\u03c6": 13, "\u03d5": 7, "\u2107": 15}, "titles": ["OpenQasm 3.0 Grammar", "OpenQASM Live Specification", "Introduction", "Classical instructions", "Comments", "Circuit timing", "Directives", "Gates", "Language", "Built-in quantum instructions", "OpenPulse Grammar", "Pulse-level descriptions of gates and measurement", "Scoping of variables", "Standard library", "Subroutines", "Types and Casting", "Release Notes"], "titleterms": {"0": [0, 13, 16], "1": 16, "11": 16, "2": 13, "3": 0, "64": 15, "For": 3, "If": 3, "The": 3, "alias": 15, "allow": 15, "angl": [3, 15], "annot": 6, "api": 13, "appli": 7, "arrai": [14, 15], "atom": 10, "barrier": [5, 10], "base": 5, "bibliographi": 1, "bit": [3, 15], "block": [11, 12], "bodi": 11, "bool": 15, "boolean": [3, 15], "box": 5, "branch": 3, "break": 3, "broadcast": 7, "bug": 16, "built": [7, 9, 15], "calibr": 11, "call": 3, "captur": 10, "cast": 15, "circuit": 5, "classic": [3, 15], "collis": 10, "comment": 4, "comparison": 3, "compat": 13, "compil": 15, "complex": [3, 15], "concaten": 15, "constant": 15, "constraint": 15, "continu": 3, "contributor": 2, "control": 7, "convert": 15, "cross": 10, "defcal": 11, "defin": 7, "definit": 7, "delai": [5, 10], "descript": 11, "design": 2, "detail": 2, "direct": 6, "document": 13, "durat": [5, 15], "earli": 3, "els": 3, "evalu": 3, "exampl": 10, "express": [5, 15], "extern": 3, "file": 4, "first": 3, "fix": 16, "float": [3, 15], "frame": 10, "from": [3, 15], "function": [3, 15], "gate": [7, 10, 11, 12, 13], "gener": 3, "geometr": 10, "global": 12, "goal": 2, "grammar": [0, 10], "hardwar": 7, "hierarch": 7, "higher": 3, "highest": 3, "identifi": 15, "implement": [2, 13], "includ": 4, "index": 15, "initi": [9, 10], "inlin": 11, "input": 6, "instruct": [3, 5, 9, 10], "int": 15, "integ": [3, 15], "introduct": 2, "invers": 7, "languag": 8, "level": [3, 11], "librari": 13, "liter": 15, "live": 1, "loop": 3, "low": 3, "lowest": 3, "manipul": 10, "mathemat": 15, "measur": [9, 11], "modifi": 7, "multiplex": 10, "nativ": 7, "neutral": 10, "note": [13, 16], "number": [3, 15], "open": 10, "openpuls": 10, "openqasm": [0, 1, 3, 13], "openqasm3": 15, "oper": [3, 5], "order": 3, "other": [5, 15], "output": 6, "parameter": 7, "phase": 10, "physic": 15, "plai": 10, "point": [3, 15], "port": 10, "power": 7, "practic": 11, "pragma": 6, "preced": 3, "program": 3, "puls": 11, "quantum": [7, 9, 15], "qubit": [13, 15], "question": 10, "rabi": 10, "readout": 10, "real": 15, "regist": [3, 15], "relat": [7, 15], "releas": 16, "reson": 10, "restrict": 11, "scalar": 15, "scope": [2, 12], "set": 15, "singl": 13, "slice": 15, "spec": 16, "specif": [1, 15], "spectroscopi": 10, "standard": 13, "statement": 3, "stretch": [5, 15], "string": 4, "subroutin": [12, 14], "switch": 3, "tab": 15, "termin": 3, "three": 13, "time": [5, 10, 15], "track": 10, "two": 13, "type": [5, 15], "uint": 15, "v3": 16, "valu": 15, "variabl": [12, 15], "version": [4, 13], "void": 15, "waveform": 10, "while": 3}}) \ No newline at end of file +Search.setIndex({"alltitles": {"API Documentation": [[13, "api-documentation"]], "Aliasing": [[15, "aliasing"]], "Allowed casts": [[15, "allowed-casts"]], "Angles": [[3, "angles"], [15, "angles"]], "Annotations": [[6, "annotations"]], "Applying gates": [[7, "applying-gates"]], "Array concatenation and slicing": [[15, "array-concatenation-and-slicing"]], "Arrays": [[15, "arrays"]], "Arrays in subroutines": [[14, "arrays-in-subroutines"]], "Barrier": [[10, "barrier"]], "Barrier instruction": [[5, "barrier-instruction"]], "Bibliography": [[1, "bibliography"]], "Block scope": [[12, "block-scope"]], "Boolean types": [[15, "boolean-types"]], "Boxed expressions": [[5, "boxed-expressions"]], "Breaking and continuing loops": [[3, "breaking-and-continuing-loops"]], "Broadcasting": [[7, "broadcasting"]], "Bug Fixes": [[16, "bug-fixes"]], "Built-in constant expression functions": [[15, "built-in-constant-expression-functions"]], "Built-in constants": [[15, "built-in-constants"]], "Built-in gates": [[7, "built-in-gates"]], "Built-in mathematical functions in OpenQASM3.": [[15, "id7"]], "Built-in quantum instructions": [[9, "built-in-quantum-instructions"]], "Calibrations in practice": [[11, "calibrations-in-practice"]], "Capture Instruction": [[10, "capture-instruction"]], "Casting from angle": [[15, "casting-from-angle"]], "Casting from bit": [[15, "casting-from-bit"]], "Casting from bool": [[15, "casting-from-bool"]], "Casting from float": [[15, "casting-from-float"]], "Casting from int/uint": [[15, "casting-from-int-uint"]], "Casting specifics": [[15, "casting-specifics"]], "Circuit timing": [[5, "circuit-timing"]], "Classical bits and registers": [[3, "classical-bits-and-registers"], [15, "classical-bits-and-registers"]], "Classical instructions": [[3, "classical-instructions"]], "Classical scalar types": [[15, "classical-scalar-types"]], "Classical value bit slicing": [[15, "classical-value-bit-slicing"]], "Collisions": [[10, "collisions"]], "Comments": [[4, "comments"]], "Comparison (Boolean) Instructions": [[3, "comparison-boolean-instructions"]], "Compile-time constants": [[15, "compile-time-constants"]], "Complex numbers": [[3, "complex-numbers"], [15, "complex-numbers"]], "Contributors": [[2, "contributors"]], "Control modifiers": [[7, "control-modifiers"]], "Converting duration to other types": [[15, "converting-duration-to-other-types"]], "Cross-resonance gate": [[10, "cross-resonance-gate"]], "Defining gates": [[7, "defining-gates"]], "Delay": [[10, "delay"]], "Delays (and other duration-based instructions)": [[5, "delays-and-other-duration-based-instructions"]], "Design Goals": [[2, "design-goals"]], "Directives": [[6, "directives"]], "Duration": [[15, "duration"]], "Duration and stretch types": [[5, "duration-and-stretch-types"]], "Evaluation order": [[3, "evaluation-order"]], "Examples": [[10, "examples"]], "Extern function calls": [[3, "extern-function-calls"]], "Floating point numbers": [[15, "floating-point-numbers"]], "Floating-point numbers": [[3, "floating-point-numbers"]], "For loops": [[3, "for-loops"]], "Frame Initialization": [[10, "frame-initialization"]], "Frame Manipulation": [[10, "frame-manipulation"]], "Frames": [[10, "frames"]], "Gates": [[7, "gates"]], "Generalities": [[3, "generalities"]], "Geometric gate": [[10, "geometric-gate"]], "Global scope": [[12, "global-scope"]], "Hierarchical gates definitions": [[7, "hierarchical-gates-definitions"]], "Identifiers": [[15, "identifiers"]], "If-else statements": [[3, "if-else-statements"]], "Implementation Details": [[2, "implementation-details"]], "Included files": [[4, "included-files"]], "Index sets and slicing": [[15, "index-sets-and-slicing"]], "Initial Time": [[10, "initial-time"]], "Initialization": [[9, "initialization"]], "Inline calibration blocks": [[11, "inline-calibration-blocks"]], "Input/output": [[6, "input-output"]], "Integers": [[3, "integers"], [15, "integers"]], "Introduction": [[2, "introduction"]], "Inverse modifier": [[7, "inverse-modifier"]], "Language": [[8, "language"]], "Literals": [[15, "literals"]], "Looping and branching": [[3, "looping-and-branching"]], "Low-level classical instructions": [[3, "low-level-classical-instructions"]], "Measurement": [[9, "measurement"]], "Multiplexed readout and capture": [[10, "multiplexed-readout-and-capture"]], "Neutral atoms": [[10, "neutral-atoms"]], "New Features": [[16, "new-features"]], "Notes for implementations": [[13, "notes-for-implementations"]], "Open Questions": [[10, "open-questions"]], "OpenPulse Grammar": [[10, "openpulse-grammar"]], "OpenQASM 2.0 compatibility": [[13, "openqasm-2-0-compatibility"]], "OpenQASM Live Specification": [[1, "openqasm-version-specification"]], "OpenQasm 3.0 Grammar": [[0, "openqasm-3-0-grammar"]], "Operations on durations": [[5, "operations-on-durations"]], "Parameterized gates": [[7, "parameterized-gates"]], "Phase tracking": [[10, "phase-tracking"]], "Physical Qubits": [[15, "physical-qubits"]], "Physical qubit constraints": [[15, "physical-qubit-constraints"]], "Play and Capture": [[10, "play-and-capture"]], "Play instruction": [[10, "play-instruction"]], "Ports": [[10, "ports"]], "Power modifier": [[7, "power-modifier"]], "Pragmas": [[6, "pragmas"]], "Pulse-level descriptions of gates and measurement": [[11, "pulse-level-descriptions-of-gates-and-measurement"]], "Quantum gate modifiers": [[7, "quantum-gate-modifiers"]], "Quantum types": [[15, "quantum-types"]], "Qubits": [[15, "qubits"]], "Rabi Spectroscopy": [[10, "rabi-spectroscopy"]], "Register concatenation and slicing": [[15, "register-concatenation-and-slicing"]], "Relation of the built-in gates to hardware-native gates": [[7, "relation-of-the-built-in-gates-to-hardware-native-gates"]], "Release Notes": [[16, "release-notes"]], "Restrictions on defcal bodies": [[11, "restrictions-on-defcal-bodies"]], "Scope": [[2, "scope"]], "Scoping of variables": [[12, "scoping-of-variables"]], "Single-qubit gates": [[13, "single-qubit-gates"]], "Standard library": [[13, "standard-library"]], "Stretch": [[15, "stretch"]], "Subroutine and gate scope": [[12, "subroutine-and-gate-scope"]], "Subroutines": [[14, "subroutines"]], "Terminating the program early": [[3, "terminating-the-program-early"]], "The Switch statement": [[3, "the-switch-statement"]], "Three-qubit gates": [[13, "three-qubit-gates"]], "Timing": [[10, "timing"]], "Two-qubit gates": [[13, "two-qubit-gates"]], "Types and Casting": [[15, "types-and-casting"]], "Types related to timing": [[15, "types-related-to-timing"]], "Upgrade Notes": [[16, "upgrade-notes"]], "Variables": [[15, "variables"]], "Version string": [[4, "version-string"]], "Versioning": [[13, "versioning"]], "Void type": [[15, "void-type"]], "Waveforms": [[10, "waveforms"]], "While loops": [[3, "while-loops"]], "[operator-precedence] operator precedence in OpenQASM ordered from highest precedence to lowest precedence. Higher precedence operators will be evaluated first.": [[3, "id8"]], "[tab:real-constants] Built-in real constants in OpenQASM3 of type float[64].": [[15, "id6"]], "spec/v3.1.0-12": [[16, "spec-v3-1-0-12"]]}, "docnames": ["grammar/index", "index", "intro", "language/classical", "language/comments", "language/delays", "language/directives", "language/gates", "language/index", "language/insts", "language/openpulse", "language/pulses", "language/scope", "language/standard_library", "language/subroutines", "language/types", "release_notes"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinxcontrib.bibtex": 9}, "filenames": ["grammar/index.rst", "index.rst", "intro.rst", "language/classical.rst", "language/comments.rst", "language/delays.rst", "language/directives.rst", "language/gates.rst", "language/index.rst", "language/insts.rst", "language/openpulse.rst", "language/pulses.rst", "language/scope.rst", "language/standard_library.rst", "language/subroutines.rst", "language/types.rst", "release_notes.rst"], "indexentries": {"ccx": [[13, "ccx", false]], "ch": [[13, "ch", false]], "cp": [[13, "cp", false]], "cphase": [[13, "cphase", false]], "crx": [[13, "crx", false]], "cry": [[13, "cry", false]], "crz": [[13, "crz", false]], "cswap": [[13, "cswap", false]], "cu": [[13, "cu", false]], "cx": [[13, "CX", false], [13, "cx", false]], "cy": [[13, "cy", false]], "cz": [[13, "cz", false]], "gphase": [[7, "gphase", false]], "h": [[13, "h", false]], "id": [[13, "id", false]], "p": [[13, "p", false]], "phase": [[13, "phase", false]], "rx": [[13, "rx", false]], "ry": [[13, "ry", false]], "rz": [[13, "rz", false]], "s": [[13, "s", false]], "sdg": [[13, "sdg", false]], "swap": [[13, "swap", false]], "sx": [[13, "sx", false]], "t": [[13, "t", false]], "tdg": [[13, "tdg", false]], "u": [[7, "U", false]], "u1": [[13, "u1", false]], "u2": [[13, "u2", false]], "u3": [[13, "u3", false]], "x": [[13, "x", false]], "y": [[13, "y", false]], "z": [[13, "z", false]]}, "objects": {"": [[13, 0, 1, "", "CX"], [7, 0, 1, "", "U"], [13, 0, 1, "", "ccx"], [13, 0, 1, "", "ch"], [13, 0, 1, "", "cp"], [13, 0, 1, "", "cphase"], [13, 0, 1, "", "crx"], [13, 0, 1, "", "cry"], [13, 0, 1, "", "crz"], [13, 0, 1, "", "cswap"], [13, 0, 1, "", "cu"], [13, 0, 1, "", "cx"], [13, 0, 1, "", "cy"], [13, 0, 1, "", "cz"], [7, 0, 1, "", "gphase"], [13, 0, 1, "", "h"], [13, 0, 1, "", "id"], [13, 0, 1, "", "p"], [13, 0, 1, "", "phase"], [13, 0, 1, "", "rx"], [13, 0, 1, "", "ry"], [13, 0, 1, "", "rz"], [13, 0, 1, "", "s"], [13, 0, 1, "", "sdg"], [13, 0, 1, "", "swap"], [13, 0, 1, "", "sx"], [13, 0, 1, "", "t"], [13, 0, 1, "", "tdg"], [13, 0, 1, "", "u1"], [13, 0, 1, "", "u2"], [13, 0, 1, "", "u3"], [13, 0, 1, "", "x"], [13, 0, 1, "", "y"], [13, 0, 1, "", "z"]]}, "objnames": {"0": ["oq", "gate", "OpenQASM gate"]}, "objtypes": {"0": "oq:gate"}, "terms": {"": [0, 1, 3, 5, 6, 9, 10, 11, 12, 13, 15], "0": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15], "0000": 3, "00000000": 3, "00001111": 15, "0001": 3, "00010001": 15, "00011110": 3, "0001_0001": 15, "0010": 3, "0010_1010": 15, "0011": 3, "00111110": 3, "00111111": 15, "01": 0, "0100": 3, "010000": 15, "01000000": 15, "0101_0001": 15, "0111": 3, "01110000": [3, 15], "03429": 2, "03452v1": 1, "044006": 1, "05": 11, "05im": 11, "0625": 15, "0b": [0, 15], "0b00": 3, "0b01": 3, "0b0110_1001": 15, "0b10": 3, "0b11": 3, "0b1101": 15, "0b1111": 15, "0e": 15, "0e9": [10, 11], "0im": [3, 10, 15], "0n": 10, "0o": [0, 15], "0o73": 15, "0x": [0, 15], "0xaf": 15, "0xbeef": 15, "0xf": 15, "0xff": 15, "0xffff_ffff": 15, "1": [1, 2, 3, 5, 6, 7, 10, 11, 12, 14, 15], "10": [1, 3, 9, 12, 14, 15], "100": [10, 12], "1000": [3, 5, 15], "10001111": 3, "1000dt": 15, "1000m": [5, 15], "1001": 3, "100101": 3, "100dt": 10, "100e": 10, "100n": 10, "1010": [3, 15], "101100": 3, "1024dt": 10, "1038": 1, "10694695640729072": 3, "1088": 1, "10u": 10, "1110": 3, "11111111": 3, "1114571327": 1, "1145": 1, "11971": 1, "12": [1, 3, 5, 12, 15], "123": 0, "12345678": 6, "1234_5678": 0, "123e": 0, "123e5": 0, "127": 15, "128dt": 10, "1316": 3, "13952dt": 10, "13e": 10, "13n": 10, "14": [1, 6, 11], "1415926535": 15, "145": 0, "15": [3, 15], "150n": 5, "16": [2, 3, 12, 15], "16000dt": 10, "160dt": 11, "160t": 11, "16n": 10, "1707": 2, "17536481119721312im": 3, "18": [1, 10], "1809": 1, "182": 1, "184": 1, "1984": 1, "1989": 1, "1995": 1, "1_00": 0, "1_000_000": 15, "1_123e": 0, "1dt": 10, "1e3": 0, "1e6": 10, "1e9": [10, 11], "1im": [10, 11], "1m": 10, "1n": 15, "2": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15], "20": [1, 3, 10, 11, 15], "200": [5, 12], "2003": 1, "200dt": 5, "2014": 1, "2018": 1, "2020": 1, "2021": 1, "2022": 1, "2058": 1, "20dt": 10, "240dt": 11, "25": 15, "250n": 5, "256": 15, "262dt": 10, "283185": 15, "283185307179586": 15, "29n": 10, "2c": 15, "2e": 15, "2e10": 15, "2e9": [10, 11], "2im": 11, "2x3x4": 15, "2\u03c0": [7, 10], "3": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "30": 3, "300e6": 10, "300n": 5, "301": 10, "31": 15, "3123939": 1, "3123952": 1, "32": [3, 6, 10, 11, 14, 15], "32dt": 10, "32e": 0, "32n": 10, "36": 12, "37": 3, "3x2": 15, "4": [0, 1, 2, 3, 5, 6, 7, 10, 12, 13, 14, 15], "400": 12, "40dt": 11, "4294967296": 3, "4294967306": 3, "44": 3, "456": 0, "4n": 10, "4x3x2": 15, "4\u03c0": 7, "5": [1, 2, 3, 5, 10, 11, 12, 14, 15], "500": 15, "500n": 15, "50th": 1, "512": 15, "53": 3, "55": [3, 12], "560dt": 11, "5e": 15, "5e9": 10, "5im": 15, "5p1": 10, "5s1": 10, "6": [3, 10, 12, 15], "60": 3, "63": 15, "64": [2, 3, 10, 12], "6e9": 10, "7": [0, 3, 15], "7182818284": 15, "754": 15, "8": [3, 10, 12, 14, 15], "80": 3, "800dt": 5, "9": [0, 3, 10, 12, 15], "95": [1, 7], "9565": 1, "9a": 0, "9e9": 11, "A": [0, 1, 2, 3, 4, 5, 6, 7, 10, 12, 13, 14, 15], "AND": 3, "AT": 0, "As": [0, 3, 5, 7, 10, 11, 12, 15], "At": [2, 10], "But": 10, "By": [5, 11], "FOR": 0, "For": [0, 2, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15], "IF": 0, "IN": 0, "If": [2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15], "In": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 15], "It": [0, 2, 3, 5, 10, 11, 12, 15], "Its": [2, 13], "NOT": 15, "No": [6, 12, 15], "Not": 12, "OR": 3, "One": [10, 11], "Or": 10, "Such": 15, "That": [3, 7], "The": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "There": [0, 5, 7, 10, 12, 15], "These": [0, 3, 6, 10, 12, 13, 15], "To": [7, 11, 15], "With": 15, "_": [0, 10, 13, 15], "_a": 13, "_b": 13, "_n": 15, "_no_": 0, "_py3": 1, "a_in_": 15, "a_in_n": 15, "aa": [14, 15], "aba404": 1, "abhari": [1, 2], "abil": [5, 10, 11], "abl": [0, 3, 7, 14, 15], "about": [0, 5, 7, 10, 13, 14, 15], "abov": [3, 6, 12, 13, 15], "absolut": 10, "abstract": 10, "accept": [2, 6, 7, 12, 15], "access": [1, 3, 10, 11, 12, 14, 15], "accommod": [3, 15], "accord": [14, 15], "account": [5, 6], "accru": 10, "accumul": [0, 7], "achiev": [2, 11], "acm": 1, "acousto": 10, "acquir": 3, "acquisit": 10, "across": [5, 6, 11], "act": [2, 5, 7, 10, 15], "action": [13, 16], "activ": [10, 12], "actual": [0, 5, 15], "actuat": 10, "ad": [2, 6, 7, 10, 12, 13], "add": [5, 7, 10], "addison": 1, "addit": [3, 6, 7, 10, 12, 13, 15], "addition": [14, 15], "additiveexpress": 0, "address": [3, 10], "adjoint": 13, "adjust": 10, "admit": 2, "advanc": 10, "advantag": [7, 10], "affect": [3, 5, 12], "aforement": 15, "after": [3, 4, 5, 6, 10, 12, 14, 15], "again": [0, 7, 10, 12], "agre": 10, "aim": [2, 5, 10], "ajallooiean": 2, "ak": [1, 10], "akin": 10, "al": 10, "albeit": 7, "alberto": 1, "alexand": [1, 2], "algorithm": [2, 6], "ali": [1, 2], "alia": [3, 12, 13, 15], "alias": [0, 1, 3, 8, 12, 13], "aliasdeclarationstat": 0, "aliasexpress": 0, "alic": 6, "align": [5, 10, 13, 15, 16], "alignedat": 13, "all": [0, 2, 3, 5, 6, 7, 10, 11, 12, 13, 14, 15], "all_qubit": 12, "allevi": 5, "alloc": [10, 12, 14, 15], "allow": [0, 2, 3, 5, 6, 7, 8, 10, 11, 12, 14], "along": 7, "alreadi": [0, 12], "also": [0, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15], "alsolastelem": 15, "alsolastlastelem": 15, "alsosignbit": 15, "altern": [0, 5, 10, 13], "although": 7, "alwai": [0, 2, 3, 14, 15], "al\u00e1n": 1, "ambigu": 0, "amongst": 15, "amort": 6, "amount": [10, 11], "amp": [5, 10, 11], "ampersand": 0, "amplif": 2, "amplifi": 10, "amplitud": 10, "an": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "analog": [3, 10, 11, 15], "analogi": 10, "analysi": [0, 7], "ancilla": 14, "andrew": 2, "ang": [3, 10], "angl": [0, 6, 7, 8, 10, 11, 13, 14], "angle_as_uint": 15, "anharm": 10, "ani": [0, 2, 3, 5, 6, 7, 10, 13, 14, 15], "annex": 3, "annoi": 0, "annot": [0, 1, 8], "annotationkeyword": 0, "annual": 1, "anonym": [7, 12], "anoth": [3, 5, 10, 11, 15], "anotherthre": 15, "anothertwod": 15, "ansatz": 6, "anticip": 14, "antlr": 0, "antlr4": 0, "antonio": 1, "anywher": 3, "aod": 10, "aod_port": 10, "api": [1, 8], "app": 8, "appear": [0, 3, 4, 5, 7, 10, 15], "appendix": 8, "appli": [1, 3, 5, 6, 8, 10, 11, 13, 15], "applic": [2, 10, 13], "appropri": [3, 5, 10, 15], "approxim": [7, 12, 15], "ar": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "arb_waveform": 10, "arbitrari": [0, 5, 7, 10, 11], "arbitrary_str": 0, "arbitrary_string_whitespac": 0, "arcco": 15, "architectur": [13, 15], "arcsin": 15, "arctan": 15, "argument": [0, 3, 5, 7, 9, 10, 13, 14, 15], "argumentdefinit": 0, "argumentdefinitionlist": 0, "arithmet": [3, 5, 15], "around": [5, 13], "arr": 14, "arr_arg": 14, "arr_subroutin": 14, "arrai": [0, 1, 3, 7, 8, 10, 12, 16], "arrayliter": 0, "arrayreferencetyp": 0, "arraytyp": 0, "arriv": 3, "arrow": 0, "arxiv": [1, 2], "ascii": 15, "aspect": 5, "aspuru": 1, "assembli": 8, "assert": 6, "assign": [0, 3, 5, 9, 13, 14, 15], "assignmentstat": 0, "assoc": 0, "associ": [3, 7, 10, 12, 14, 15], "assum": [4, 5, 6, 7, 10, 15], "ast": 0, "asterisk": 0, "atom": 8, "attach": [2, 5, 6, 10, 15], "attempt": [0, 2, 5, 13, 15], "attribut": 10, "august": 1, "auto": 0, "automat": [1, 3, 11, 13, 15], "avail": [3, 9, 10, 12, 13, 15], "averag": 10, "avoid": [0, 6, 7], "aw": 2, "awar": 0, "axi": [10, 13], "b": [1, 3, 5, 6, 7, 9, 10, 12, 13, 15], "b1": 15, "b2": 15, "ba": 13, "back": [11, 12], "backend": [0, 1, 3, 5, 10, 11, 15], "background": 2, "backtrack": 5, "backward": [6, 9, 13, 15], "balanc": 0, "barenco": 1, "barrier": [0, 1, 8, 11], "barrierstat": 0, "base": [0, 1, 2, 3, 7, 8, 10, 13, 14, 15, 16], "bashig": 2, "basi": [0, 6, 7, 9, 14], "basic": 3, "bb": [14, 15], "bbc": [1, 7], "beaudrap": 2, "becam": 13, "becaus": [0, 5, 7, 10, 11, 12, 14, 15], "becom": [2, 3, 5, 7, 12], "been": [2, 3, 10, 12], "befor": [0, 3, 5, 7, 9, 12], "begin": [4, 5, 6, 7, 10, 12, 13, 15], "behav": [7, 10, 12, 15], "behavior": [3, 6, 15], "behaviour": [2, 15], "being": [0, 10, 12, 13, 14, 15, 16], "bello": 1, "belong": 3, "below": [3, 5, 11, 13, 14, 15], "bennett": 1, "best": 1, "beta": [10, 11], "better": 0, "between": [0, 2, 3, 5, 6, 7, 10, 12, 13, 15, 16], "beyond": 5, "bibbi": 1, "bidirect": 10, "biercuk": 1, "bigl": 13, "bigr": 13, "bill": 6, "binari": [3, 6, 15], "binaryintegerliter": 0, "bind": [0, 6, 10, 11], "bishop": [1, 2], "bit": [0, 1, 6, 7, 8, 9, 10, 11, 14, 16], "bit_arrai": 15, "bitshiftexpress": 0, "bitshiftoper": 0, "bitstr": 15, "bitstringliter": 0, "bitwis": [3, 15], "bitwiseandexpress": 0, "bitwiseorexpress": 0, "bitwisexorexpress": 0, "blake": 2, "blank": 5, "bloch": 10, "block": [0, 1, 3, 4, 7, 8, 10], "blockcom": 0, "bodi": [0, 1, 3, 7, 8, 12, 14, 15], "bookkeep": 10, "bool": [0, 3, 8, 16], "boolean": [7, 8], "booleanliter": 0, "bootstrap": 11, "both": [0, 2, 3, 6, 7, 9, 10, 13, 14, 15], "bottom": 9, "bound": 10, "boundari": 15, "box": [0, 1, 6, 8, 12], "boxcar": 10, "boxstat": 0, "brace": [0, 3, 15], "bracket": [3, 5, 12, 15], "braket": 5, "branch": [1, 7, 8, 10, 11], "break": [0, 8], "breakstat": 0, "brief": 15, "briefli": 10, "brien": 1, "british": 1, "broadcast": [8, 9, 15], "broader": 2, "broadli": 12, "buffer": 10, "bug": 1, "build": [3, 6, 7], "built": [1, 8, 12, 13, 14], "builtin": [0, 13, 15], "bulk": 0, "burden": 0, "byte": [15, 16], "c": [0, 1, 3, 5, 7, 9, 12, 13, 14, 15], "c1": [3, 15], "c2": [14, 15], "c99": [3, 15], "c_1": 7, "c_2": 7, "c_n": 7, "c_u": 7, "cal": [0, 10, 11, 12], "cal_block": 0, "cal_block_rbrac": 0, "cal_prelud": 0, "cal_prelude_com": 0, "cal_prelude_lbrac": 0, "cal_prelude_whitespac": 0, "calcul": [0, 1, 2, 5, 7], "calibr": [0, 1, 2, 5, 8, 10, 12, 15], "calibrationblock": 0, "calibrationgrammarstat": 0, "call": [0, 1, 5, 7, 8, 10, 11, 13, 14, 15], "callexpress": 0, "calstat": 0, "cambridg": 1, "can": [0, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15], "cancel": 5, "cannot": [0, 2, 7, 10, 12, 14, 15, 16], "cao": 2, "cap": [0, 13], "cap0": 10, "capelluto": 1, "captur": [1, 5, 8, 11], "capture_fram": 10, "capture_v0": 10, "capture_v1": 10, "capture_v2": 10, "capture_v3": 10, "capture_v4": 10, "care": [5, 7], "caret": 0, "carri": 3, "carrier": 10, "case": [0, 2, 3, 5, 6, 7, 8, 10, 11, 14, 15], "cast": [1, 3, 8], "castexpress": 0, "categori": [1, 15], "caus": [0, 3, 11, 13], "cb": 13, "cba": 13, "cc": 7, "ccx": 13, "cdot": 15, "ceil": 15, "center": [2, 5, 9, 10], "certain": [0, 6, 7, 12, 15], "ch": 13, "chain": 10, "challeng": 5, "chang": [3, 6, 10, 11, 13, 16], "char": 0, "charact": [1, 5, 15], "character": 5, "check": [0, 14, 15], "chen": 1, "choic": [2, 6, 7], "choos": [6, 10, 11, 15], "chosen": [10, 11, 13, 15], "chow": 1, "christoph": 1, "cin": 14, "circuit": [1, 2, 3, 6, 7, 8, 9, 10, 11, 15], "circular": 3, "cite": 10, "clash": [13, 16], "class": 14, "classic": [0, 1, 2, 6, 7, 8, 11, 14, 16], "classicaldeclarationstat": 0, "classifi": [10, 11], "clear": 10, "clearli": 3, "cleve": 1, "clock": 10, "close": [3, 12, 15], "closest": [3, 15], "cloud": 1, "cnot": [5, 6, 7, 15], "co": [13, 15], "code": [0, 3, 5, 7, 10, 13], "coher": [3, 10], "collaps": 10, "collect": 11, "collis": 8, "colm": 2, "colon": [0, 13], "combin": [3, 5, 10, 15], "comma": [0, 3, 7, 15], "command": 10, "comment": [0, 1, 8], "common": 10, "commonli": 3, "commun": [1, 2, 6, 10, 11], "commut": [5, 7], "compact": 7, "companion": 12, "compar": 3, "comparison": 8, "comparisonexpress": 0, "comparisonoper": 0, "compat": [2, 6, 8, 9, 15], "compil": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 14], "compile_qasm": 6, "complement": 15, "complet": [2, 12, 16], "complex": [0, 2, 5, 8, 10, 11], "compliant": 15, "complic": [5, 6], "compon": [3, 10, 11, 15], "compos": [5, 10, 11], "compound": 3, "compoundassignmentoper": 0, "compris": 7, "comput": [0, 1, 2, 3, 6, 7, 9], "con22": [1, 15], "concat": 15, "concaten": [1, 3, 8], "concept": [5, 10], "conceptu": 10, "concern": [13, 16], "concis": 15, "conclus": 12, "concurr": [2, 3], "condit": [3, 7, 15], "conduct": 0, "confer": 1, "configur": [10, 11], "confus": 15, "connect": [3, 10, 11], "consecut": 15, "consequ": 11, "consid": [5, 6, 10, 11, 13, 15], "consider": [2, 16], "consist": [0, 5, 10, 13, 14, 15], "const": [0, 2, 3, 5, 10, 11, 12, 14, 15], "constant": [0, 1, 2, 3, 5, 7, 8, 10, 11, 12], "constdeclarationstat": 0, "constitut": 7, "constrain": [5, 7, 15], "constraint": [5, 8], "construct": [0, 7, 10, 11, 12], "consult": [2, 6, 15], "consum": [0, 6], "contain": [0, 3, 5, 7, 10, 11, 12, 15], "content": [0, 4, 11, 13, 15], "context": [0, 5, 7, 10, 14], "contigu": 15, "continu": [0, 4, 6, 8, 15], "continuestat": 0, "contrari": 5, "contrast": 13, "contribut": 2, "contributor": 1, "control": [0, 2, 3, 5, 8, 10, 11, 12, 13, 14, 15], "control_flag": 6, "convei": 10, "conveni": [7, 13, 15], "convent": [0, 10, 13, 15], "convention": 13, "convers": [3, 7, 10, 15], "convert": [5, 8, 10], "copi": [3, 15], "core": 10, "correct": [0, 5, 10, 16], "correctli": 0, "correpsond": 15, "correspond": [3, 5, 7, 9, 11, 12, 15], "cosin": 15, "cost": [6, 15], "could": [0, 10, 11, 13, 14], "count": 10, "coupl": 10, "cover": [7, 12], "cp": 13, "cphase": [7, 13], "cr90m": 11, "cr90p": 11, "creat": [0, 3, 5, 6, 15], "creation": 14, "creg": [0, 6, 15], "critic": 11, "cross": [2, 8, 11, 15], "cross_reson": 10, "crosstalk": [5, 6], "crx": [13, 16], "cry": [13, 16], "crz": [7, 13], "cswap": 13, "ct": 10, "ctrl": [0, 7, 13], "cu": 13, "curli": [3, 12], "current": [0, 3, 7, 10, 12], "custom": 6, "cut": 7, "cx": [5, 7, 11, 13, 14, 15], "cy": 13, "cycl": 4, "cz": 13, "d": [1, 3, 5, 10, 12, 14, 15], "d0": [10, 11], "d0f": 11, "d1": 10, "d_real": 15, "dagger": [7, 13], "daniel": 1, "data": [2, 3, 10, 11, 15], "david": 1, "dd": 5, "ddt": 5, "de": [2, 13], "deal": 10, "decemb": 1, "decid": 10, "decim": [4, 15], "decimalintegerliter": 0, "declar": [0, 2, 3, 6, 7, 10, 11, 12, 14, 15], "declarationexpress": 0, "decoher": 5, "decompos": 15, "decomposit": [7, 15], "decoupl": [2, 5], "def": [0, 3, 5, 12, 14, 15], "default": [0, 3, 11, 14, 15], "default_mod": 0, "defcal": [0, 1, 3, 6, 7, 8, 10, 12, 13, 15], "defcal_prelud": 0, "defcal_prelude_angl": 0, "defcal_prelude_arrai": 0, "defcal_prelude_arrow": 0, "defcal_prelude_asterisk": 0, "defcal_prelude_binaryintegerliter": 0, "defcal_prelude_bit": 0, "defcal_prelude_bitshiftoper": 0, "defcal_prelude_bitstringliter": 0, "defcal_prelude_bool": 0, "defcal_prelude_com": 0, "defcal_prelude_comma": 0, "defcal_prelude_complex": 0, "defcal_prelude_creg": 0, "defcal_prelude_decimalintegerliter": 0, "defcal_prelude_delai": 0, "defcal_prelude_dur": 0, "defcal_prelude_float": 0, "defcal_prelude_floatliter": 0, "defcal_prelude_hardwarequbit": 0, "defcal_prelude_hexintegerliter": 0, "defcal_prelude_identifi": 0, "defcal_prelude_int": 0, "defcal_prelude_lbrac": 0, "defcal_prelude_lbracket": 0, "defcal_prelude_lparen": 0, "defcal_prelude_measur": 0, "defcal_prelude_minu": 0, "defcal_prelude_octalintegerliter": 0, "defcal_prelude_plu": 0, "defcal_prelude_qreg": 0, "defcal_prelude_qubit": 0, "defcal_prelude_rbracket": 0, "defcal_prelude_reset": 0, "defcal_prelude_rparen": 0, "defcal_prelude_slash": 0, "defcal_prelude_uint": 0, "defcal_prelude_whitespac": 0, "defcalargumentdefinit": 0, "defcalargumentdefinitionlist": 0, "defcalgrammar": [0, 10, 11], "defcaloperand": 0, "defcaloperandlist": 0, "defcalstat": 0, "defcaltarget": 0, "defin": [0, 1, 2, 3, 5, 6, 8, 10, 11, 12, 13, 14, 15], "definit": [0, 2, 3, 5, 8, 10, 11, 12, 13, 14, 15], "deflector": 10, "defstat": 0, "delai": [0, 1, 8, 11], "delaystat": 0, "delft": 1, "delimit": [7, 15], "demonstr": [7, 11, 15], "denot": [5, 7, 15], "depend": [3, 5, 7, 10, 12, 15], "depict": 9, "deriv": 5, "describ": [2, 3, 6, 8, 9, 10, 11, 12, 13, 15, 16], "descript": [1, 2, 5, 7, 8, 10, 12, 13, 16], "design": [0, 1, 5, 15], "desir": [10, 11, 13], "despit": 15, "detail": [1, 3, 4, 10, 11, 12, 15], "detect": [7, 10], "determin": [2, 6, 10, 15], "detun": 10, "develop": [0, 2, 10], "deviat": 10, "devic": [6, 10, 11, 15], "diag": 7, "diagnost": 3, "dic21": [1, 10], "dicarlo": 1, "dicarlolab": 1, "did": [6, 12], "differ": [0, 2, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16], "difficult": 10, "diffract": 10, "digit": [0, 10, 15], "dim": [0, 14], "dimens": [14, 15], "dimension": [3, 10, 15], "direct": [0, 1, 8, 12, 15], "directli": [0, 3, 10, 12, 13, 15], "disambigu": [0, 13], "discard": [9, 15], "discourag": 15, "discret": [3, 6], "discrimin": [3, 10], "discrimn": 10, "discuss": [3, 10, 15], "distanc": [5, 15], "distil": 10, "distinct": [12, 13, 15, 16], "distinguish": [5, 7, 11], "divid": [3, 5, 15], "divincenzo": 1, "divis": [3, 5, 15], "dl": 1, "do": [0, 3, 5, 7, 10, 11, 12, 13, 14, 15], "document": [1, 2, 6, 8, 10, 12, 15], "doe": [0, 2, 3, 5, 6, 7, 10, 11, 12, 14, 15], "doesn": 0, "doi": 1, "domain": 7, "don": 0, "donald": 1, "done": 15, "dot": [0, 10, 15], "doubl": [10, 13, 15], "double_ampersand": 0, "double_asterisk": 0, "double_pip": 0, "double_plu": 0, "down": 10, "dq": 10, "draft": 2, "drag": [10, 11], "drawn": 5, "drive": 10, "drive0": 10, "drive_port0": 10, "drivefram": 10, "driveframe0": 10, "driveframe1": 10, "driveframe2": 10, "driveframe3": 10, "dsp": 10, "dt": [0, 5, 10, 15], "dual": 8, "duan": 1, "due": [10, 11, 12, 13], "duplic": [0, 3], "durat": [0, 1, 2, 3, 8, 10, 11, 13], "duration0": 5, "durationof": [0, 5, 10, 11, 15], "durationofexpress": 0, "dure": [5, 10], "dx": 1, "dynam": [2, 5, 10, 14, 15], "e": [1, 3, 5, 7, 9, 10, 11, 13, 14, 15], "each": [3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15], "earli": [1, 8], "earlier": 11, "eas": 13, "easier": [2, 10], "easili": [2, 6, 14], "eat_initial_spac": 0, "eat_line_end": 0, "eat_to_line_end": 0, "ebnf": 0, "echo": [5, 10], "ed": 10, "ee": 0, "effect": [3, 5, 10, 15], "effici": [2, 15], "effort": 10, "eg": [6, 10], "egger": 1, "eigensolv": 6, "eigenst": 9, "eigenvalu": 1, "either": [3, 5, 6, 10, 15], "electrical_delai": 10, "electro": 10, "element": [0, 3, 7, 11, 15], "elementari": 1, "els": [0, 6, 8, 11, 12], "else_bodi": 0, "elsewher": 4, "embed": [2, 3], "emit": [10, 11, 15], "empti": [0, 7, 14, 15], "emul": 15, "en": 1, "enabl": [1, 2, 3, 10, 11], "enclos": [3, 11], "enclosur": 5, "encount": [6, 10], "encyclopedia": 1, "end": [0, 3, 4, 5, 6, 7, 10, 12, 13], "end_stretch": 5, "endian": 15, "endstat": 0, "enforc": 7, "ensur": [0, 5], "entangl": 7, "enter": [0, 10, 12], "entir": [5, 6, 9, 10, 11], "entiti": [0, 12], "entri": [10, 11, 12], "envelop": 10, "environ": 2, "envis": 3, "eof": 0, "eom": 10, "eom_a_port": 10, "eom_b_port": 10, "epsilon": 15, "equal": [0, 3, 5, 15], "equalityexpress": 0, "equalityoper": 0, "equidist": 5, "equiv": 3, "equival": [3, 5, 7, 9, 10, 11, 13, 15, 16], "error": [2, 3, 5, 7, 10, 12, 15, 16], "ervin": 1, "estim": 6, "et": 10, "etc": [3, 14], "euler": [13, 15], "evalu": [2, 7, 8, 15], "even": [2, 3, 5, 10, 12, 15], "evenbit": 15, "evenli": 5, "ever": [0, 12], "everi": [3, 7, 10, 15], "every_second": 15, "evolut": 10, "exact": [0, 5, 10, 15], "exactli": [3, 5, 13, 15], "exampl": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15], "except": [0, 2, 3, 10, 15], "exclamation_point": 0, "execut": [1, 2, 3, 5, 6, 7, 10, 15], "exert": 10, "exhaust": 12, "exist": [3, 5, 7, 10, 11, 15], "exit": 14, "exp": [1, 2, 10, 13, 15], "expand": [3, 7], "expans": 2, "expect": [2, 3, 6, 10, 11, 12, 15], "expens": 15, "experi": [1, 5, 10, 13], "experiment": 1, "explain": 2, "explicit": [0, 2, 3, 5, 6, 13, 14, 15, 16], "explicitli": [2, 3, 5, 10, 11, 12, 13, 15, 16], "explor": 10, "expon": [0, 15], "exponenti": [7, 15], "expos": [10, 11, 15], "express": [0, 1, 2, 3, 4, 6, 7, 8, 14, 16], "expressionlist": 0, "expressionstat": 0, "extend": [2, 5, 6, 8, 10, 12], "extens": [0, 2, 6, 10], "extern": [0, 1, 2, 8, 10, 11, 12, 14, 15], "externargu": 0, "externargumentlist": 0, "externstat": 0, "extract": 15, "f": [0, 3, 7, 10, 15], "f1": [10, 15], "f2": 15, "f3": 15, "f4": 15, "f5": 15, "f6": 15, "fa": 0, "facil": 2, "facto": 13, "factor": [10, 13], "failur": 0, "faithfulli": 10, "fals": [0, 3, 15], "famili": [2, 7], "fast": 3, "feasibl": 7, "featur": [1, 2, 6, 15], "feed": 2, "feedback": [2, 15], "fewer": 15, "ffi": 15, "field": [10, 11, 15], "fig": [5, 7, 9], "figur": 5, "file": [0, 1, 6, 8, 11, 12, 13], "filenam": 4, "filipp": 1, "fill": [5, 15], "filter": 10, "final": [2, 9, 15], "find": [10, 15], "finit": 5, "first": [0, 4, 10, 12, 13, 15], "firstdim": 14, "firstelem": 15, "firstidcharact": 0, "firstlastelem": 15, "five": 15, "fix": [1, 5, 7, 10, 15], "flat": 10, "flexibl": [2, 10], "flip": [9, 11], "float": [0, 2, 5, 7, 8, 10, 11, 12], "floatliter": 0, "floatliteralexpon": 0, "floor": 15, "flop": 10, "flow": [0, 2, 3, 10, 11, 12], "fn": [0, 3], "fold": 2, "follow": [2, 3, 4, 5, 6, 7, 10, 12, 13, 14, 15], "font": 5, "foo": 3, "forbidden": [5, 14, 15], "forc": 10, "form": [0, 2, 3, 6, 7, 8, 12, 13, 15], "formal": [8, 13], "format": [0, 10], "forstat": 0, "forth": 11, "forthcom": 2, "forward": [2, 4, 12], "found": [4, 5, 11, 15], "four": [10, 12, 13], "fourth": 13, "fq_01": 10, "fr": 10, "frac": [7, 15], "fraction": 15, "fragment": 0, "frame": [1, 7, 8, 11], "frame0": 10, "frame1": 10, "frame2": 10, "frame_01": 10, "frame_12": 10, "free": [1, 5, 6, 13], "freeli": [7, 11], "freq": [10, 11], "frequenc": 10, "frequency_num_step": 10, "frequency_start": 10, "frequency_step": 10, "from": [0, 2, 5, 7, 8, 10, 11, 12, 13, 14], "fsim": 7, "full": [2, 3, 7], "fulli": [2, 5, 10, 13, 15], "function": [0, 1, 2, 5, 6, 7, 8, 10, 12, 14], "fundament": [11, 15], "further": [2, 5, 9, 11, 12, 15], "furthermor": [0, 11], "futur": [6, 10, 15], "g": [3, 5, 7, 10, 11, 15], "g0": 7, "g1": 7, "g2": 7, "g3": 7, "g4": 7, "gambetta": [1, 2], "gamma": [7, 13, 15], "gate": [0, 1, 2, 3, 5, 6, 8, 15, 16], "gate_nois": 6, "gatecallstat": 0, "gatemodifi": 0, "gateoperand": 0, "gateoperandlist": 0, "gatestat": 0, "gaussian": [10, 11], "gaussian_squar": [10, 11], "gener": [0, 1, 2, 6, 7, 8, 10, 11, 12, 14, 15, 16], "general_categori": 1, "generalidcharact": 0, "geo_gat": 10, "geometr": 8, "geq": 15, "get": [5, 10], "get_frequ": 10, "get_phas": 10, "ghz": 10, "github": 1, "give": [3, 5, 7, 8], "given": [2, 3, 5, 6, 7, 10, 11, 13, 14, 15], "global": [1, 3, 4, 7, 8, 10, 11, 13, 14, 15], "glue": 5, "go": [7, 15], "goal": 1, "gomez": 1, "gphase": [0, 7, 13], "grammar": [1, 3, 6, 8, 11, 12], "grammat": 0, "granular": 10, "greater": [0, 3, 15], "grow": [5, 15], "guarante": [0, 3, 14, 15], "guid": 0, "guzik": 1, "h": [1, 3, 5, 6, 7, 11, 12, 13, 14, 15], "h_b": 13, "ha": [0, 2, 3, 5, 6, 7, 10, 11, 12, 13, 15], "had": [3, 13], "hadamard": [3, 7, 13], "hahn": 10, "half": [5, 10, 13], "ham": 3, "hamiltonian": 10, "hand": [3, 15], "handl": [0, 3, 10, 12], "happen": [5, 6, 7, 14, 16], "hard": 5, "hardcod": 10, "hardwar": [1, 2, 3, 8, 10, 12, 15], "hardwarequbit": 0, "have": [0, 2, 3, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16], "healthi": 6, "help": [5, 10], "here": [0, 3, 4, 10, 12, 13], "heterogen": 5, "hex": 15, "hexintegerliter": 0, "hide": 10, "hierarch": 8, "high": [2, 3, 5], "higher": [0, 2, 5, 10, 15], "hilbert": 7, "hit": 0, "hold": [7, 15], "hong": 1, "hossein": 2, "host": 0, "how": [0, 3, 5, 10, 12, 15], "howev": [2, 5, 7, 10, 11, 14, 15], "html": 11, "http": 1, "human": [0, 2, 8], "hush": 1, "hyperfin": 10, "i": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "i1": 15, "i2": 15, "i3": 15, "i4": 15, "i5": 15, "i6": 15, "i7": 15, "i8": 15, "i_": 13, "i_1": 7, "i_2": 7, "i_b": 13, "i_c": 13, "i_m": 7, "i_n": 7, "ibm": [2, 13], "id": 13, "ideal": [5, 6, 13], "idempot": 3, "iden": 3, "ident": [0, 5, 7, 13], "identifi": [0, 1, 6, 7, 8, 10, 11, 12, 14], "identifierlist": 0, "idl": 5, "ie": [7, 10], "ieee": [1, 15], "if_bodi": 0, "ifstat": 0, "ignor": [0, 6, 8], "ii": [12, 14], "ill": [3, 13], "illustr": 6, "im": [0, 10, 15], "imag": [0, 10, 15], "imaginari": [3, 15], "imaginaryliter": 0, "immedi": [3, 5, 9, 12, 14], "immut": 15, "imper": 2, "implement": [0, 1, 3, 5, 6, 7, 8, 10, 11, 12, 14, 15], "implementor": 10, "impli": [5, 7, 15], "implicit": [3, 5, 10, 15], "implicitli": [3, 10, 12, 14, 15], "implment": 5, "import": [7, 15], "importantli": 10, "impos": [3, 5], "improv": [10, 15], "in_bodi": 12, "inc": [4, 11, 13, 15], "includ": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15], "includestat": 0, "inclus": [0, 3, 7, 12], "increment": [5, 10], "incur": 7, "independ": [2, 5], "index": [0, 1, 3, 7, 8, 9], "indexedidentifi": 0, "indexexpress": 0, "indexoper": 0, "indic": [0, 4, 5, 6, 10, 11, 15], "indirectli": 10, "individu": [2, 10, 12, 15], "induc": 11, "ineffici": 7, "inf": 15, "infer": [2, 5, 10], "infinit": [0, 7], "infix": 2, "inform": [0, 6, 7, 10, 11, 13, 15], "infrastuctur": 3, "inherit": [0, 12], "initi": [1, 8, 15], "initializ": 10, "inject": 0, "inlin": [1, 8], "inner": [0, 6, 12], "input": [0, 1, 2, 3, 8, 10, 14, 15], "insert": [4, 5, 6, 11, 15], "insid": [10, 11, 12, 14, 15], "inspir": [5, 10], "instabl": 11, "instanc": [10, 11, 12, 15], "instantan": 10, "instead": [0, 5, 6, 7, 10, 11, 12], "instruct": [1, 2, 6, 7, 8, 11, 13, 14, 15], "instrument": 2, "int": [0, 2, 3, 6, 8, 10, 12, 14], "intact": [6, 14], "intarr": 15, "integ": [0, 7, 8, 16], "intend": [0, 5, 15, 16], "intent": [2, 5, 15], "intention": 5, "interact": [6, 10], "interchang": [11, 15, 16], "interest": [7, 11], "interf": 5, "interleav": 5, "interlud": 0, "intermedi": 2, "intern": 1, "interpret": [6, 13, 15], "intersect": 15, "interv": 15, "intrins": [5, 15], "introduc": [2, 5, 6, 7, 12, 13, 15], "introduct": [1, 12], "inv": [0, 7], "invalid": [0, 3, 7, 12, 15], "invers": [8, 15], "invert": 7, "invoc": 6, "invok": [3, 5, 11, 14], "involv": [2, 7, 15], "iodeclarationstat": 0, "ioport": 6, "iq": 10, "issu": [3, 10], "item": 3, "iter": [3, 6, 12], "its": [0, 5, 6, 7, 10, 12, 13, 15], "itself": [0, 2, 4, 12, 13, 15], "j": [1, 3, 9, 12, 15], "jai": 2, "jarrod": 1, "javadi": [1, 2], "jeremi": 1, "jj": 14, "john": 2, "johnson": 2, "join": 10, "json": 10, "jul": 1, "jump": 3, "june": 1, "just": [0, 7, 10, 11, 14, 15], "justifi": 5, "k": [3, 7], "kak": 7, "kanazawa": 1, "kb84": [1, 5], "keep": [3, 10], "kei": [5, 10], "kernel": 10, "keyword": [0, 3, 6, 7, 11, 14, 15], "kirst": 2, "knew": 0, "knob": 10, "know": [5, 14], "knowledg": [0, 5], "known": [2, 3, 7, 11, 12, 13, 14, 15], "knuth": 1, "l": [0, 1, 11], "lab": [1, 10], "label": [3, 15], "lambda": [7, 13], "lang": 1, "langaug": 0, "langl": 9, "langle0": 13, "langle1": 13, "langle11": 13, "languag": [0, 1, 2, 3, 5, 7, 10, 12, 13, 14, 15], "larg": [0, 2, 15], "larger": [5, 7, 15], "largest": 15, "laser": 10, "last": [3, 7, 13, 15], "last_thre": 15, "lastbit": 15, "lastelem": 15, "lastlastelem": 15, "late": 5, "later": [0, 5, 7, 10, 15], "latest": [5, 10], "latter": 11, "lauren": 1, "layer": 10, "lbrace": 0, "lbracket": 0, "lead": 15, "leak": 11, "least": [0, 3, 12, 15], "leav": [0, 6, 9], "left": [0, 3, 5, 6, 7, 10, 13, 15], "legal": 15, "len": 10, "length": [7, 10, 14, 15, 16], "leq": 15, "less": [2, 3, 15], "lesser": 15, "let": [0, 3, 12, 15], "letter": [0, 15], "lev": 2, "level": [0, 1, 2, 5, 6, 8, 10, 12, 14, 15], "levin": 10, "levine2019": 10, "lex": 0, "lexem": 0, "lexer": 0, "lh": 3, "liabl": 10, "librari": [1, 3, 4, 7, 8], "lifetim": [12, 14], "light": 10, "like": [0, 2, 3, 5, 7, 10, 11, 12, 14, 15, 16], "likewis": 15, "limit": [3, 7, 10, 14], "line": [0, 4, 5, 6, 7, 10, 12], "linear": 10, "linecom": 0, "link": [3, 10, 11, 15], "linkag": 10, "list": [0, 3, 7, 10, 12, 15], "liter": [0, 1, 2, 3, 8, 13], "literalexpress": 0, "littl": [0, 15], "live": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "ll": [0, 15], "lm": [0, 15], "lo": [0, 15], "load": [10, 12], "local": [3, 5, 10, 12], "locat": [4, 13, 15], "log": 15, "logarithm": 15, "logic": [2, 3, 5, 7, 15], "logicalandexpress": 0, "logicalorexpress": 0, "long": [0, 10, 15], "longer": [5, 11, 12, 16], "longest": 5, "look": 0, "lookup": 11, "loop": [1, 6, 7, 8, 11, 12, 15], "loss": 15, "love": 1, "low": [1, 2, 8, 14, 15], "lower": [3, 5, 11, 15], "lowest": 15, "lparen": 0, "lt": [0, 15], "lu": [0, 15], "lvert0": 13, "lvert00": 13, "lvert01": 13, "lvert1": 13, "lvert10": 13, "lvert11": 13, "m": [0, 1, 4, 5, 7, 15], "m0": 10, "ma": 1, "machin": [1, 5, 10, 15], "made": [2, 13, 14, 15], "mai": [0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 14, 15], "main": [2, 3, 5, 12], "maintain": 10, "maintainig": 10, "major": [4, 11], "make": [2, 11, 12, 13, 14, 15], "man": 1, "manag": [0, 6, 15], "mani": [2, 3, 6, 7, 10], "manipul": [2, 5, 8, 11, 15], "manner": 15, "map": [10, 13, 15], "mapsto": 13, "march": 1, "margolu": 1, "mark": 6, "matab": [1, 10], "match": [0, 3, 11, 13, 15], "materi": 10, "math": 10, "mathemat": [3, 7, 10, 13, 16], "mathit": 13, "mathrm": 15, "matrix": 7, "matter": 3, "max_temp": 6, "maximum": 15, "mc": 15, "mccaskei": 1, "mcclean": 1, "mckai": 1, "mean": [0, 2, 5, 6, 7, 10, 14, 15, 16], "meaningfulli": 11, "meant": [5, 10], "meanwhil": 10, "meas_wf": 10, "measur": [0, 1, 2, 3, 6, 7, 8, 10, 14, 15], "measure_frame_0": 10, "measure_frame_1": 10, "measure_frame_2": 10, "measure_frame_3": 10, "measure_iq": 11, "measure_port": 10, "measurearrowassignmentstat": 0, "measureexpress": 0, "meat": 0, "mechan": [2, 6, 7, 11, 16], "mediat": 10, "meet": 5, "member": 15, "memori": [3, 10, 14, 15], "mention": 3, "mere": 5, "method": [7, 10, 14], "methodologi": 11, "microarchitectur": 1, "microcod": [10, 11], "middle_stretch": 5, "might": [3, 5, 7, 10, 13, 14], "million": 15, "mimic": 15, "mimick": 15, "min": 5, "minim": [6, 7], "minimum": [2, 10], "minor": [4, 16], "minu": 0, "mismatch": 15, "mit": 1, "mix": [10, 14, 15], "mixtur": 10, "mod": 15, "mode": [0, 3], "model": [2, 3, 6, 10, 15], "modif": 3, "modifi": [0, 3, 6, 8, 10, 12, 13, 14, 15], "modul": 10, "modulo": [3, 15], "modulu": 15, "more": [0, 2, 3, 4, 5, 6, 7, 10, 11, 14, 15], "moreda": 1, "moreov": 10, "moritz": 2, "most": [0, 2, 5, 11, 12, 13, 14, 15], "motiv": [2, 10], "move": [3, 5], "much": 0, "multi": [5, 10, 15], "multidim": 15, "multipl": [3, 4, 5, 6, 10, 11, 12, 14, 15], "multiplex": 8, "multiplexed_readout_and_captur": 10, "multipli": [5, 6, 10], "multiplicativeexpress": 0, "must": [0, 2, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15], "mut_subroutin": 14, "mutabl": [0, 14], "mutual": [7, 12, 15], "my_angl": 15, "my_arrai": 3, "my_bit": 15, "my_bool": 15, "my_definit": 12, "my_float": [3, 15], "my_gat": 12, "my_gate1": 10, "my_gate2": 10, "my_gate3": 10, "my_int": 15, "my_machine_angl": 15, "my_machine_float": 15, "my_machine_int": 15, "my_pi": 15, "my_pi_over_two": 15, "my_routin": 12, "my_subroutin": 12, "my_uint": 15, "myarr": 15, "myarrai": 15, "mygate1": 5, "mygate2": 5, "myint": 15, "myreg": 15, "n": [0, 1, 3, 5, 7, 13, 14, 15, 16], "n_u": 7, "name": [0, 3, 7, 10, 11, 12, 13, 14, 15], "namespac": 12, "nan": [3, 15], "naoki": 1, "nation": 1, "nativ": [1, 8, 15], "natur": [1, 3, 5, 8, 10, 11, 14], "nco": 10, "ncomms5213": 1, "nearest": 15, "nearli": 15, "necessari": [3, 5, 7, 10, 14, 15], "necessarili": [3, 7], "need": [0, 3, 5, 10, 11, 12, 14, 15, 16], "neg": [5, 7, 15], "neg_cx": 7, "negat": 3, "negctrl": [0, 7], "neighbor": 10, "neither": [3, 15], "nest": [3, 12], "nestedcalibrationblock": 0, "neutral": 8, "never": [5, 10], "new": [1, 2, 4, 5, 6, 7, 10, 11, 12, 15], "new_freq": 11, "new_vari": 12, "newfram": [10, 11], "newlin": 0, "next": [3, 7], "nguyen": 1, "niel": 2, "nl": [0, 15], "nm20": [1, 10], "nois": 6, "noisy_g": 6, "non": [0, 4, 5, 7, 9, 12, 15], "none": 3, "nor": [3, 4, 7, 15], "normal": 15, "noswap": 6, "notat": [5, 15], "note": [0, 1, 3, 6, 8, 10, 11, 14, 15], "noth": 7, "now": [5, 8, 10, 12, 16], "ntwali": 2, "num": 15, "number": [0, 4, 5, 7, 8, 10, 14], "numer": [5, 10, 15], "o": [1, 7], "object": 0, "observ": [10, 11], "obviou": [0, 5], "occur": 2, "occurr": 4, "octal": 15, "octalintegerliter": 0, "off": 3, "offici": 0, "offlin": 5, "offset": [10, 15], "often": 5, "ok": 7, "older": 6, "oldid": 1, "oldstyledeclarationstat": 0, "omiss": 7, "omit": [3, 14, 15], "onc": [5, 6, 7, 10, 12, 14, 15], "one": [0, 3, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16], "oneD": 15, "one_": 15, "one_n": 15, "one_second": 15, "oner": 2, "ones": [11, 15], "onli": [0, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 15, 16], "onlin": 1, "onto": 9, "onward": 13, "op": [0, 3, 13], "opaqu": [2, 11], "open": [0, 8], "openpuls": [1, 5, 7, 8, 11, 12], "openqasm": [2, 4, 5, 6, 7, 8, 10, 11, 12, 15], "openqasm3": [0, 3, 6, 14], "oper": [0, 1, 2, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "operand": [0, 2, 3, 15], "operatornam": 7, "opportun": [7, 10], "opt": 15, "optic": 10, "optim": [2, 5, 7, 10, 11], "optimis": 6, "option": [0, 3, 4, 6, 7], "order": [0, 5, 6, 7, 8, 10, 11, 12, 14, 15], "org": 1, "origin": [7, 10, 13, 15], "original_freq": 11, "orthogon": 11, "oscil": 10, "other": [0, 1, 3, 6, 7, 8, 10, 11, 12, 13], "otherwis": [0, 3, 5, 10, 12, 15], "otim": 7, "our": [0, 3, 10], "out": [3, 5, 10, 11, 12], "outcom": [2, 9, 15], "outer": [12, 15], "outgo": 10, "outlin": 10, "output": [0, 1, 3, 8, 10, 14, 15], "output_typ": 14, "outsid": [3, 4, 10, 14, 15], "over": [2, 3, 7, 9, 10, 11, 12, 13, 15], "overal": 10, "overflow": [3, 15], "overlap": [5, 14], "overload": [12, 15], "overrid": 15, "overwrit": 11, "own": [0, 10, 11, 12, 13], "oxford": 2, "p": [0, 1, 10, 13], "p_b": 13, "pack": [15, 16], "pad": 15, "page": [1, 5], "pair": [4, 5, 10], "paper": [2, 10, 13], "parallel": [3, 5, 10], "param": [0, 7], "param1": 6, "param2": 6, "paramet": [2, 5, 6, 7, 10, 11, 12, 13, 14, 15], "parameter": [2, 5, 6, 8], "parametr": 6, "parametric_circuit": 6, "paren": 3, "parent": 11, "parenthes": [3, 7], "parenthesisexpress": 0, "pariti": 14, "parlanc": 15, "pars": [0, 4, 6, 12, 13], "parseabl": 0, "parser": 0, "part": [2, 3, 5, 7, 10, 13, 15], "partial": [9, 15], "particular": [2, 5, 7, 10, 11, 12, 13, 15], "particularli": [2, 3], "pascalcas": 0, "pass": [3, 5, 6, 11, 14, 15], "past": 5, "path": [0, 13], "pattern": [3, 15], "pauli": 13, "paulovick": 1, "payload": 0, "per": [11, 15], "perceiv": 5, "percent": 0, "perform": [0, 2, 3, 5, 6, 10, 11], "perhap": 5, "period": [7, 10, 11], "permiss": [5, 13, 15], "permit": [0, 2, 4, 5, 10, 15], "permut": 15, "perspect": 7, "peruzzo": 1, "peter": 1, "ph": 1, "phase": [7, 8, 13], "phase_shift": 10, "phi": [7, 13], "photon": [1, 10], "php": 1, "phy": 1, "physic": [1, 2, 6, 7, 8, 10, 11], "pi": [0, 3, 5, 6, 7, 10, 11, 12, 13, 15], "pi2": 15, "piec": 5, "pipe": 0, "place": [13, 15], "plai": [1, 8, 11], "platform": 7, "play_my_puls": 10, "pleas": [2, 6, 10], "plu": 0, "plugin": 11, "pm": [1, 6], "pmeasur": 14, "point": [0, 4, 5, 7, 8, 10, 11, 12], "pointer": 14, "polar": 7, "polynomi": 7, "popcount": [3, 15], "popmod": 0, "port": [1, 3, 6, 8, 11], "portabl": 15, "posit": [5, 6, 7, 10, 15, 16], "possess": 8, "possibl": [0, 2, 3, 5, 6, 10, 15], "post": 10, "potato": 0, "potenti": [0, 5, 15], "pow": [0, 7, 15], "power": [2, 3, 8], "powerexpress": 0, "pr": 10, "practic": [1, 7, 8], "pragma": [0, 1, 8, 15], "pre": 10, "preced": 0, "precis": [3, 5, 7, 10, 12, 15], "predic": 3, "prefix": [11, 15], "prepar": 9, "prepend": 7, "prescrib": [6, 15], "presenc": 11, "present": [0, 2, 4, 7, 13], "preserv": [6, 11, 15], "press": 1, "prevent": [5, 6], "previou": [2, 7, 11, 12], "previous": [7, 12], "primarili": [10, 15], "primit": 0, "princip": 15, "prior": [2, 11], "prioriti": 15, "privileg": 7, "problem": [5, 10], "procedur": [6, 12], "proceed": 1, "process": [2, 3, 6, 10], "processor": [1, 3], "produc": [0, 3, 6, 10, 15], "product": [7, 10], "profil": 6, "program": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15], "programm": [3, 6, 7, 15], "progress": 5, "prohibit": 5, "project": 9, "promis": 7, "promot": [3, 7, 15], "propag": [3, 15], "properli": [5, 11], "properti": [1, 10, 11], "proport": 10, "propos": 10, "provid": [0, 2, 3, 5, 6, 10, 11, 13, 14, 15], "pseudocod": 6, "publish": 15, "pull": 10, "puls": [0, 1, 2, 5, 8, 10, 12, 15], "pulse_length": 10, "pulse_length_num_step": 10, "pulse_length_start": 10, "pulse_length_step": 10, "punctuat": 0, "pure": 14, "purpos": [2, 5, 7, 12, 15], "push": 10, "pushmod": 0, "put": [0, 5, 10], "pycq": 1, "python": 6, "q": [3, 5, 6, 7, 9, 10, 11, 12, 14, 15], "q0": [3, 11, 15], "q0_capture_fram": 10, "q0_frame": 11, "q0_freq": 11, "q0_ro_freq": 10, "q0_ro_wf": 10, "q0_stimulus_fram": 10, "q1": [5, 7, 10, 11, 15], "q1_capture_fram": 10, "q1_frame": [10, 11], "q1_freq": [10, 11], "q1_pos_freq": 10, "q1_ro_freq": 10, "q1_ro_wf": 10, "q1_stimulus_fram": 10, "q1_\u03c0_half_amp": 10, "q1_\u03c0_half_sig": 10, "q2": [7, 10, 15], "q2_frame": 10, "q2_pos_freq": 10, "q2_\u03c0_half_amp": 10, "q2_\u03c0_half_sig": 10, "q3": [7, 10], "q3_frame": 10, "q3_pos_freq": 10, "q3_\u03c0_half_amp": 10, "q3_\u03c0_half_sig": 10, "qarg": 7, "qasm": [4, 6, 11, 12], "qasm3lex": 0, "qasm3pars": 0, "qelib1": 13, "qi": 1, "qiskit": [1, 2, 10], "qnf": 6, "qpu": [6, 13], "qpu1": 6, "qr0": 7, "qr1": 7, "qr2": 7, "qr3": 7, "qreg": [0, 5, 9, 15], "qu": 15, "quant": 1, "quantum": [0, 1, 2, 3, 5, 6, 8, 10, 11, 12, 13, 14], "quantumdeclarationstat": 0, "qubit": [0, 3, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16], "qubit_arrai": 15, "qubit_freq": 10, "qubit_select": 15, "qubittyp": 0, "queri": 14, "question": 8, "qui21": [1, 10], "quil": 1, "quot": 15, "r": [0, 1, 3, 5, 14, 15, 16], "rabi": 8, "rais": [3, 7, 10], "raman": 10, "raman_a_amp": 10, "raman_a_fram": 10, "raman_b_amp": 10, "raman_b_fram": 10, "ramsei": 10, "rang": [3, 10, 15], "rangeexpress": 0, "rangl": [9, 13], "rank": 15, "rate": 10, "rather": [0, 6, 7, 10, 11, 15], "raw": 10, "raw_output": 10, "rbrace": 0, "rbracket": 0, "re": [5, 11, 12], "reach": 7, "read": [1, 2, 6, 10], "readabl": [0, 8, 10, 15], "readonli": [0, 14], "readout": 8, "real": [2, 3, 5], "realis": 5, "realiz": 10, "reason": [2, 15], "receiv": 10, "recogn": 7, "recommend": 10, "record": 15, "recurs": [0, 7, 12], "redeclar": 12, "redefin": 12, "reduc": [6, 15], "refer": [0, 2, 5, 7, 8, 10, 11, 12, 13, 14, 15], "referenc": [5, 10, 11, 15], "referenti": 5, "refers": 10, "reflect": 15, "regardless": [11, 13], "regist": [0, 1, 7, 8, 9, 10, 11, 12, 14, 16], "regular": [5, 11, 12], "reinterpret": 15, "reject": [0, 2, 3], "rel": [5, 7, 10, 13], "relat": [1, 8], "relationship": 10, "releas": [1, 4], "relev": [2, 6, 10, 13], "reli": 12, "remain": 2, "remaind": 15, "remaininglinecont": 0, "remap": 15, "remov": [0, 13, 15], "reorder": [5, 7], "repeat": 6, "repeatedli": 7, "repetit": 7, "replac": [7, 9, 11], "repres": [0, 3, 6, 7, 10, 14, 15], "represent": [2, 3, 7, 11, 15], "reproduc": 13, "request": [10, 14], "requir": [0, 2, 3, 5, 6, 7, 10, 11, 13, 14, 15], "reserv": 15, "reset": [0, 7, 9, 11, 14, 15], "resetstat": 0, "reshap": 15, "resiz": 15, "resolv": [0, 5, 10, 11, 14, 15], "reson": [8, 11], "resourc": 10, "respect": [3, 7, 8, 12, 15], "respons": 10, "rest": [4, 13], "restrict": [0, 1, 2, 8, 15], "result": [0, 3, 5, 6, 10, 14, 15], "retain": 2, "retriev": 10, "return": [0, 3, 6, 10, 11, 14, 15], "returnsignatur": 0, "returnstat": 0, "reusabl": 10, "rev": 1, "reveal": 10, "revers": [6, 7], "revis": 7, "rewrit": 7, "rf": 10, "rh": 3, "richer": 10, "right": [0, 3, 7, 10, 13, 15], "ring": 3, "ro_kernel": 10, "ro_rx": 10, "ro_tx": 10, "robust": 0, "root": [13, 15], "rotari": 5, "rotat": [5, 7, 10, 13, 15], "rotl": [3, 15], "rotr": [3, 15], "round": [3, 15], "rout": 15, "routin": 11, "row": 9, "rparen": 0, "rule": [0, 2, 7, 11, 12, 14, 15], "run": [2, 3, 6, 7, 11, 12, 15], "run_program": 6, "runtim": [2, 3, 5, 7, 10, 14, 15], "runtime_f1": 15, "runtime_i1": 15, "runtime_s": 15, "runtime_u": 15, "rvert": 13, "rwa": 7, "rx": [5, 6, 10, 11, 13, 16], "ry": [5, 6, 13, 16], "ryan": 2, "rz": [5, 7, 10, 11, 13, 14, 16], "rz_frame": 10, "rzm": 7, "rzp": 7, "same": [2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15], "sampl": [5, 10, 15], "satisfi": [0, 5, 15], "satur": 10, "saturation_puls": 10, "scalar": [1, 3, 8, 16], "scalartyp": 0, "scale": [5, 10], "scenario": 5, "schedul": [2, 3, 5, 10], "schemat": 7, "scheme": 10, "scienc": 1, "scientif": [2, 15], "scope": [0, 1, 3, 4, 5, 7, 8, 10, 11, 14, 15], "scratch": 7, "sdg": [13, 16], "search": 13, "sech": 10, "second": [6, 7, 10, 13, 14, 15], "second_subroutin": 12, "seconddim": 14, "secondslic": 15, "section": [3, 9, 10, 12, 13, 15], "see": [0, 5, 10, 12, 13, 14, 15], "seek": 2, "seen": [5, 12], "select": [3, 6, 7, 10, 11, 15], "selfconcat": 15, "semant": [0, 3, 8, 11, 15, 16], "semicolon": [0, 3, 8], "sens": 5, "sensit": 8, "separ": [0, 3, 5, 7, 8, 12, 15], "seper": 15, "sequenc": [2, 3, 5, 6, 7, 10, 11, 15, 16], "sequenti": 3, "seri": [5, 7, 13], "serv": [0, 2], "set": [0, 1, 2, 3, 5, 6, 7, 8, 10, 13], "set_frequ": [10, 11], "set_phas": 10, "setexpress": 0, "setup": 11, "seven": 15, "sever": [3, 7, 10, 12], "shadbolt": 1, "shadow": 12, "shall": [3, 10], "shape": [10, 15], "share": [11, 12], "shift": [3, 10, 15], "shift_frequ": 10, "shift_phas": [10, 11], "shor": 1, "short": [5, 10], "shorthand": 7, "should": [2, 6, 10, 12, 13, 14, 15], "shown": [5, 7, 9], "si": [0, 5, 15], "side": [3, 5, 15], "sideband": 10, "sigma": [10, 11], "sign": 15, "signal": [5, 10], "signatur": [3, 10, 14], "signbit": 15, "signifi": 14, "signific": [11, 15], "significantli": 15, "similar": [5, 10, 12, 15], "similarli": [2, 5, 6, 7, 11, 12, 15], "simpl": [3, 5, 8, 10, 12], "simpli": [6, 7, 10], "simplifi": 15, "simul": 6, "simultan": [5, 10], "sin": [2, 10, 13, 15], "sinc": [0, 5, 10, 12, 13, 14, 15], "sine": [10, 15], "singl": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16], "single_qubit_delai": 10, "single_qubit_g": 10, "situat": 13, "six": 15, "size": [3, 5, 7, 9, 10, 11, 14, 15], "sizeof": 14, "skip": 0, "slash": [0, 4], "sleator": 1, "slice": [1, 8], "slightli": 12, "slow": 6, "small": [0, 15], "smolin": [1, 2], "so": [0, 2, 3, 6, 7, 10, 11, 12, 13, 15, 16], "softwar": [10, 15], "solicit": 2, "solut": [5, 10], "solver": 1, "some": [0, 3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16], "some_q": 12, "some_qubit": 12, "someth": 3, "sometim": 12, "soon": [6, 11], "sophist": 7, "sourc": [0, 5, 6, 15], "space": [5, 7, 12, 15], "span": 5, "spec": [0, 1, 7], "special": [0, 7, 10, 11, 15], "specif": [0, 2, 3, 6, 7, 8, 10, 11, 12, 14], "specifi": [2, 5, 6, 7, 8, 10, 11, 14, 15], "specified_sub": 14, "spectat": 5, "spectroscop": 10, "spectroscopi": 8, "speed": 10, "sphere": 10, "spirit": 10, "split": 0, "sqrt": [7, 10, 13, 15], "sqrt2": 13, "squar": [3, 5, 7, 10, 13, 15], "square_width": [10, 11], "stack": 15, "stage": 5, "stai": 14, "standard": [1, 4, 5, 7, 8, 10, 15], "start": [0, 3, 5, 6, 10], "start_stretch": 5, "state": [0, 2, 3, 6, 9, 10, 11, 12, 13, 15, 16], "statement": [0, 1, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15], "statementorscop": 0, "static": [10, 15], "stdgate": [4, 13, 15], "step": [3, 6, 10], "still": [5, 10, 12, 15], "stimuli": 11, "stimulu": [10, 11], "stimulus_fram": 10, "stmt1": 3, "stmt2": 3, "stop": 3, "storag": [12, 15, 16], "store": [6, 15], "str": 0, "str1": 5, "strategi": [3, 12], "strength": 10, "stretch": [0, 1, 8], "stretchabl": 5, "stretchi": 5, "strict": 15, "strictli": 0, "stride": 14, "string": [0, 1, 6, 8, 13, 15], "stringliter": 0, "structur": [10, 11], "style": 0, "sub": [5, 15], "subarrai": 15, "subcircuit": 5, "subject": 11, "subnorm": 3, "subroutin": [1, 3, 5, 7, 8, 11, 15], "subroutine_cal": 15, "subscript": [13, 14, 15], "subsect": 7, "subsequ": [3, 10, 15], "subset": [6, 15], "subsitute_theta": 6, "subsystem": 15, "subtract": [3, 5, 15], "succinct": 10, "suffici": 15, "sugar": 15, "suggest": 15, "suitabl": [7, 15], "sum": [10, 12, 14, 15], "summar": 8, "summari": 8, "superconduct": 1, "suppli": [6, 10, 13], "support": [0, 2, 3, 6, 7, 9, 10, 11, 14, 15], "surround": [12, 15], "suscept": 3, "swap": [0, 6, 13], "sweep": 10, "switch": [0, 1, 8], "switchcaseitem": 0, "switchstat": 0, "sx": [7, 11, 13], "sx_wf": 11, "symbol": [0, 6, 7, 11, 12, 13], "symmetr": 13, "symposium": 1, "synchron": [5, 10], "synonym": 15, "syntact": [0, 15], "syntax": [3, 5, 7, 11, 12, 14, 15], "system": [5, 6, 10, 11], "t": [0, 1, 7, 10, 12, 13, 15], "t_i": 10, "tab": 5, "tabl": [0, 3, 11], "take": [3, 5, 6, 7, 10, 14, 15], "taken": 10, "tan": 15, "tangent": 15, "tap": 10, "target": [0, 3, 5, 6, 7, 9, 10, 11, 13, 15], "task": [2, 5], "tau": 15, "tdg": 13, "teach": 11, "team": 2, "technologi": 1, "temp1": 10, "temp2": 10, "temp_fram": 10, "templat": 10, "temporarili": 12, "tensor": 7, "term": [2, 13], "termin": [8, 12], "test": 3, "tex": 5, "texbook": 1, "text": [0, 6, 10, 15], "texttt": [13, 15], "textual": [8, 10, 11], "th": [7, 13], "than": [0, 4, 5, 6, 7, 10, 11, 15], "thei": [2, 3, 5, 6, 7, 10, 11, 12, 13, 15, 16], "them": [2, 3, 5, 7, 9, 11, 12], "themselv": [7, 15], "therebi": [10, 11, 15], "therefor": [2, 5, 15], "theta": [6, 7, 10, 11, 13, 14], "thi": [0, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15], "thien": 1, "thing": 0, "third": 15, "thoma": [1, 2], "those": [3, 6, 7, 9, 10, 11, 12, 14, 15], "though": [5, 13], "thought": 7, "thousand_cycl": 15, "three": [3, 8, 10, 12, 15], "threed": 15, "through": [0, 1, 7, 10], "throughout": 10, "thu": [5, 7, 11, 15], "ti": 15, "tick": 10, "tie": 0, "tightli": 0, "tild": 0, "time": [0, 1, 2, 3, 6, 7, 8, 11, 12, 14], "timeunit": 0, "timingliter": 0, "titl": 1, "toffoli": 13, "togeth": [11, 14], "token": [0, 15], "tokenis": 0, "tokenvocab": 0, "tone": 10, "too": [0, 5, 15], "tool": [0, 6], "toolchain": [3, 10], "top": [0, 3, 5, 9, 10, 11], "topic": 12, "topologi": 15, "total": [5, 15], "toussaint": 2, "toward": 15, "tppi_1": 10, "tppi_2": 10, "tppi_3": 10, "trace": [9, 10], "track": [7, 8], "trail": 15, "transfer": 3, "transform": [2, 7, 10, 11, 15], "transient": 11, "transit": [10, 13], "translat": 10, "transmiss": 10, "transmit": 10, "treat": [10, 11, 15], "tree": 0, "trigger": 3, "true": [0, 3, 5, 7, 12, 15], "truncat": 15, "trunction": 15, "turn": 11, "twelv": 15, "twice": 5, "two": [0, 2, 3, 5, 7, 8, 10, 11, 12, 14, 15], "two_pi": 15, "two_qubit_g": 10, "two_second": 15, "twod": 15, "twod_arg": 14, "tx0": 10, "tx1": 10, "type": [0, 1, 2, 3, 7, 8, 9, 10, 11, 12, 14, 16], "typenam": 15, "typeset": 5, "typic": 11, "u": [0, 5, 7, 10, 12, 13, 15], "u1": [13, 15], "u2": [13, 15], "u3": 13, "u_": 7, "u_1": 7, "u_2": 7, "u_b": 13, "u_m": 7, "u_old": 7, "uint": [0, 3, 8, 12, 14], "ultim": [5, 10], "unabl": 10, "unari": 3, "unaryexpress": 0, "unbalanc": 0, "unclear": 10, "undefin": 15, "under": [7, 13], "underli": [3, 10, 11, 14], "underscor": 15, "unexpect": 6, "unfortun": [0, 7], "unicod": [0, 1, 15], "unicode_character_properti": 1, "uninstanti": 15, "uniqu": [0, 11], "unit": [0, 5, 10, 15], "unitari": [5, 7, 9, 11], "univers": [2, 7], "unknown": [5, 7], "unless": [2, 15], "unlik": [2, 12, 15], "unnecessari": 13, "unrealiz": 15, "unsign": [3, 15], "unspecifi": [6, 14, 15], "until": [0, 3, 7, 12, 14], "unwind": 5, "up": [5, 7, 10, 12, 13, 14, 15], "updat": [10, 14, 15], "upgrad": 1, "upon": [2, 6, 10, 13], "upper": 3, "upperbit": 15, "uppercas": 15, "upperrevers": 15, "url": 1, "us": [0, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16], "usa": 1, "usabl": 2, "usag": [10, 12], "user": [2, 3, 5, 6, 7, 10, 11, 13, 14, 15], "usual": 15, "v": [1, 5, 7], "v3": 1, "vacat": 15, "val": 15, "valid": [0, 3, 5, 7, 11, 12, 15, 16], "validat": 0, "validunicod": 0, "valu": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 14, 16], "vari": [10, 11, 12], "variabl": [1, 3, 5, 6, 7, 8, 11], "variat": [1, 6], "varieti": 10, "variou": [2, 5, 12], "ve": 11, "vendor": [2, 10, 15], "veri": [11, 15], "versa": 15, "version": [0, 1, 2, 6, 7, 8, 10, 11, 14, 15], "version_identifer_whitespac": 0, "version_identifi": 0, "versionspecifi": 0, "via": [3, 7, 10, 12, 14, 15], "vice": 15, "virtual": [10, 11, 12, 15], "visibl": 12, "void": [0, 8, 14], "volum": 1, "vphantom": 13, "vqe": 6, "w": 1, "wa": [10, 12, 13], "wai": [0, 1, 5, 10, 15], "wait": 3, "want": [0, 5, 10, 11, 14], "warn": 7, "wave": [7, 10], "waveform": [1, 5, 8, 11, 15], "we": [0, 2, 3, 5, 6, 7, 8, 10, 11, 12, 14, 15], "weight": [3, 5], "weinfurt": 1, "well": [3, 7, 10, 15], "went": 12, "were": [3, 4, 6, 7, 11, 12, 13, 16], "weslei": 1, "wf": 10, "wf1": 10, "wf2": 10, "wf_1": 10, "wf_2": 10, "wfm": 10, "what": [0, 3, 11], "whatev": 5, "when": [0, 3, 5, 6, 7, 10, 11, 12, 14, 15], "whenev": 15, "where": [0, 3, 5, 7, 10, 11, 13, 15], "wherea": [5, 15], "wherev": 12, "whether": [0, 2, 14, 15], "which": [0, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16], "while": [0, 2, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16], "whilestat": 0, "whitespac": [0, 8], "whose": [3, 5, 15], "wide": 10, "width": [10, 15], "wikipedia": 1, "wil89": [1, 11], "wildcard": 10, "wilk": 1, "wind": 5, "winston": 1, "wire": [5, 10], "wish": 10, "within": [0, 3, 5, 7, 10, 11, 12, 14, 15], "without": [0, 3, 5, 6, 11, 12, 15], "wood": 1, "wootton": 1, "word": [5, 12], "work": [2, 3, 10], "world": 15, "would": [0, 5, 6, 7, 10, 11, 12, 15], "wouldn": [10, 12], "write": [2, 3, 6, 10, 11, 15], "written": [0, 3, 7, 15], "x": [3, 5, 6, 7, 9, 11, 13, 14, 15], "x_01": 10, "x_12": 10, "x_b": 13, "x_c": 13, "xacc": 1, "xcheck": 14, "xiao": 1, "xmeasur": 14, "xor": 3, "xp": 11, "xy": 10, "xy_frame0": 10, "y": [5, 6, 10, 13, 15], "y90p": 11, "y_b": 13, "ye": 15, "yet": 10, "yield": 3, "you": [2, 3, 10], "your": [2, 6, 10, 15], "yudong": 2, "yung": 1, "z": [0, 6, 7, 9, 10, 13, 15], "z_b": 13, "za": [0, 15], "zapata": 2, "zero": [3, 4, 7, 10, 14, 15], "zhou": 1, "zurich": 2, "zyz": 13, "\u00b5": [0, 5], "\u03b3": [7, 13, 15], "\u03b4": 10, "\u03b8": [6, 7, 13], "\u03bb": [7, 13], "\u03bc": 15, "\u03c0": [5, 6, 7, 10, 13, 15], "\u03c0_half_sig": 10, "\u03c0_half_tim": 10, "\u03c4": [10, 15], "\u03c6": 13, "\u03d5": 7, "\u2107": 15}, "titles": ["OpenQasm 3.0 Grammar", "OpenQASM Live Specification", "Introduction", "Classical instructions", "Comments", "Circuit timing", "Directives", "Gates", "Language", "Built-in quantum instructions", "OpenPulse Grammar", "Pulse-level descriptions of gates and measurement", "Scoping of variables", "Standard library", "Subroutines", "Types and Casting", "Release Notes"], "titleterms": {"0": [0, 13, 16], "1": 16, "12": 16, "2": 13, "3": 0, "64": 15, "For": 3, "If": 3, "The": 3, "alias": 15, "allow": 15, "angl": [3, 15], "annot": 6, "api": 13, "appli": 7, "arrai": [14, 15], "atom": 10, "barrier": [5, 10], "base": 5, "bibliographi": 1, "bit": [3, 15], "block": [11, 12], "bodi": 11, "bool": 15, "boolean": [3, 15], "box": 5, "branch": 3, "break": 3, "broadcast": 7, "bug": 16, "built": [7, 9, 15], "calibr": 11, "call": 3, "captur": 10, "cast": 15, "circuit": 5, "classic": [3, 15], "collis": 10, "comment": 4, "comparison": 3, "compat": 13, "compil": 15, "complex": [3, 15], "concaten": 15, "constant": 15, "constraint": 15, "continu": 3, "contributor": 2, "control": 7, "convert": 15, "cross": 10, "defcal": 11, "defin": 7, "definit": 7, "delai": [5, 10], "descript": 11, "design": 2, "detail": 2, "direct": 6, "document": 13, "durat": [5, 15], "earli": 3, "els": 3, "evalu": 3, "exampl": 10, "express": [5, 15], "extern": 3, "featur": 16, "file": 4, "first": 3, "fix": 16, "float": [3, 15], "frame": 10, "from": [3, 15], "function": [3, 15], "gate": [7, 10, 11, 12, 13], "gener": 3, "geometr": 10, "global": 12, "goal": 2, "grammar": [0, 10], "hardwar": 7, "hierarch": 7, "higher": 3, "highest": 3, "identifi": 15, "implement": [2, 13], "includ": 4, "index": 15, "initi": [9, 10], "inlin": 11, "input": 6, "instruct": [3, 5, 9, 10], "int": 15, "integ": [3, 15], "introduct": 2, "invers": 7, "languag": 8, "level": [3, 11], "librari": 13, "liter": 15, "live": 1, "loop": 3, "low": 3, "lowest": 3, "manipul": 10, "mathemat": 15, "measur": [9, 11], "modifi": 7, "multiplex": 10, "nativ": 7, "neutral": 10, "new": 16, "note": [13, 16], "number": [3, 15], "open": 10, "openpuls": 10, "openqasm": [0, 1, 3, 13], "openqasm3": 15, "oper": [3, 5], "order": 3, "other": [5, 15], "output": 6, "parameter": 7, "phase": 10, "physic": 15, "plai": 10, "point": [3, 15], "port": 10, "power": 7, "practic": 11, "pragma": 6, "preced": 3, "program": 3, "puls": 11, "quantum": [7, 9, 15], "qubit": [13, 15], "question": 10, "rabi": 10, "readout": 10, "real": 15, "regist": [3, 15], "relat": [7, 15], "releas": 16, "reson": 10, "restrict": 11, "scalar": 15, "scope": [2, 12], "set": 15, "singl": 13, "slice": 15, "spec": 16, "specif": [1, 15], "spectroscopi": 10, "standard": 13, "statement": 3, "stretch": [5, 15], "string": 4, "subroutin": [12, 14], "switch": 3, "tab": 15, "termin": 3, "three": 13, "time": [5, 10, 15], "track": 10, "two": 13, "type": [5, 15], "uint": 15, "upgrad": 16, "v3": 16, "valu": 15, "variabl": [12, 15], "version": [4, 13], "void": 15, "waveform": 10, "while": 3}}) \ No newline at end of file