classiq 0.46.0__py3-none-any.whl → 0.46.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- classiq/interface/_version.py +1 -1
- classiq/qmod/builtins/functions/amplitude_estimation.py +2 -1
- classiq/qmod/builtins/functions/arithmetic.py +2 -2
- classiq/qmod/builtins/functions/discrete_sine_cosine_transform.py +16 -16
- classiq/qmod/builtins/functions/exponentiation.py +12 -11
- classiq/qmod/builtins/functions/grover.py +28 -29
- classiq/qmod/builtins/functions/hea.py +1 -1
- classiq/qmod/builtins/functions/linear_pauli_rotation.py +8 -8
- classiq/qmod/builtins/functions/modular_exponentiation.py +9 -9
- classiq/qmod/builtins/functions/qaoa_penalty.py +10 -10
- classiq/qmod/builtins/functions/qft.py +1 -1
- classiq/qmod/builtins/functions/qpe.py +2 -2
- classiq/qmod/builtins/functions/qsvt.py +15 -15
- classiq/qmod/builtins/functions/standard_gates.py +13 -13
- classiq/qmod/builtins/functions/state_preparation.py +18 -17
- classiq/qmod/builtins/functions/swap_test.py +3 -3
- {classiq-0.46.0.dist-info → classiq-0.46.1.dist-info}/METADATA +1 -1
- {classiq-0.46.0.dist-info → classiq-0.46.1.dist-info}/RECORD +19 -19
- {classiq-0.46.0.dist-info → classiq-0.46.1.dist-info}/WHEEL +0 -0
classiq/interface/_version.py
CHANGED
@@ -12,7 +12,8 @@ def amplitude_estimation(
|
|
12
12
|
) -> None:
|
13
13
|
"""
|
14
14
|
[Qmod Classiq-library function]
|
15
|
-
|
15
|
+
|
16
|
+
Estimate the probability of a state being marked by the operand `oracle` as a "good state."
|
16
17
|
|
17
18
|
The algorithm prepares the state in the `packed_vars` register and estimates the probability of this state being marked by the oracle as a "good state."
|
18
19
|
This is done using the Quantum Phase Estimation (QPE) algorithm, where the unitary for QPE is the Grover operator, which is composed of the `oracle` and `space_transform` operators.
|
@@ -14,7 +14,7 @@ def unitary(
|
|
14
14
|
"""
|
15
15
|
[Qmod core-library function]
|
16
16
|
|
17
|
-
|
17
|
+
Applies a unitary matrix on a quantum state.
|
18
18
|
|
19
19
|
Args:
|
20
20
|
elements: A 2d array of complex numbers representing the unitary matrix. This matrix must be unitary.
|
@@ -51,7 +51,7 @@ def integer_xor(left: QArray[QBit], right: QArray[QBit]) -> None:
|
|
51
51
|
@qfunc(external=True)
|
52
52
|
def modular_increment(a: CInt, x: QNum) -> None:
|
53
53
|
"""
|
54
|
-
Qmod Classiq-library function
|
54
|
+
[Qmod Classiq-library function]
|
55
55
|
|
56
56
|
Adds $a$ to $x$ modulo the range of $x$, assumed that $x$ is a non-negative integer and $a$ is an integer.
|
57
57
|
Mathematically it is described as:
|
@@ -14,22 +14,22 @@ def _qct_pi_operator(x: QArray[QBit], q: QBit) -> None:
|
|
14
14
|
|
15
15
|
@qfunc(external=True)
|
16
16
|
def qct_qst_type1(x: QArray[QBit]) -> None:
|
17
|
-
|
18
|
-
Qmod Classiq-library function
|
17
|
+
"""
|
18
|
+
[Qmod Classiq-library function]
|
19
19
|
|
20
20
|
Applies the quantum discrete cosine (DCT) and sine (DST)
|
21
21
|
transform of type 1 to the qubit array `x`.
|
22
|
-
Corresponds to the matrix (with $n
|
22
|
+
Corresponds to the matrix (with $n\\equiv$`x.len`):
|
23
23
|
|
24
24
|
$$
|
25
|
-
|
25
|
+
\\left(
|
26
26
|
\begin{array}{ccc|c}
|
27
27
|
{} &{} &{} \\
|
28
28
|
{}&{\rm DCT}^{(1)}(2^{n-1}+1) & {}& 0\\
|
29
29
|
{} &{} &{} \\
|
30
|
-
|
30
|
+
\\hline
|
31
31
|
{} & 0 & {} & i{\rm DST}^{(1)}(2^{n-1}-1)
|
32
|
-
|
32
|
+
\\end{array}
|
33
33
|
\right)
|
34
34
|
$$
|
35
35
|
|
@@ -44,20 +44,20 @@ def qct_qst_type1(x: QArray[QBit]) -> None:
|
|
44
44
|
|
45
45
|
@qfunc(external=True)
|
46
46
|
def qct_qst_type2(x: QArray[QBit], q: QBit) -> None:
|
47
|
-
|
48
|
-
Qmod Classiq-library function
|
47
|
+
"""
|
48
|
+
[Qmod Classiq-library function]
|
49
49
|
|
50
50
|
Applies the quantum discrete cosine (DCT) and sine (DST)
|
51
51
|
transform of type 2 to the qubit array `x` concatenated with `q`, with `q` being the MSB.
|
52
|
-
Corresponds to the matrix (with $n
|
52
|
+
Corresponds to the matrix (with $n\\equiv$`x.len`+1):
|
53
53
|
|
54
54
|
$$
|
55
|
-
|
55
|
+
\\left(
|
56
56
|
\begin{array}{c|c}
|
57
57
|
{\rm DCT}^{(2)}(2^{n-1}) & 0\\
|
58
|
-
|
58
|
+
\\hline
|
59
59
|
0 & -{\rm DST}^{(2)}(2^{n-1})
|
60
|
-
|
60
|
+
\\end{array}
|
61
61
|
\right)
|
62
62
|
$$
|
63
63
|
|
@@ -73,8 +73,8 @@ def qct_qst_type2(x: QArray[QBit], q: QBit) -> None:
|
|
73
73
|
|
74
74
|
@qfunc(external=True)
|
75
75
|
def qct_type2(x: QArray[QBit]) -> None:
|
76
|
-
|
77
|
-
Qmod Classiq-library function
|
76
|
+
"""
|
77
|
+
[Qmod Classiq-library function]
|
78
78
|
|
79
79
|
Applies the quantum discrete cosine (DCT)
|
80
80
|
transform of type 2, ${\rm DCT}^{(2)}$, to the qubit array `x`.
|
@@ -90,8 +90,8 @@ def qct_type2(x: QArray[QBit]) -> None:
|
|
90
90
|
|
91
91
|
@qfunc(external=True)
|
92
92
|
def qst_type2(x: QArray[QBit]) -> None:
|
93
|
-
|
94
|
-
Qmod Classiq-library function
|
93
|
+
"""
|
94
|
+
[Qmod Classiq-library function]
|
95
95
|
|
96
96
|
Applies the quantum discrete sine (DST)
|
97
97
|
transform of type 2, ${\rm DST}^{(2)}$, to the qubit array `x`.
|
@@ -16,9 +16,9 @@ def single_pauli_exponent(
|
|
16
16
|
qbv: QArray[QBit, Literal["get_field(pauli_string, 'len')"]],
|
17
17
|
) -> None:
|
18
18
|
"""
|
19
|
-
[Qmod
|
20
|
-
|
21
|
-
|
19
|
+
[Qmod core-library function]
|
20
|
+
|
21
|
+
Exponentiates the specified single Pauli operator multiplied by some coefficient.
|
22
22
|
|
23
23
|
Args:
|
24
24
|
pauli_string: The Pauli operator to be exponentiated.
|
@@ -39,9 +39,9 @@ def suzuki_trotter(
|
|
39
39
|
],
|
40
40
|
) -> None:
|
41
41
|
"""
|
42
|
-
[Qmod
|
43
|
-
|
44
|
-
|
42
|
+
[Qmod core-library function]
|
43
|
+
|
44
|
+
Applies the Suzuki-Trotter decomposition to a Pauli operator. The Suzuki-Trotter decomposition is a method for approximating the exponential of a sum of operators by a product of exponentials of each operator.
|
45
45
|
The Suzuki-Trotter decomposition of a given order nullifies the error of the Taylor series expansion of the product of exponentials up to that order.
|
46
46
|
The error of a Suzuki-Trotter decomposition decreases as the order and number of repetitions increase.
|
47
47
|
|
@@ -67,9 +67,9 @@ def qdrift(
|
|
67
67
|
],
|
68
68
|
) -> None:
|
69
69
|
"""
|
70
|
-
[Qmod
|
71
|
-
|
72
|
-
|
70
|
+
[Qmod core-library function]
|
71
|
+
|
72
|
+
Exponentiates a Pauli operator using the QDrift method. The QDrift method is a stochastic method based on the Trotter decomposition for approximating the exponential of a sum of operators by a product of exponentials of each operator.
|
73
73
|
The QDrift method randomizes the order of the operators in the product of exponentials to stochastically reduce the error of the approximation.
|
74
74
|
The error of the QDrift method decreases as the number of QDrift steps increases.
|
75
75
|
|
@@ -94,8 +94,9 @@ def exponentiation_with_depth_constraint(
|
|
94
94
|
],
|
95
95
|
) -> None:
|
96
96
|
"""
|
97
|
-
[Qmod
|
98
|
-
|
97
|
+
[Qmod core-library function]
|
98
|
+
|
99
|
+
Exponentiates a Pauli operator via the Suzuki-Trotter decomposition with a depth constraint.
|
99
100
|
The Suzuki-Trotter decomposition is a method for approximating the exponential of a sum of operators by a product of exponentials of each operator.
|
100
101
|
This function automatically determines the order and number of repetitions of the Suzuki-Trotter decomposition to minimize the error given a depth constraint.
|
101
102
|
|
@@ -10,22 +10,21 @@ from classiq.qmod.quantum_callable import QCallable
|
|
10
10
|
def phase_oracle(
|
11
11
|
predicate: QCallable[QArray[QBit], QBit], target: QArray[QBit]
|
12
12
|
) -> None:
|
13
|
-
|
14
|
-
Qmod Classiq-library function
|
13
|
+
"""
|
14
|
+
[Qmod Classiq-library function]
|
15
15
|
|
16
16
|
Creates a phase oracle operator based on a predicate function.
|
17
|
-
The function can be used on its own, or by other functions, such as Grover's algorithm.
|
18
17
|
|
19
18
|
Applies a predicate function and marks "good" and "bad" states with a phase flip.
|
20
|
-
If the predicate is marked as
|
19
|
+
If the predicate is marked as $\\chi$, and the oracle is marked as $S_\\chi$, then:
|
21
20
|
|
22
21
|
|
23
22
|
$$
|
24
|
-
S_
|
23
|
+
S_\\chi\\lvert x \rangle =
|
25
24
|
\begin{cases}
|
26
|
-
|
27
|
-
|
28
|
-
|
25
|
+
-\\lvert x \rangle & \text{if } \\chi(x) = 1 \\
|
26
|
+
\\phantom{-} \\lvert x \rangle & \text{if } \\chi(x) = 0
|
27
|
+
\\end{cases}
|
29
28
|
$$
|
30
29
|
|
31
30
|
Args:
|
@@ -42,16 +41,16 @@ def phase_oracle(
|
|
42
41
|
|
43
42
|
@qfunc(external=True)
|
44
43
|
def reflect_about_zero(packed_vars: QArray[QBit]) -> None:
|
45
|
-
|
46
|
-
Qmod
|
44
|
+
"""
|
45
|
+
[Qmod Classiq-library function]
|
47
46
|
|
48
47
|
Reflects the state about the |0> state (i.e. applies a (-1) phase to all states
|
49
48
|
besides the |0> state). Implements the operator $S_0$:
|
50
49
|
|
51
50
|
$$
|
52
51
|
\begin{equation}
|
53
|
-
S_0|{x}\rangle = (-1)^{(x\ne0)}|{x}\rangle= (2|{0}\rangle
|
54
|
-
|
52
|
+
S_0|{x}\rangle = (-1)^{(x\ne0)}|{x}\rangle= (2|{0}\rangle\\langle{0}|-I)|{x}\rangle
|
53
|
+
\\end{equation}
|
55
54
|
$$
|
56
55
|
|
57
56
|
Args:
|
@@ -64,16 +63,16 @@ def reflect_about_zero(packed_vars: QArray[QBit]) -> None:
|
|
64
63
|
def grover_diffuser(
|
65
64
|
space_transform: QCallable[QArray[QBit]], packed_vars: QArray[QBit]
|
66
65
|
) -> None:
|
67
|
-
|
68
|
-
Qmod
|
66
|
+
"""
|
67
|
+
[Qmod Classiq-library function]
|
69
68
|
|
70
|
-
|
69
|
+
Reflects the given state about the A|0> state, where A
|
71
70
|
is the `space_transform` parameter. It is defined as:
|
72
71
|
|
73
72
|
$$
|
74
73
|
\begin{equation}
|
75
|
-
D = A S_0 A^{
|
76
|
-
|
74
|
+
D = A S_0 A^{\\dagger}
|
75
|
+
\\end{equation}
|
77
76
|
$$
|
78
77
|
|
79
78
|
where $S_0$ is the reflection about the |0> state (see `reflect_about_zero`).
|
@@ -91,22 +90,22 @@ def grover_operator(
|
|
91
90
|
space_transform: QCallable[QArray[QBit]],
|
92
91
|
packed_vars: QArray[QBit],
|
93
92
|
) -> None:
|
94
|
-
|
95
|
-
Qmod
|
93
|
+
"""
|
94
|
+
[Qmod Classiq-library function]
|
96
95
|
|
97
96
|
Applies the grover operator, defined by:
|
98
97
|
|
99
98
|
$$
|
100
|
-
Q=S_{
|
99
|
+
Q=S_{\\psi_0}S_{\\psi_1}
|
101
100
|
$$
|
102
101
|
|
103
|
-
where $S_{
|
104
|
-
about a given state defined by
|
102
|
+
where $S_{\\psi_1}$ is a reflection about marked states, and $S_{\\psi_0}$ is a reflection
|
103
|
+
about a given state defined by $|\\psi_0\rangle = A|0\rangle$.
|
105
104
|
|
106
105
|
|
107
106
|
Args:
|
108
107
|
oracle: A unitary operator which adds a phase of (-1) to marked states.
|
109
|
-
space_transform: The operator which creates
|
108
|
+
space_transform: The operator which creates $|\\psi_0\rangle$, the initial state, used by the diffuser to reflect about it.
|
110
109
|
packed_vars: The state to which to apply the grover operator.
|
111
110
|
|
112
111
|
|
@@ -123,8 +122,8 @@ def grover_operator(
|
|
123
122
|
def grover_search(
|
124
123
|
reps: CInt, oracle: QCallable[QArray[QBit]], packed_vars: QArray[QBit]
|
125
124
|
) -> None:
|
126
|
-
|
127
|
-
Qmod Classiq-library function
|
125
|
+
"""
|
126
|
+
[Qmod Classiq-library function]
|
128
127
|
|
129
128
|
Applies Grover search algorithm.
|
130
129
|
|
@@ -144,15 +143,15 @@ def grover_search(
|
|
144
143
|
|
145
144
|
@qfunc(external=True)
|
146
145
|
def hadamard_transform(target: QArray[QBit]) -> None:
|
147
|
-
|
148
|
-
Qmod Classiq-library function
|
146
|
+
"""
|
147
|
+
[Qmod Classiq-library function]
|
149
148
|
|
150
149
|
Applies Hadamard transform to the target qubits.
|
151
150
|
|
152
151
|
Corresponds to the braket notation:
|
153
152
|
|
154
153
|
$$
|
155
|
-
H^{
|
154
|
+
H^{\\otimes n} |x\rangle = \frac{1}{\\sqrt{2^n}} \\sum_{y=0}^{2^n - 1} (-1)^{x \\cdot y} |y\rangle
|
156
155
|
$$
|
157
156
|
|
158
157
|
Args:
|
@@ -167,7 +166,7 @@ def apply_to_all(
|
|
167
166
|
gate_operand: QCallable[Annotated[QBit, "target"]], target: QArray[QBit]
|
168
167
|
) -> None:
|
169
168
|
"""
|
170
|
-
Qmod Classiq-library function
|
169
|
+
[Qmod Classiq-library function]
|
171
170
|
|
172
171
|
Applies the single-qubit operand `gate_operand` to each qubit in the qubit
|
173
172
|
array `target`.
|
@@ -26,8 +26,8 @@ def linear_pauli_rotations(
|
|
26
26
|
x: QArray[QBit],
|
27
27
|
q: QArray[QBit],
|
28
28
|
) -> None:
|
29
|
-
|
30
|
-
Qmod Classiq-library function
|
29
|
+
"""
|
30
|
+
[Qmod Classiq-library function]
|
31
31
|
|
32
32
|
Performs a rotation on a series of $m$ target qubits,
|
33
33
|
where the rotation angle is a linear function of an $n$-qubit
|
@@ -36,14 +36,14 @@ def linear_pauli_rotations(
|
|
36
36
|
Corresponds to the braket notation:
|
37
37
|
|
38
38
|
$$
|
39
|
-
|
40
|
-
_{m}\rightarrow
|
41
|
-
_{n}
|
42
|
-
i
|
39
|
+
\\left|x\right\rangle _{n}\\left|q\right\rangle
|
40
|
+
_{m}\rightarrow\\left|x\right\rangle
|
41
|
+
_{n}\\prod_{k=1}^{m}\\left(\\cos\\left(\frac{a_{k}}{2}x+\frac{b_{k}}{2}\right)-
|
42
|
+
i\\sin\\left(\frac{a_{k}}{2}x+\frac{b_{k}}{2}\right)P_{k}\right)\\left|q_{k}\right\rangle
|
43
43
|
$$
|
44
44
|
|
45
|
-
where
|
46
|
-
|
45
|
+
where $\\left|x\right\rangle$ is the control register,
|
46
|
+
$\\left|q\right\rangle$ is the target register, each $P_{k}$ is one of
|
47
47
|
the three Pauli matrices $X$, $Y$, or $Z$, and $a_{k}$, $b_{k}$ are
|
48
48
|
the user given slopes and offsets, respectively.
|
49
49
|
|
@@ -6,7 +6,7 @@ from classiq.qmod.qmod_variable import QArray, QBit, QNum
|
|
6
6
|
@qfunc(external=True)
|
7
7
|
def qft_no_swap(qbv: QArray[QBit]) -> None:
|
8
8
|
"""
|
9
|
-
Qmod Classiq-library function
|
9
|
+
[Qmod Classiq-library function]
|
10
10
|
|
11
11
|
Applies the Quantum Fourier Transform (QFT) without the swap gates.
|
12
12
|
|
@@ -30,7 +30,7 @@ def _ctrl_x(ref: CInt, ctrl: QNum, aux: QBit) -> None:
|
|
30
30
|
@qfunc(external=True)
|
31
31
|
def qft_space_add_const(value: CInt, phi_b: QArray[QBit]) -> None:
|
32
32
|
"""
|
33
|
-
Qmod Classiq-library function
|
33
|
+
[Qmod Classiq-library function]
|
34
34
|
|
35
35
|
Adds a constant to a quantum number (in the Fourier space) using the Quantum Fourier Transform (QFT) Adder algorithm.
|
36
36
|
Assuming that the input `phi_b` has `n` qubits, the result will be $\\phi_b+=value \\mod 2^n$.
|
@@ -49,7 +49,7 @@ def qft_space_add_const(value: CInt, phi_b: QArray[QBit]) -> None:
|
|
49
49
|
@qfunc(external=True)
|
50
50
|
def cc_modular_add(n: CInt, a: CInt, phi_b: QArray[QBit], c1: QBit, c2: QBit) -> None:
|
51
51
|
"""
|
52
|
-
Qmod Classiq-library function
|
52
|
+
[Qmod Classiq-library function]
|
53
53
|
|
54
54
|
Adds a constant `a` to a quantum number `phi_b` modulo the constant `n`, controlled by 2 qubits.
|
55
55
|
The quantum number `phi_b` and the constant `a` are assumed to be in the QFT space.
|
@@ -70,7 +70,7 @@ def c_modular_multiply(
|
|
70
70
|
n: CInt, a: CInt, b: QArray[QBit], x: QArray[QBit], ctrl: QBit
|
71
71
|
) -> None:
|
72
72
|
"""
|
73
|
-
Qmod Classiq-library function
|
73
|
+
[Qmod Classiq-library function]
|
74
74
|
|
75
75
|
Performs out-of-place multiplication of a quantum number `x` by a classical number `a` modulo classical number `n`,
|
76
76
|
controlled by a quantum bit `ctrl` and adds the result to a quantum array `b`. Applies $b += xa \\mod n$ if `ctrl=1`, and the identity otherwise.
|
@@ -88,10 +88,10 @@ def c_modular_multiply(
|
|
88
88
|
@qfunc(external=True)
|
89
89
|
def multiswap(x: QArray[QBit], y: QArray[QBit]) -> None:
|
90
90
|
"""
|
91
|
-
Qmod Classiq-library function
|
91
|
+
[Qmod Classiq-library function]
|
92
92
|
|
93
93
|
Swaps the qubit states between two arrays.
|
94
|
-
|
94
|
+
Qubits of respective indices are swapped, and additional qubits in the longer array are left unchanged.
|
95
95
|
|
96
96
|
Args:
|
97
97
|
x: The first array
|
@@ -104,9 +104,9 @@ def multiswap(x: QArray[QBit], y: QArray[QBit]) -> None:
|
|
104
104
|
@qfunc(external=True)
|
105
105
|
def inplace_c_modular_multiply(n: CInt, a: CInt, x: QArray[QBit], ctrl: QBit) -> None:
|
106
106
|
"""
|
107
|
-
Qmod Classiq-library function
|
107
|
+
[Qmod Classiq-library function]
|
108
108
|
|
109
|
-
Performs
|
109
|
+
Performs multiplication of a quantum number `x` by a classical number `a` modulo classical number `n`,
|
110
110
|
controlled by a quantum bit `ctrl`. Applies $x=xa \\mod n$ if `ctrl=1`, and the identity otherwise.
|
111
111
|
|
112
112
|
Args:
|
@@ -121,7 +121,7 @@ def inplace_c_modular_multiply(n: CInt, a: CInt, x: QArray[QBit], ctrl: QBit) ->
|
|
121
121
|
@qfunc(external=True)
|
122
122
|
def modular_exp(n: CInt, a: CInt, x: QArray[QBit], power: QArray[QBit]) -> None:
|
123
123
|
"""
|
124
|
-
Qmod Classiq-library function
|
124
|
+
[Qmod Classiq-library function]
|
125
125
|
|
126
126
|
Raises a classical integer `a` to the power of a quantum number `x` modulo classical integer `n`
|
127
127
|
times a quantum number `power`. Performs $power=(a^x \\mod n)*power$ in-place.
|
@@ -9,9 +9,9 @@ from classiq.qmod.qmod_variable import QArray, QBit
|
|
9
9
|
@qfunc(external=True)
|
10
10
|
def qaoa_mixer_layer(b: CReal, target: QArray[QBit]) -> None:
|
11
11
|
"""
|
12
|
-
Qmod Classiq-library function
|
12
|
+
[Qmod Classiq-library function]
|
13
13
|
|
14
|
-
|
14
|
+
Applies the mixer layer for the QAOA algorithm.
|
15
15
|
The mixer layer is a sequence of `X` gates applied to each qubit in the target quantum
|
16
16
|
array variable.
|
17
17
|
|
@@ -30,9 +30,9 @@ def qaoa_cost_layer(
|
|
30
30
|
g: CReal, hamiltonian: CArray[PauliTerm], target: QArray[QBit]
|
31
31
|
) -> None:
|
32
32
|
"""
|
33
|
-
Qmod Classiq-library function
|
33
|
+
[Qmod Classiq-library function]
|
34
34
|
|
35
|
-
|
35
|
+
Applies the cost layer to the QAOA model.
|
36
36
|
|
37
37
|
This function integrates the problem-specific cost function into the QAOA model's objective function.
|
38
38
|
The cost layer represents the primary objective that the QAOA algorithm seeks to optimize, such as
|
@@ -52,9 +52,9 @@ def qaoa_layer(
|
|
52
52
|
g: CReal, b: CReal, hamiltonian: CArray[PauliTerm], target: QArray[QBit]
|
53
53
|
) -> None:
|
54
54
|
"""
|
55
|
-
Qmod Classiq-library function
|
55
|
+
[Qmod Classiq-library function]
|
56
56
|
|
57
|
-
|
57
|
+
Applies the QAOA layer, which concatenates the cost layer and the mixer layer.
|
58
58
|
|
59
59
|
The `qaoa_layer` function integrates both the cost and mixer layers, essential components of the
|
60
60
|
Quantum Approximate Optimization Algorithm (QAOA). The cost layer encodes the problem's objective,
|
@@ -74,9 +74,9 @@ def qaoa_layer(
|
|
74
74
|
@qfunc(external=True)
|
75
75
|
def qaoa_init(target: QArray[QBit]) -> None:
|
76
76
|
"""
|
77
|
-
Qmod Classiq-library function
|
77
|
+
[Qmod Classiq-library function]
|
78
78
|
|
79
|
-
|
79
|
+
Initializes the QAOA circuit by applying the Hadamard gate to all qubits.
|
80
80
|
|
81
81
|
In the Quantum Approximate Optimization Algorithm (QAOA), the initial state is a uniform superposition
|
82
82
|
created by applying the Hadamard gate to each qubit. This function prepares the qubits for the subsequent
|
@@ -96,9 +96,9 @@ def qaoa_penalty(
|
|
96
96
|
target: QArray[QBit, Literal["num_qubits"]],
|
97
97
|
) -> None:
|
98
98
|
"""
|
99
|
-
Qmod Classiq-library function
|
99
|
+
[Qmod Classiq-library function]
|
100
100
|
|
101
|
-
|
101
|
+
Applies the penalty layer to the QAOA model.
|
102
102
|
|
103
103
|
This function adds a penalty term to the objective function of the QAOA model to
|
104
104
|
enforce certain constraints (e.g., binary or integer variables) during the
|
@@ -5,7 +5,7 @@ from classiq.qmod.qmod_variable import QArray, QBit
|
|
5
5
|
@qfunc(external=True)
|
6
6
|
def qft(target: QArray[QBit]) -> None:
|
7
7
|
"""
|
8
|
-
Qmod Classiq-library function
|
8
|
+
[Qmod Classiq-library function]
|
9
9
|
|
10
10
|
Performs the Quantum Fourier Transform (QFT) on `target` in-place.
|
11
11
|
Implements the following transformation:
|
@@ -7,7 +7,7 @@ from classiq.qmod.quantum_callable import QCallable
|
|
7
7
|
@qfunc(external=True)
|
8
8
|
def qpe_flexible(unitary_with_power: QCallable[CInt], phase: QNum) -> None:
|
9
9
|
"""
|
10
|
-
Qmod Classiq-library function
|
10
|
+
[Qmod Classiq-library function]
|
11
11
|
|
12
12
|
Implements the Quantum Phase Estimation (QPE) algorithm, which estimates the phase (eigenvalue) associated with an eigenstate of a given unitary operator $U$.
|
13
13
|
This is a flexible version that allows the user to provide a callable that generates the unitary operator $U^k$ for a given integer $k$, offering greater flexibility in handling different quantum circuits using some powering rule.
|
@@ -25,7 +25,7 @@ def qpe_flexible(unitary_with_power: QCallable[CInt], phase: QNum) -> None:
|
|
25
25
|
@qfunc(external=True)
|
26
26
|
def qpe(unitary: QCallable, phase: QNum) -> None:
|
27
27
|
"""
|
28
|
-
Qmod Classiq-library function
|
28
|
+
[Qmod Classiq-library function]
|
29
29
|
|
30
30
|
Implements the standard Quantum Phase Estimation (QPE) algorithm, which estimates the phase (eigenvalue) associated with an eigenstate of a given unitary operator $U$.
|
31
31
|
|
@@ -14,13 +14,13 @@ def qsvt_step(
|
|
14
14
|
qvar: QArray[QBit],
|
15
15
|
aux: QBit,
|
16
16
|
) -> None:
|
17
|
-
|
18
|
-
Qmod Classiq-library function
|
17
|
+
"""
|
18
|
+
[Qmod Classiq-library function]
|
19
19
|
|
20
20
|
Applies a single QSVT step, composed of 2 projector-controlled-phase rotations, and applications of the block encoding unitary `u` and its inverse:
|
21
21
|
|
22
22
|
$$
|
23
|
-
|
23
|
+
\\Pi_{\\phi_2}U^{\\dagger}\tilde{\\Pi}_{\\phi_{1}}U
|
24
24
|
$$
|
25
25
|
|
26
26
|
Args:
|
@@ -47,25 +47,25 @@ def qsvt(
|
|
47
47
|
qvar: QArray[QBit],
|
48
48
|
aux: QBit,
|
49
49
|
) -> None:
|
50
|
-
|
51
|
-
Qmod Classiq-library function
|
50
|
+
"""
|
51
|
+
[Qmod Classiq-library function]
|
52
52
|
|
53
|
-
Implements the Quantum Singular Value Transformation (QSVT) - an algorithmic framework, used to apply polynomial transformations of degree `d` on the singular values of a block encoded matrix, given as the unitary `u`. Given a unitary $U$, a list of phase angles
|
54
|
-
Given a unitary $U$, a list of phase angles
|
53
|
+
Implements the Quantum Singular Value Transformation (QSVT) - an algorithmic framework, used to apply polynomial transformations of degree `d` on the singular values of a block encoded matrix, given as the unitary `u`. Given a unitary $U$, a list of phase angles $\\phi_1, \\phi_2, ..., \\phi_{d+1}$ and 2 projector-controlled-not operands $C_{\\Pi}NOT,C_{\tilde{\\Pi}}NOT$, the QSVT sequence is as follows:
|
54
|
+
Given a unitary $U$, a list of phase angles $\\phi_1, \\phi_2, ..., \\phi_{d+1}$ and 2 projector-controlled-not operands $C_{\\Pi}NOT,C_{\tilde{\\Pi}}NOT$, the QSVT sequence is as follows:
|
55
55
|
|
56
56
|
$$
|
57
|
-
\tilde{
|
57
|
+
\tilde{\\Pi}_{\\phi_{d+1}}U \\prod_{k=1}^{(d-1)/2} (\\Pi_{\\phi_{d-2k}} U^{\\dagger}\tilde{\\Pi}_{\\phi_{d - (2k+1)}}U)\\Pi_{\\phi_{1}}
|
58
58
|
$$
|
59
59
|
|
60
60
|
for odd $d$, and:
|
61
61
|
|
62
62
|
$$
|
63
|
-
|
63
|
+
\\prod_{k=1}^{d/2} (\\Pi_{\\phi_{d-(2k-1)}} U^{\\dagger}\tilde{\\Pi}_{\\phi_{d-2k}}U)\\Pi_{\\phi_{1}}
|
64
64
|
$$
|
65
65
|
|
66
66
|
for even $d$.
|
67
67
|
|
68
|
-
Each of the
|
68
|
+
Each of the $\\Pi$s is a projector-controlled-phase unitary, according to the given projectors.
|
69
69
|
|
70
70
|
Args:
|
71
71
|
phase_seq: A sequence of phase angles of length d+1.
|
@@ -88,13 +88,13 @@ def projector_controlled_phase(
|
|
88
88
|
qvar: QArray[QBit],
|
89
89
|
aux: QBit,
|
90
90
|
) -> None:
|
91
|
-
|
92
|
-
Qmod Classiq-library function
|
91
|
+
"""
|
92
|
+
[Qmod Classiq-library function]
|
93
93
|
|
94
94
|
Assigns a phase to the entire subspace determined by the given projector. Corresponds to the operation:
|
95
95
|
|
96
96
|
$$
|
97
|
-
|
97
|
+
\\Pi_{\\phi} = (C_{\\Pi}NOT) e^{-i\frac{\\phi}{2}Z}(C_{\\Pi}NOT)
|
98
98
|
$$
|
99
99
|
|
100
100
|
Args:
|
@@ -117,8 +117,8 @@ def qsvt_inversion(
|
|
117
117
|
qvar: QArray[QBit],
|
118
118
|
aux: QBit,
|
119
119
|
) -> None:
|
120
|
-
|
121
|
-
Qmod Classiq-library function
|
120
|
+
"""
|
121
|
+
[Qmod Classiq-library function]
|
122
122
|
|
123
123
|
Implements matrix inversion on a given block-encoding of a square matrix, using the QSVT framework. Applies a polynomial approximation
|
124
124
|
of the inverse of the singular values of the matrix encoded in `u`. The phases for the polynomial should be pre-calculated and passed into the function.
|
@@ -409,9 +409,9 @@ def CH(control: QBit, target: QBit) -> None:
|
|
409
409
|
"""
|
410
410
|
[Qmod core-library function]
|
411
411
|
|
412
|
-
Applies the
|
412
|
+
Applies the Hadamard gate to the target qubit, conditioned on the control qubit.
|
413
413
|
|
414
|
-
|
414
|
+
This operation is represented by the following matrix:
|
415
415
|
|
416
416
|
$$
|
417
417
|
CH = \\frac{1}{\\sqrt{2}} \\begin{bmatrix}
|
@@ -438,7 +438,7 @@ def CX(control: QBit, target: QBit) -> None:
|
|
438
438
|
|
439
439
|
Applies the Pauli-X gate to the target qubit, conditioned on the control qubit.
|
440
440
|
|
441
|
-
|
441
|
+
This operation is represented by the following matrix:
|
442
442
|
|
443
443
|
$$
|
444
444
|
CX = \\begin{bmatrix}
|
@@ -465,7 +465,7 @@ def CY(control: QBit, target: QBit) -> None:
|
|
465
465
|
|
466
466
|
Applies the Pauli-Y gate to the target qubit, conditioned on the control qubit.
|
467
467
|
|
468
|
-
|
468
|
+
This operation is represented by the following matrix:
|
469
469
|
|
470
470
|
$$
|
471
471
|
CY = \\begin{bmatrix}
|
@@ -492,7 +492,7 @@ def CZ(control: QBit, target: QBit) -> None:
|
|
492
492
|
|
493
493
|
Applies the Pauli-Z gate to the target qubit, conditioned on the control qubit.
|
494
494
|
|
495
|
-
|
495
|
+
This operation is represented by the following matrix:
|
496
496
|
|
497
497
|
$$
|
498
498
|
CZ = \\begin{bmatrix}
|
@@ -519,7 +519,7 @@ def CRX(theta: CReal, control: QBit, target: QBit) -> None:
|
|
519
519
|
|
520
520
|
Applies the RX gate to the target qubit, conditioned on the control qubit.
|
521
521
|
|
522
|
-
|
522
|
+
This operation is represented by the following matrix:
|
523
523
|
|
524
524
|
$$
|
525
525
|
CRX = \\begin{bmatrix}
|
@@ -547,7 +547,7 @@ def CRY(theta: CReal, control: QBit, target: QBit) -> None:
|
|
547
547
|
|
548
548
|
Applies the RY gate to the target qubit, conditioned on the control qubit.
|
549
549
|
|
550
|
-
|
550
|
+
This operation is represented by the following matrix:
|
551
551
|
|
552
552
|
$$
|
553
553
|
CRY = \\begin{bmatrix}
|
@@ -575,7 +575,7 @@ def CRZ(theta: CReal, control: QBit, target: QBit) -> None:
|
|
575
575
|
|
576
576
|
Applies the RZ gate to the target qubit, conditioned on the control qubit.
|
577
577
|
|
578
|
-
|
578
|
+
This operation is represented by the following matrix:
|
579
579
|
|
580
580
|
$$
|
581
581
|
CRZ = \\begin{bmatrix}
|
@@ -603,7 +603,7 @@ def CPHASE(theta: CReal, control: QBit, target: QBit) -> None:
|
|
603
603
|
|
604
604
|
Applies the PHASE gate to the target qubit, conditioned on the control qubit.
|
605
605
|
|
606
|
-
|
606
|
+
This operation is represented by the following matrix:
|
607
607
|
|
608
608
|
$$
|
609
609
|
CPHASE = \\begin{bmatrix}
|
@@ -631,7 +631,7 @@ def SWAP(qbit0: QBit, qbit1: QBit) -> None:
|
|
631
631
|
|
632
632
|
Swaps the states of two qubits.
|
633
633
|
|
634
|
-
|
634
|
+
This operation is represented by the following matrix:
|
635
635
|
|
636
636
|
$$
|
637
637
|
SWAP = \\begin{bmatrix}
|
@@ -654,7 +654,7 @@ def SWAP(qbit0: QBit, qbit1: QBit) -> None:
|
|
654
654
|
@qfunc(external=True)
|
655
655
|
def IDENTITY(target: QArray[QBit]) -> None:
|
656
656
|
"""
|
657
|
-
Qmod core-library function
|
657
|
+
[Qmod core-library function]
|
658
658
|
|
659
659
|
Does nothing.
|
660
660
|
|
@@ -711,9 +711,9 @@ def CCX(control: QArray[QBit, Literal[2]], target: QBit) -> None:
|
|
711
711
|
"""
|
712
712
|
[Qmod core-library function]
|
713
713
|
|
714
|
-
|
714
|
+
Applies the Pauli-X gate to the target qubit, conditioned on the two control qubits (Toffoli).
|
715
715
|
|
716
|
-
|
716
|
+
This operation is represented by the following matrix:
|
717
717
|
|
718
718
|
$$
|
719
719
|
CCX = \\begin{bmatrix}
|
@@ -10,7 +10,7 @@ def allocate(
|
|
10
10
|
num_qubits: CInt, out: Output[QArray[QBit, Literal["num_qubits"]]]
|
11
11
|
) -> None:
|
12
12
|
"""
|
13
|
-
Qmod core-library function
|
13
|
+
[Qmod core-library function]
|
14
14
|
|
15
15
|
Allocates the specified number of qubits to a given quantum variable and initializes
|
16
16
|
them in the zero state:
|
@@ -41,8 +41,7 @@ def allocate_num(
|
|
41
41
|
],
|
42
42
|
) -> None:
|
43
43
|
"""
|
44
|
-
|
45
|
-
Qmod Classiq-library function
|
44
|
+
[Qmod Classiq-library function]
|
46
45
|
|
47
46
|
Initializes a quantum number with the given number of qubits, sign, and fractional digits.
|
48
47
|
|
@@ -60,7 +59,7 @@ def allocate_num(
|
|
60
59
|
@qfunc(external=True)
|
61
60
|
def free(in_: Input[QArray[QBit]]) -> None:
|
62
61
|
"""
|
63
|
-
Qmod core-library function
|
62
|
+
[Qmod core-library function]
|
64
63
|
|
65
64
|
Releases the qubits allocated to a quantum variable, allowing them to be reused.
|
66
65
|
|
@@ -80,7 +79,7 @@ def prepare_state(
|
|
80
79
|
out: Output[QArray[QBit, Literal["log(get_field(probabilities, 'len'), 2)"]]],
|
81
80
|
) -> None:
|
82
81
|
"""
|
83
|
-
Qmod core-library function
|
82
|
+
[Qmod core-library function]
|
84
83
|
|
85
84
|
Initializes a quantum variable in a state corresponding to a given probability distribution:
|
86
85
|
|
@@ -110,7 +109,7 @@ def prepare_amplitudes(
|
|
110
109
|
out: Output[QArray[QBit, Literal["log(get_field(amplitudes, 'len'), 2)"]]],
|
111
110
|
) -> None:
|
112
111
|
"""
|
113
|
-
Qmod core-library function
|
112
|
+
[Qmod core-library function]
|
114
113
|
|
115
114
|
Initializes a quantum variable in a state corresponding to the given amplitudes:
|
116
115
|
|
@@ -140,9 +139,10 @@ def inplace_prepare_state(
|
|
140
139
|
target: QArray[QBit, Literal["log(get_field(probabilities, 'len'), 2)"]],
|
141
140
|
) -> None:
|
142
141
|
"""
|
143
|
-
Qmod core-library function
|
142
|
+
[Qmod core-library function]
|
144
143
|
|
145
|
-
|
144
|
+
Transforms a given quantum variable in the state |0> to the state per the specified probability distribution
|
145
|
+
(similar to `prepare_state` but preformed on an initialized variable).
|
146
146
|
|
147
147
|
Args:
|
148
148
|
probabilities: The probability distribution corresponding to the quantum variable state. Must be a valid probability distribution, i.e., a list of non-negative real numbers that sum to 1. Must have a valid length (a power of 2).
|
@@ -162,9 +162,10 @@ def inplace_prepare_amplitudes(
|
|
162
162
|
target: QArray[QBit, Literal["log(get_field(amplitudes, 'len'), 2)"]],
|
163
163
|
) -> None:
|
164
164
|
"""
|
165
|
-
Qmod core-library function
|
165
|
+
[Qmod core-library function]
|
166
166
|
|
167
|
-
|
167
|
+
Transforms a given quantum variable in the state |0> to the state per the specified amplitudes
|
168
|
+
(similar to `prepare_amplitudes` but preformed on an initialized variable).
|
168
169
|
|
169
170
|
Args:
|
170
171
|
amplitudes: The amplitudes to initialize the quantum variable. Must be a valid real quantum state vector, i.e., the sum of squares should be 1. Must have a valid length (a power of 2).
|
@@ -187,7 +188,7 @@ def _prepare_uniform_trimmed_state_step(
|
|
187
188
|
@qfunc(external=True)
|
188
189
|
def prepare_uniform_trimmed_state(m: CInt, q: QArray[QBit]) -> None:
|
189
190
|
"""
|
190
|
-
Qmod Classiq-library function
|
191
|
+
[Qmod Classiq-library function]
|
191
192
|
|
192
193
|
Initializes a quantum variable in a uniform superposition of the first `m` computational basis states:
|
193
194
|
|
@@ -212,7 +213,7 @@ def prepare_uniform_trimmed_state(m: CInt, q: QArray[QBit]) -> None:
|
|
212
213
|
@qfunc(external=True)
|
213
214
|
def prepare_uniform_interval_state(start: CInt, end: CInt, q: QArray[QBit]) -> None:
|
214
215
|
"""
|
215
|
-
Qmod Classiq-library function
|
216
|
+
[Qmod Classiq-library function]
|
216
217
|
|
217
218
|
Initializes a quantum variable in a uniform superposition of the specified interval in the computational basis states:
|
218
219
|
|
@@ -237,7 +238,7 @@ def prepare_uniform_interval_state(start: CInt, end: CInt, q: QArray[QBit]) -> N
|
|
237
238
|
@qfunc(external=True)
|
238
239
|
def prepare_ghz_state(size: CInt, q: Output[QArray[QBit]]) -> None:
|
239
240
|
"""
|
240
|
-
Qmod
|
241
|
+
[Qmod Classiq-library function]
|
241
242
|
|
242
243
|
Initializes a quantum variable in a Greenberger-Horne-Zeilinger (GHZ) state. i.e., a balanced superposition of all ones and all zeros, on an arbitrary number of qubits..
|
243
244
|
|
@@ -257,7 +258,7 @@ def prepare_ghz_state(size: CInt, q: Output[QArray[QBit]]) -> None:
|
|
257
258
|
def prepare_exponential_state(rate: CInt, q: QArray[QBit]) -> None:
|
258
259
|
"""
|
259
260
|
|
260
|
-
Qmod Classiq-library function
|
261
|
+
[Qmod Classiq-library function]
|
261
262
|
|
262
263
|
Prepares a quantum state with exponentially decreasing amplitudes. The state is prepared in the computational basis, with the amplitudes of the states decreasing exponentially with the index of the state:
|
263
264
|
|
@@ -277,7 +278,7 @@ def prepare_exponential_state(rate: CInt, q: QArray[QBit]) -> None:
|
|
277
278
|
@qfunc(external=True)
|
278
279
|
def prepare_bell_state(state_num: CInt, q: Output[QArray[QBit, Literal[2]]]) -> None:
|
279
280
|
"""
|
280
|
-
Qmod
|
281
|
+
[Qmod Classiq-library function]
|
281
282
|
|
282
283
|
Initializes a quantum array of size 2 in one of the four Bell states.
|
283
284
|
|
@@ -323,7 +324,7 @@ def prepare_bell_state(state_num: CInt, q: Output[QArray[QBit, Literal[2]]]) ->
|
|
323
324
|
@qfunc(external=True)
|
324
325
|
def inplace_prepare_int(value: CInt, target: QArray[QBit]) -> None:
|
325
326
|
"""
|
326
|
-
Qmod Classiq-library function
|
327
|
+
[Qmod Classiq-library function]
|
327
328
|
|
328
329
|
Transitions a quantum variable in the zero state $|0\\rangle$ into the computational basis state $|\\text{value}\\rangle$.
|
329
330
|
In the general case, the function performs a bitwise-XOR, i.e. transitions the state $|\\psi\\rangle$ into $|\\psi \\oplus \\text{value}\\rangle$.
|
@@ -341,7 +342,7 @@ def inplace_prepare_int(value: CInt, target: QArray[QBit]) -> None:
|
|
341
342
|
@qfunc(external=True)
|
342
343
|
def prepare_int(value: CInt, out: Output[QNum]) -> None:
|
343
344
|
"""
|
344
|
-
Qmod Classiq-library function
|
345
|
+
[Qmod Classiq-library function]
|
345
346
|
|
346
347
|
Initializes a quantum variable to the computational basis state $|\\text{value}\\rangle$.
|
347
348
|
The number of allocated qubits is automatically computed from the value, and is the minimal number required for representation in the computational basis.
|
@@ -5,10 +5,10 @@ from classiq.qmod.qmod_variable import Output, QArray, QBit
|
|
5
5
|
@qfunc(external=True)
|
6
6
|
def swap_test(state1: QArray[QBit], state2: QArray[QBit], test: Output[QBit]) -> None:
|
7
7
|
"""
|
8
|
-
Qmod Classiq-library function
|
8
|
+
[Qmod Classiq-library function]
|
9
9
|
|
10
|
-
|
11
|
-
The fidelity of `state1` and `state2` is calculated from the probability of measuring
|
10
|
+
Tests the overlap (in terms of fidelity) of two quantum states.
|
11
|
+
The fidelity of `state1` and `state2` is calculated from the probability of measuring `test` qubit in the state 0 as follows:
|
12
12
|
|
13
13
|
$$
|
14
14
|
|\\langle state1 | state2 \\rangle |^2 = 2*Prob(test=0)-1
|
@@ -93,7 +93,7 @@ classiq/execution/jobs.py,sha256=JX4f5LFf4Orl_-SlcIwX-Jy7gKwnQAT_WwcQtpoTrW8,506
|
|
93
93
|
classiq/execution/qnn.py,sha256=qsOA2mD8Ne_4VwvyGPfuHVDTzyxVnDHwE2gfoaOMsf8,2339
|
94
94
|
classiq/executor.py,sha256=jKD5O_tJpL2NMTC_N0NEuPJEmKZIaqsTpQrgZ88sleg,2594
|
95
95
|
classiq/interface/__init__.py,sha256=cg7hD_XVu1_jJ1fgwmT0rMIoZHopNVeB8xtlmMx-E_A,83
|
96
|
-
classiq/interface/_version.py,sha256=
|
96
|
+
classiq/interface/_version.py,sha256=P8akUoU2JbjwdaYBo9AmLsJv4Xj0QMcuBfoYbHhwWJU,197
|
97
97
|
classiq/interface/analyzer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
98
98
|
classiq/interface/analyzer/analysis_params.py,sha256=043hfS-I3Ec6tkcniKMQQUiRyEC7zlNhntTBpZQB8hw,3725
|
99
99
|
classiq/interface/analyzer/cytoscape_graph.py,sha256=_2GviubgrDMAbF57PTDMhS9W0mTCLYWdyu0HndDPh54,2116
|
@@ -435,26 +435,26 @@ classiq/qmod/builtins/classical_execution_primitives.py,sha256=VlA4Wam35v2wMppZ5
|
|
435
435
|
classiq/qmod/builtins/classical_functions.py,sha256=sOMYm_vU24mAGgR63qmJ5eMTgpacXCRIhNEXa6pl0Q4,1914
|
436
436
|
classiq/qmod/builtins/enums.py,sha256=JzfANJT4Z1Gy8io4JjCnez4t97mxBjT1K-ij2Cli9kQ,3417
|
437
437
|
classiq/qmod/builtins/functions/__init__.py,sha256=xpAaTC4wrHh0WmykWsvf_5IdPPxJxWDoHror_rq20kg,5352
|
438
|
-
classiq/qmod/builtins/functions/amplitude_estimation.py,sha256=
|
439
|
-
classiq/qmod/builtins/functions/arithmetic.py,sha256=
|
438
|
+
classiq/qmod/builtins/functions/amplitude_estimation.py,sha256=nO2HlzVgZw3621YUr1-4AflAWDm5xTBaTSjQ6o9yjKA,1562
|
439
|
+
classiq/qmod/builtins/functions/arithmetic.py,sha256=DtjQor_ZuJPBJzFrgMJUN2frmJatvnNgpJSYP8-1tHM,1722
|
440
440
|
classiq/qmod/builtins/functions/benchmarking.py,sha256=TYY1VRd5DHl-mKTKeW5wF1txZgFsb3yPXM_rdgoLWCo,250
|
441
441
|
classiq/qmod/builtins/functions/chemistry.py,sha256=Wl8ktlY0U_M-mDXozcCht44_flZtwImIiGeAMr7hs4s,2126
|
442
|
-
classiq/qmod/builtins/functions/discrete_sine_cosine_transform.py,sha256=
|
443
|
-
classiq/qmod/builtins/functions/exponentiation.py,sha256
|
442
|
+
classiq/qmod/builtins/functions/discrete_sine_cosine_transform.py,sha256=miT9CDKueQtA-T3NBg2sZTG5zoxxgiZ7g6GV2krTj-I,2807
|
443
|
+
classiq/qmod/builtins/functions/exponentiation.py,sha256=poR2fTvaBtVQiNvQJ7sLNzm7akp7GGuMW3vsPee3TfE,4477
|
444
444
|
classiq/qmod/builtins/functions/finance.py,sha256=zo-UZ_R_8UMw0FCLJQsw_CEMAKV4derY00tnbAPC2yw,861
|
445
|
-
classiq/qmod/builtins/functions/grover.py,sha256=
|
446
|
-
classiq/qmod/builtins/functions/hea.py,sha256=
|
447
|
-
classiq/qmod/builtins/functions/linear_pauli_rotation.py,sha256=
|
448
|
-
classiq/qmod/builtins/functions/modular_exponentiation.py,sha256=
|
445
|
+
classiq/qmod/builtins/functions/grover.py,sha256=xWPUDsSdtXnmzfZTsf_pBynHb8dfiXVs-6X3-iicj_Y,4980
|
446
|
+
classiq/qmod/builtins/functions/hea.py,sha256=oyzBFt2FqKgBA5zBiWa9VaoP_y3g6q1peyIXcYKw6C4,2505
|
447
|
+
classiq/qmod/builtins/functions/linear_pauli_rotation.py,sha256=Vs9E7Cn_BpCI4Ed531MABDJXB9Od8ZBZB0gWm6nEIzM,2058
|
448
|
+
classiq/qmod/builtins/functions/modular_exponentiation.py,sha256=1cWE2eKc6zyCytzs1GzRYgQzEy_huIjQm8_RjY3Sqjo,4217
|
449
449
|
classiq/qmod/builtins/functions/operators.py,sha256=EyjsDy4aOrBncFcf8r9ioEB2vigOpqvYwi4n1aMj7qI,398
|
450
|
-
classiq/qmod/builtins/functions/qaoa_penalty.py,sha256=
|
451
|
-
classiq/qmod/builtins/functions/qft.py,sha256=
|
452
|
-
classiq/qmod/builtins/functions/qpe.py,sha256=
|
450
|
+
classiq/qmod/builtins/functions/qaoa_penalty.py,sha256=AIPhMLNIMrUKSGcyxf5DkcpQmpClW62PCt_auIN40ac,4260
|
451
|
+
classiq/qmod/builtins/functions/qft.py,sha256=N8cyfZ6foBcG4pN2ui8Z3te048qrVCcqjjpu2dIhCxE,687
|
452
|
+
classiq/qmod/builtins/functions/qpe.py,sha256=zemPR03SszqGLbWlwHI8ZrdRuTqcgnXdHGRSy3-4PJ8,1984
|
453
453
|
classiq/qmod/builtins/functions/qsvm.py,sha256=j5UbMWfl2UNtBewjSWgXq-fvHuAznpINw_b5-_XEKdU,586
|
454
|
-
classiq/qmod/builtins/functions/qsvt.py,sha256=
|
455
|
-
classiq/qmod/builtins/functions/standard_gates.py,sha256=
|
456
|
-
classiq/qmod/builtins/functions/state_preparation.py,sha256=
|
457
|
-
classiq/qmod/builtins/functions/swap_test.py,sha256=
|
454
|
+
classiq/qmod/builtins/functions/qsvt.py,sha256=aSePhlqVql8IHfmhsGY6vMucJi3htoUNKvLJYOQvIGM,6635
|
455
|
+
classiq/qmod/builtins/functions/standard_gates.py,sha256=fsljKq_Y8aI_JYN4Gxf23jPB8FCVrDRmt3Aqj5Jb1DM,22349
|
456
|
+
classiq/qmod/builtins/functions/state_preparation.py,sha256=BJcd9ZV4CHHzXTFq4NKw3KrbR2xFO5zt_Z_9jbg7E9A,15552
|
457
|
+
classiq/qmod/builtins/functions/swap_test.py,sha256=DGWCkJNvunUGR5Q_eYxKOMO21elfD8kQkiNlQpcerOU,957
|
458
458
|
classiq/qmod/builtins/operations.py,sha256=-2ktlfP4xlPXjby29KDQp56achnSsrpBEDOxJfkVdno,13878
|
459
459
|
classiq/qmod/builtins/structs.py,sha256=pdjNKFAhxLNzVdz4bhONO4PwvfI_W7Z7Skjgqt47mxw,2913
|
460
460
|
classiq/qmod/cfunc.py,sha256=quwJdgYRgqI2C13SRrRunLi-Kuf7nCAk2-O2B46QtoY,1093
|
@@ -495,6 +495,6 @@ classiq/qmod/utilities.py,sha256=z_VnIRmOYTWjJp2UlOcWK0rQRtMqysmP_Gr6WYY_nak,273
|
|
495
495
|
classiq/qmod/write_qmod.py,sha256=SO7hdBdO31lTzyeaJ-Htyma-aJmrbBNtABNEB2llI4Q,1818
|
496
496
|
classiq/show.py,sha256=GyxceOzWrnVC9KvsLdHJbxycD9WkcQkkhOSw45P6CPo,1428
|
497
497
|
classiq/synthesis.py,sha256=wBk5iFCH2Bw9AvVPzGvTI96zjQXw6QpKRN9VZxc_Xl0,3350
|
498
|
-
classiq-0.46.
|
499
|
-
classiq-0.46.
|
500
|
-
classiq-0.46.
|
498
|
+
classiq-0.46.1.dist-info/METADATA,sha256=Gl4sPXRCcoQGGw1u9i1NwsaGX2vBWT2H5rFhd0uSFuw,3087
|
499
|
+
classiq-0.46.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
500
|
+
classiq-0.46.1.dist-info/RECORD,,
|
File without changes
|