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