classiq 0.32.1__py3-none-any.whl → 0.34.0__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.
Files changed (74) hide show
  1. classiq/__init__.py +2 -1
  2. classiq/_analyzer_extras/_ipywidgets_async_extension.py +1 -1
  3. classiq/_internals/api_wrapper.py +34 -23
  4. classiq/_internals/jobs.py +41 -14
  5. classiq/analyzer/__init__.py +3 -1
  6. classiq/applications/__init__.py +3 -1
  7. classiq/applications/benchmarking/__init__.py +3 -1
  8. classiq/applications/chemistry/__init__.py +3 -1
  9. classiq/applications/combinatorial_optimization/__init__.py +3 -1
  10. classiq/applications/combinatorial_optimization/examples/__init__.py +3 -1
  11. classiq/applications/finance/__init__.py +3 -1
  12. classiq/applications/qnn/__init__.py +3 -1
  13. classiq/applications/qnn/datasets/__init__.py +3 -1
  14. classiq/applications/qsvm/qsvm.py +1 -1
  15. classiq/applications_model_constructors/grover_model_constructor.py +25 -8
  16. classiq/builtin_functions/__init__.py +3 -1
  17. classiq/execution/__init__.py +3 -1
  18. classiq/execution/jobs.py +57 -20
  19. classiq/executor.py +4 -11
  20. classiq/interface/_version.py +1 -1
  21. classiq/interface/analyzer/analysis_params.py +1 -1
  22. classiq/interface/backend/backend_preferences.py +17 -0
  23. classiq/interface/backend/pydantic_backend.py +8 -0
  24. classiq/interface/backend/quantum_backend_providers.py +15 -1
  25. classiq/interface/chemistry/ground_state_problem.py +1 -1
  26. classiq/interface/chemistry/operator.py +198 -0
  27. classiq/interface/executor/execution_request.py +5 -12
  28. classiq/interface/generator/circuit_code/types_and_constants.py +1 -1
  29. classiq/interface/generator/complex_type.py +4 -1
  30. classiq/interface/generator/functions/__init__.py +3 -1
  31. classiq/interface/generator/functions/core_lib_declarations/quantum_functions/__init__.py +0 -1
  32. classiq/interface/generator/functions/core_lib_declarations/quantum_functions/atomic_quantum_functions.py +39 -39
  33. classiq/interface/generator/functions/core_lib_declarations/quantum_functions/std_lib_functions.py +251 -87
  34. classiq/interface/generator/functions/core_lib_declarations/quantum_operators.py +5 -54
  35. classiq/interface/generator/generated_circuit.py +14 -43
  36. classiq/interface/generator/generated_circuit_data.py +26 -34
  37. classiq/interface/generator/model/preferences/preferences.py +3 -3
  38. classiq/interface/generator/partitioned_register.py +1 -1
  39. classiq/interface/generator/quantum_function_call.py +1 -1
  40. classiq/interface/generator/validations/validator_functions.py +4 -2
  41. classiq/interface/hardware.py +3 -2
  42. classiq/interface/ide/show.py +1 -14
  43. classiq/interface/model/bind_operation.py +20 -0
  44. classiq/interface/model/handle_binding.py +8 -0
  45. classiq/interface/model/native_function_definition.py +15 -5
  46. classiq/interface/model/quantum_expressions/amplitude_loading_operation.py +8 -3
  47. classiq/interface/model/quantum_expressions/arithmetic_operation.py +9 -4
  48. classiq/interface/model/quantum_expressions/quantum_expression.py +10 -5
  49. classiq/interface/model/quantum_function_call.py +24 -347
  50. classiq/interface/model/quantum_function_declaration.py +7 -11
  51. classiq/interface/model/quantum_statement.py +13 -7
  52. classiq/interface/model/validations/handle_validation_base.py +1 -2
  53. classiq/interface/model/validations/handles_validator.py +34 -8
  54. classiq/interface/model/variable_declaration_statement.py +8 -0
  55. classiq/interface/server/routes.py +11 -16
  56. classiq/model/__init__.py +3 -1
  57. classiq/model/function_handler.py +1 -1
  58. classiq/model/function_handler.pyi +88 -88
  59. classiq/qmod/declaration_inferrer.py +37 -18
  60. classiq/qmod/model_state_container.py +6 -3
  61. classiq/qmod/qmod_builtins.py +892 -4
  62. classiq/qmod/qmod_parameter.py +24 -8
  63. classiq/qmod/qmod_variable.py +2 -1
  64. classiq/qmod/quantum_expandable.py +6 -2
  65. classiq/qmod/quantum_function.py +11 -10
  66. classiq/quantum_functions/quantum_function.py +4 -1
  67. {classiq-0.32.1.dist-info → classiq-0.34.0.dist-info}/METADATA +1 -1
  68. {classiq-0.32.1.dist-info → classiq-0.34.0.dist-info}/RECORD +69 -72
  69. classiq/interface/generator/functions/core_lib_declarations/quantum_functions/apps_lib_functions.py +0 -262
  70. classiq/interface/model/clients/__init__.py +0 -0
  71. classiq/interface/model/clients/qmod/__init__.py +0 -0
  72. classiq/interface/model/clients/qmod/qmod_builtins.py +0 -908
  73. classiq/interface/model/semantics.py +0 -15
  74. {classiq-0.32.1.dist-info → classiq-0.34.0.dist-info}/WHEEL +0 -0
@@ -1,908 +0,0 @@
1
- from typing import List, Literal
2
-
3
- from classiq.qmod.qmod_parameter import QParam
4
- from classiq.qmod.qmod_struct import QStruct
5
- from classiq.qmod.qmod_variable import Input, Output, QArray, QBit
6
- from classiq.qmod.quantum_callable import QCallable
7
- from classiq.qmod.quantum_function import ExternalQFunc
8
-
9
-
10
- @QStruct
11
- class PauliTerm:
12
- pauli: List[int]
13
- coefficient: float
14
-
15
-
16
- @QStruct
17
- class MoleculeProblem:
18
- mapping: int
19
- z2_symmetries: bool
20
- molecule: "Molecule"
21
- freeze_core: bool
22
- remove_orbitals: List[int]
23
-
24
-
25
- @QStruct
26
- class Molecule:
27
- atoms: List["ChemistryAtom"]
28
- spin: int
29
- charge: int
30
-
31
-
32
- @QStruct
33
- class ChemistryAtom:
34
- element: int
35
- position: "Position"
36
-
37
-
38
- @QStruct
39
- class Position:
40
- x: float
41
- y: float
42
- z: float
43
-
44
-
45
- @QStruct
46
- class FockHamiltonianProblem:
47
- mapping: int
48
- z2_symmetries: bool
49
- terms: List["LadderTerm"]
50
- num_particles: List[int]
51
-
52
-
53
- @QStruct
54
- class LadderTerm:
55
- coefficient: float
56
- ops: List["LadderOp"]
57
-
58
-
59
- @QStruct
60
- class LadderOp:
61
- op: int
62
- index: int
63
-
64
-
65
- @QStruct
66
- class CombinatorialOptimizationSolution:
67
- probability: float
68
- cost: float
69
- solution: List[int]
70
- count: int
71
-
72
-
73
- @QStruct
74
- class GaussianModel:
75
- num_qubits: int
76
- normal_max_value: float
77
- default_probabilities: List[float]
78
- rhos: List[float]
79
- loss: List[int]
80
- min_loss: int
81
-
82
-
83
- @QStruct
84
- class LogNormalModel:
85
- num_qubits: int
86
- mu: float
87
- sigma: float
88
-
89
-
90
- @QStruct
91
- class FinanceFunction:
92
- f: int
93
- threshold: float
94
- larger: bool
95
- polynomial_degree: int
96
- use_chebyshev_polynomial_approximation: bool
97
- tail_probability: float
98
-
99
-
100
- @QStruct
101
- class QsvmResult:
102
- test_score: float
103
- predicted_labels: List[float]
104
-
105
-
106
- @QStruct
107
- class QSVMFeatureMapPauli:
108
- feature_dimension: int
109
- reps: int
110
- entanglement: int
111
- alpha: float
112
- paulis: List[List[int]]
113
-
114
-
115
- @ExternalQFunc
116
- def qaoa_mixer_layer(
117
- num_qubits: QParam[int],
118
- b: QParam[float],
119
- target: QArray[QBit, Literal["num_qubits"]],
120
- ) -> None:
121
- pass
122
-
123
-
124
- @ExternalQFunc
125
- def qaoa_cost_layer(
126
- num_qubits: QParam[int],
127
- g: QParam[float],
128
- hamiltonian: QParam[List["PauliTerm"]],
129
- is_st: QParam[bool],
130
- target: QArray[QBit, Literal["num_qubits"]],
131
- ) -> None:
132
- pass
133
-
134
-
135
- @ExternalQFunc
136
- def qaoa_layer(
137
- num_qubits: QParam[int],
138
- g: QParam[float],
139
- b: QParam[float],
140
- hamiltonian: QParam[List["PauliTerm"]],
141
- is_st: QParam[bool],
142
- target: QArray[QBit, Literal["num_qubits"]],
143
- ) -> None:
144
- pass
145
-
146
-
147
- @ExternalQFunc
148
- def qaoa_init(
149
- num_qubits: QParam[int],
150
- target: QArray[QBit, Literal["num_qubits"]],
151
- ) -> None:
152
- pass
153
-
154
-
155
- @ExternalQFunc
156
- def qaoa_penalty(
157
- num_qubits: QParam[int],
158
- params_list: QParam[List[float]],
159
- hamiltonian: QParam[List["PauliTerm"]],
160
- is_st: QParam[bool],
161
- target: QArray[QBit, Literal["num_qubits"]],
162
- ) -> None:
163
- pass
164
-
165
-
166
- @ExternalQFunc
167
- def full_hea(
168
- num_qubits: QParam[int],
169
- is_parametrized: QParam[List[int]],
170
- angle_params: QParam[List[float]],
171
- connectivity_map: QParam[List[List[int]]],
172
- reps: QParam[int],
173
- operands_1qubit: QCallable[QParam[float], QBit],
174
- operands_2qubit: QCallable[QParam[float], QBit, QBit],
175
- x: QArray[QBit, Literal["num_qubits"]],
176
- ) -> None:
177
- pass
178
-
179
-
180
- @ExternalQFunc
181
- def H(
182
- target: QBit,
183
- ) -> None:
184
- pass
185
-
186
-
187
- @ExternalQFunc
188
- def X(
189
- target: QBit,
190
- ) -> None:
191
- pass
192
-
193
-
194
- @ExternalQFunc
195
- def Y(
196
- target: QBit,
197
- ) -> None:
198
- pass
199
-
200
-
201
- @ExternalQFunc
202
- def Z(
203
- target: QBit,
204
- ) -> None:
205
- pass
206
-
207
-
208
- @ExternalQFunc
209
- def I(
210
- target: QBit,
211
- ) -> None:
212
- pass
213
-
214
-
215
- @ExternalQFunc
216
- def S(
217
- target: QBit,
218
- ) -> None:
219
- pass
220
-
221
-
222
- @ExternalQFunc
223
- def T(
224
- target: QBit,
225
- ) -> None:
226
- pass
227
-
228
-
229
- @ExternalQFunc
230
- def SDG(
231
- target: QBit,
232
- ) -> None:
233
- pass
234
-
235
-
236
- @ExternalQFunc
237
- def TDG(
238
- target: QBit,
239
- ) -> None:
240
- pass
241
-
242
-
243
- @ExternalQFunc
244
- def PHASE(
245
- theta: QParam[float],
246
- target: QBit,
247
- ) -> None:
248
- pass
249
-
250
-
251
- @ExternalQFunc
252
- def RX(
253
- theta: QParam[float],
254
- target: QBit,
255
- ) -> None:
256
- pass
257
-
258
-
259
- @ExternalQFunc
260
- def RY(
261
- theta: QParam[float],
262
- target: QBit,
263
- ) -> None:
264
- pass
265
-
266
-
267
- @ExternalQFunc
268
- def RZ(
269
- theta: QParam[float],
270
- target: QBit,
271
- ) -> None:
272
- pass
273
-
274
-
275
- @ExternalQFunc
276
- def RXX(
277
- theta: QParam[float],
278
- target: QArray[QBit, Literal[2]],
279
- ) -> None:
280
- pass
281
-
282
-
283
- @ExternalQFunc
284
- def RYY(
285
- theta: QParam[float],
286
- target: QArray[QBit, Literal[2]],
287
- ) -> None:
288
- pass
289
-
290
-
291
- @ExternalQFunc
292
- def RZZ(
293
- theta: QParam[float],
294
- target: QArray[QBit, Literal[2]],
295
- ) -> None:
296
- pass
297
-
298
-
299
- @ExternalQFunc
300
- def CH(
301
- target: QBit,
302
- control: QBit,
303
- ) -> None:
304
- pass
305
-
306
-
307
- @ExternalQFunc
308
- def CX(
309
- target: QBit,
310
- control: QBit,
311
- ) -> None:
312
- pass
313
-
314
-
315
- @ExternalQFunc
316
- def CY(
317
- target: QBit,
318
- control: QBit,
319
- ) -> None:
320
- pass
321
-
322
-
323
- @ExternalQFunc
324
- def CZ(
325
- target: QBit,
326
- control: QBit,
327
- ) -> None:
328
- pass
329
-
330
-
331
- @ExternalQFunc
332
- def CRX(
333
- theta: QParam[float],
334
- target: QBit,
335
- control: QBit,
336
- ) -> None:
337
- pass
338
-
339
-
340
- @ExternalQFunc
341
- def CRY(
342
- theta: QParam[float],
343
- target: QBit,
344
- control: QBit,
345
- ) -> None:
346
- pass
347
-
348
-
349
- @ExternalQFunc
350
- def CRZ(
351
- theta: QParam[float],
352
- target: QBit,
353
- control: QBit,
354
- ) -> None:
355
- pass
356
-
357
-
358
- @ExternalQFunc
359
- def CPHASE(
360
- theta: QParam[float],
361
- target: QBit,
362
- control: QBit,
363
- ) -> None:
364
- pass
365
-
366
-
367
- @ExternalQFunc
368
- def SWAP(
369
- qbit0: QBit,
370
- qbit1: QBit,
371
- ) -> None:
372
- pass
373
-
374
-
375
- @ExternalQFunc
376
- def IDENTITY(
377
- target: QArray[QBit],
378
- ) -> None:
379
- pass
380
-
381
-
382
- @ExternalQFunc
383
- def prepare_state(
384
- probabilities: QParam[List[float]],
385
- bound: QParam[float],
386
- out: Output[QArray[QBit, Literal["log(len(probabilities), 2)"]]],
387
- ) -> None:
388
- pass
389
-
390
-
391
- @ExternalQFunc
392
- def prepare_amplitudes(
393
- amplitudes: QParam[List[float]],
394
- bound: QParam[float],
395
- out: Output[QArray[QBit, Literal["log(len(amplitudes), 2)"]]],
396
- ) -> None:
397
- pass
398
-
399
-
400
- @ExternalQFunc
401
- def unitary(
402
- elements: QParam[List[List[float]]],
403
- target: QArray[QBit, Literal["log(len(elements[0]), 2)"]],
404
- ) -> None:
405
- pass
406
-
407
-
408
- @ExternalQFunc
409
- def add(
410
- left: Input[QArray[QBit]],
411
- right: Input[QArray[QBit]],
412
- result: Output[QArray[QBit, Literal["Max(len(left), len(right)) + 1"]]],
413
- ) -> None:
414
- pass
415
-
416
-
417
- @ExternalQFunc
418
- def U(
419
- theta: QParam[float],
420
- phi: QParam[float],
421
- lam: QParam[float],
422
- gam: QParam[float],
423
- target: QBit,
424
- ) -> None:
425
- pass
426
-
427
-
428
- @ExternalQFunc
429
- def CCX(
430
- target: QBit,
431
- control: QArray[QBit, Literal[2]],
432
- ) -> None:
433
- pass
434
-
435
-
436
- @ExternalQFunc
437
- def allocate(
438
- num_qubits: QParam[int],
439
- out: Output[QArray[QBit, Literal["num_qubits"]]],
440
- ) -> None:
441
- pass
442
-
443
-
444
- @ExternalQFunc
445
- def free(
446
- in_: Input[QArray[QBit]],
447
- ) -> None:
448
- pass
449
-
450
-
451
- @ExternalQFunc
452
- def single_pauli_exponent(
453
- pauli_string: QParam[List[int]],
454
- coefficient: QParam[float],
455
- qbv: QArray[QBit, Literal["len(pauli_string)"]],
456
- ) -> None:
457
- pass
458
-
459
-
460
- @ExternalQFunc
461
- def suzuki_trotter(
462
- pauli_operator: QParam[List["PauliTerm"]],
463
- evolution_coefficient: QParam[float],
464
- order: QParam[int],
465
- repetitions: QParam[int],
466
- qbv: QArray[QBit, Literal["len(get_field(pauli_operator[0], 'pauli'))"]],
467
- ) -> None:
468
- pass
469
-
470
-
471
- @ExternalQFunc
472
- def qdrift(
473
- pauli_operator: QParam[List["PauliTerm"]],
474
- evolution_coefficient: QParam[float],
475
- num_qdrift: QParam[int],
476
- qbv: QArray[QBit, Literal["len(get_field(pauli_operator[0], 'pauli'))"]],
477
- ) -> None:
478
- pass
479
-
480
-
481
- @ExternalQFunc
482
- def exponentiation_with_depth_constraint(
483
- pauli_operator: QParam[List["PauliTerm"]],
484
- evolution_coefficient: QParam[float],
485
- max_depth: QParam[int],
486
- qbv: QArray[QBit, Literal["len(get_field(pauli_operator[0], 'pauli'))"]],
487
- ) -> None:
488
- pass
489
-
490
-
491
- @ExternalQFunc
492
- def qft_step(
493
- num_qbits: QParam[int],
494
- qbv: QArray[QBit, Literal["num_qbits"]],
495
- ) -> None:
496
- pass
497
-
498
-
499
- @ExternalQFunc
500
- def qft(
501
- num_qbits: QParam[int],
502
- qbv: QArray[QBit, Literal["num_qbits"]],
503
- ) -> None:
504
- pass
505
-
506
-
507
- @ExternalQFunc
508
- def qpe(
509
- reg_size: QParam[int],
510
- qpe_reg_size: QParam[int],
511
- qfunc: QCallable[QArray[QBit, Literal["reg_size"]]],
512
- x: QArray[QBit, Literal["reg_size"]],
513
- q: QArray[QBit, Literal["qpe_reg_size"]],
514
- ) -> None:
515
- pass
516
-
517
-
518
- @ExternalQFunc
519
- def single_pauli(
520
- reg_size: QParam[int],
521
- slope: QParam[float],
522
- offset: QParam[float],
523
- q1_qfunc: QCallable[QParam[float], QBit],
524
- x: QArray[QBit, Literal["reg_size"]],
525
- q: QBit,
526
- ) -> None:
527
- pass
528
-
529
-
530
- @ExternalQFunc
531
- def linear_pauli_rotations(
532
- reg_size: QParam[int],
533
- num_state_qubits: QParam[int],
534
- bases: QParam[List[int]],
535
- slopes: QParam[List[float]],
536
- offsets: QParam[List[float]],
537
- x: QArray[QBit, Literal["reg_size"]],
538
- q: QArray[QBit, Literal["num_state_qubits"]],
539
- ) -> None:
540
- pass
541
-
542
-
543
- @ExternalQFunc
544
- def amplitude_estimation(
545
- num_phase_qubits: QParam[int],
546
- num_unitary_qubits: QParam[int],
547
- sp_op: QCallable[QParam[int], QArray[QBit, Literal["num_unitary_qubits"]]],
548
- oracle_op: QCallable[QParam[int], QArray[QBit, Literal["num_unitary_qubits"]]],
549
- phase_port: Output[QArray[QBit, Literal["num_phase_qubits"]]],
550
- unitary_port: Output[QArray[QBit, Literal["num_unitary_qubits"]]],
551
- ) -> None:
552
- pass
553
-
554
-
555
- @ExternalQFunc
556
- def simple_oracle(
557
- predicate: QCallable[QArray[QBit, Literal["len(target)"]], QBit],
558
- target: QArray[QBit],
559
- ) -> None:
560
- pass
561
-
562
-
563
- @ExternalQFunc
564
- def grover_diffuser(
565
- num_qubits: QParam[int],
566
- p: QArray[QBit, Literal["num_qubits"]],
567
- ) -> None:
568
- pass
569
-
570
-
571
- @ExternalQFunc
572
- def grover_operator(
573
- num_qubits: QParam[int],
574
- sp_op: QCallable[QParam[int], QArray[QBit, Literal["num_qubits"]]],
575
- oracle_op: QCallable[QParam[int], QArray[QBit, Literal["num_qubits"]]],
576
- p: QArray[QBit, Literal["num_qubits"]],
577
- ) -> None:
578
- pass
579
-
580
-
581
- @ExternalQFunc
582
- def uniform_superposition(
583
- num_qubits: QParam[int],
584
- q: QArray[QBit, Literal["num_qubits"]],
585
- ) -> None:
586
- pass
587
-
588
-
589
- @ExternalQFunc
590
- def apply_to_all(
591
- num_qubits: QParam[int],
592
- gate_operand: QCallable[QBit],
593
- q: QArray[QBit, Literal["num_qubits"]],
594
- ) -> None:
595
- pass
596
-
597
-
598
- @ExternalQFunc
599
- def grover_search(
600
- num_qubits: QParam[int],
601
- reps: QParam[int],
602
- oracle_op: QCallable[QParam[int], QArray[QBit, Literal["num_qubits"]]],
603
- gsq: QArray[QBit, Literal["num_qubits"]],
604
- ) -> None:
605
- pass
606
-
607
-
608
- @ExternalQFunc
609
- def prepare_int(
610
- val: QParam[int],
611
- out: Output[QArray[QBit]],
612
- ) -> None:
613
- pass
614
-
615
-
616
- @ExternalQFunc
617
- def repeat(
618
- count: QParam[int],
619
- iteration: QCallable[QParam[int]],
620
- ) -> None:
621
- pass
622
-
623
-
624
- @ExternalQFunc
625
- def invert(
626
- operand: QCallable[QArray[QBit, Literal["len(target)"]]],
627
- target: QArray[QBit],
628
- ) -> None:
629
- pass
630
-
631
-
632
- @ExternalQFunc
633
- def control(
634
- operand: QCallable[QArray[QBit, Literal["len(target)"]]],
635
- ctrl: QArray[QBit],
636
- target: QArray[QBit],
637
- ) -> None:
638
- pass
639
-
640
-
641
- @ExternalQFunc
642
- def if_(
643
- condition: QParam[bool],
644
- then: QCallable,
645
- else_: QCallable,
646
- ) -> None:
647
- pass
648
-
649
-
650
- @ExternalQFunc
651
- def switch(
652
- selector: QParam[int],
653
- cases: QCallable,
654
- ) -> None:
655
- pass
656
-
657
-
658
- @ExternalQFunc
659
- def join(
660
- in1: Input[QArray[QBit]],
661
- in2: Input[QArray[QBit]],
662
- out: Output[QArray[QBit, Literal["len(in1)+len(in2)"]]],
663
- ) -> None:
664
- pass
665
-
666
-
667
- @ExternalQFunc
668
- def split(
669
- out1_size: QParam[int],
670
- out2_size: QParam[int],
671
- in_: Input[QArray[QBit, Literal["out1_size+out2_size"]]],
672
- out1: Output[QArray[QBit, Literal["out1_size"]]],
673
- out2: Output[QArray[QBit, Literal["out2_size"]]],
674
- ) -> None:
675
- pass
676
-
677
-
678
- @ExternalQFunc
679
- def permute(
680
- functions: QCallable,
681
- ) -> None:
682
- pass
683
-
684
-
685
- @ExternalQFunc
686
- def power(
687
- power: QParam[int],
688
- operand: QCallable[QArray[QBit, Literal["len(qbv)"]]],
689
- qbv: QArray[QBit],
690
- ) -> None:
691
- pass
692
-
693
-
694
- @ExternalQFunc
695
- def molecule_ucc(
696
- molecule_problem: QParam["MoleculeProblem"],
697
- excitations: QParam[List[int]],
698
- qbv: QArray[
699
- QBit,
700
- Literal[
701
- "len(get_field(molecule_problem_to_hamiltonian(molecule_problem)[0], 'pauli'))"
702
- ],
703
- ],
704
- ) -> None:
705
- pass
706
-
707
-
708
- @ExternalQFunc
709
- def molecule_hva(
710
- molecule_problem: QParam["MoleculeProblem"],
711
- reps: QParam[int],
712
- qbv: QArray[
713
- QBit,
714
- Literal[
715
- "len(get_field(molecule_problem_to_hamiltonian(molecule_problem)[0], 'pauli'))"
716
- ],
717
- ],
718
- ) -> None:
719
- pass
720
-
721
-
722
- @ExternalQFunc
723
- def molecule_hartree_fock(
724
- molecule_problem: QParam["MoleculeProblem"],
725
- qbv: QArray[
726
- QBit,
727
- Literal[
728
- "len(get_field(molecule_problem_to_hamiltonian(molecule_problem)[0], 'pauli'))"
729
- ],
730
- ],
731
- ) -> None:
732
- pass
733
-
734
-
735
- @ExternalQFunc
736
- def fock_hamiltonian_ucc(
737
- fock_hamiltonian_problem: QParam["FockHamiltonianProblem"],
738
- excitations: QParam[List[int]],
739
- qbv: QArray[
740
- QBit,
741
- Literal[
742
- "len(get_field(fock_hamiltonian_problem_to_hamiltonian(fock_hamiltonian_problem)[0], 'pauli'))"
743
- ],
744
- ],
745
- ) -> None:
746
- pass
747
-
748
-
749
- @ExternalQFunc
750
- def fock_hamiltonian_hva(
751
- fock_hamiltonian_problem: QParam["FockHamiltonianProblem"],
752
- reps: QParam[int],
753
- qbv: QArray[
754
- QBit,
755
- Literal[
756
- "len(get_field(fock_hamiltonian_problem_to_hamiltonian(fock_hamiltonian_problem)[0], 'pauli'))"
757
- ],
758
- ],
759
- ) -> None:
760
- pass
761
-
762
-
763
- @ExternalQFunc
764
- def fock_hamiltonian_hartree_fock(
765
- fock_hamiltonian_problem: QParam["FockHamiltonianProblem"],
766
- qbv: QArray[
767
- QBit,
768
- Literal[
769
- "len(get_field(fock_hamiltonian_problem_to_hamiltonian(fock_hamiltonian_problem)[0], 'pauli'))"
770
- ],
771
- ],
772
- ) -> None:
773
- pass
774
-
775
-
776
- @ExternalQFunc
777
- def log_normal_finance(
778
- finance_model: QParam["LogNormalModel"],
779
- finance_function: QParam["FinanceFunction"],
780
- func_port: QArray[QBit, Literal["get_field(finance_model, 'num_qubits')"]],
781
- obj_port: QBit,
782
- ) -> None:
783
- pass
784
-
785
-
786
- @ExternalQFunc
787
- def gaussian_finance(
788
- finance_model: QParam["GaussianModel"],
789
- finance_function: QParam["FinanceFunction"],
790
- func_port: QArray[
791
- QBit,
792
- Literal[
793
- "get_field(finance_model, 'num_qubits') + len(get_field(finance_model, 'rhos')) + floor(log(sum(get_field(finance_model, 'loss')), 2)) + 1"
794
- ],
795
- ],
796
- obj_port: QBit,
797
- ) -> None:
798
- pass
799
-
800
-
801
- @ExternalQFunc
802
- def pauli_feature_map(
803
- feature_map: QParam["QSVMFeatureMapPauli"],
804
- qbv: QArray[QBit, Literal["get_field(feature_map, 'feature_dimension')"]],
805
- ) -> None:
806
- pass
807
-
808
-
809
- @ExternalQFunc
810
- def bloch_sphere_feature_map(
811
- feature_dimension: QParam[int],
812
- qbv: QArray[QBit, Literal["ceiling(feature_dimension/2)"]],
813
- ) -> None:
814
- pass
815
-
816
-
817
- __all__ = [
818
- "PauliTerm",
819
- "MoleculeProblem",
820
- "Molecule",
821
- "ChemistryAtom",
822
- "Position",
823
- "FockHamiltonianProblem",
824
- "LadderTerm",
825
- "LadderOp",
826
- "CombinatorialOptimizationSolution",
827
- "GaussianModel",
828
- "LogNormalModel",
829
- "FinanceFunction",
830
- "QsvmResult",
831
- "QSVMFeatureMapPauli",
832
- "qaoa_mixer_layer",
833
- "qaoa_cost_layer",
834
- "qaoa_layer",
835
- "qaoa_init",
836
- "qaoa_penalty",
837
- "full_hea",
838
- "H",
839
- "X",
840
- "Y",
841
- "Z",
842
- "I",
843
- "S",
844
- "T",
845
- "SDG",
846
- "TDG",
847
- "PHASE",
848
- "RX",
849
- "RY",
850
- "RZ",
851
- "RXX",
852
- "RYY",
853
- "RZZ",
854
- "CH",
855
- "CX",
856
- "CY",
857
- "CZ",
858
- "CRX",
859
- "CRY",
860
- "CRZ",
861
- "CPHASE",
862
- "SWAP",
863
- "IDENTITY",
864
- "prepare_state",
865
- "prepare_amplitudes",
866
- "unitary",
867
- "add",
868
- "U",
869
- "CCX",
870
- "allocate",
871
- "free",
872
- "single_pauli_exponent",
873
- "suzuki_trotter",
874
- "qdrift",
875
- "exponentiation_with_depth_constraint",
876
- "qft_step",
877
- "qft",
878
- "qpe",
879
- "single_pauli",
880
- "linear_pauli_rotations",
881
- "amplitude_estimation",
882
- "simple_oracle",
883
- "grover_diffuser",
884
- "grover_operator",
885
- "uniform_superposition",
886
- "apply_to_all",
887
- "grover_search",
888
- "prepare_int",
889
- "repeat",
890
- "invert",
891
- "control",
892
- "if_",
893
- "switch",
894
- "join",
895
- "split",
896
- "permute",
897
- "power",
898
- "molecule_ucc",
899
- "molecule_hva",
900
- "molecule_hartree_fock",
901
- "fock_hamiltonian_ucc",
902
- "fock_hamiltonian_hva",
903
- "fock_hamiltonian_hartree_fock",
904
- "log_normal_finance",
905
- "gaussian_finance",
906
- "pauli_feature_map",
907
- "bloch_sphere_feature_map",
908
- ]