classiq 0.36.0__py3-none-any.whl → 0.37.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 (91) hide show
  1. classiq/__init__.py +1 -0
  2. classiq/_internals/api_wrapper.py +24 -6
  3. classiq/_internals/authentication/device.py +6 -3
  4. classiq/_internals/authentication/token_manager.py +21 -5
  5. classiq/_internals/client.py +7 -2
  6. classiq/_internals/config.py +12 -0
  7. classiq/_internals/host_checker.py +1 -1
  8. classiq/_internals/jobs.py +3 -1
  9. classiq/_internals/type_validation.py +3 -6
  10. classiq/analyzer/analyzer.py +1 -0
  11. classiq/analyzer/rb.py +3 -5
  12. classiq/applications_model_constructors/chemistry_model_constructor.py +42 -67
  13. classiq/applications_model_constructors/grover_model_constructor.py +27 -18
  14. classiq/exceptions.py +5 -0
  15. classiq/execution/jobs.py +13 -4
  16. classiq/executor.py +3 -2
  17. classiq/interface/_version.py +1 -1
  18. classiq/interface/analyzer/analysis_params.py +0 -6
  19. classiq/interface/analyzer/result.py +0 -4
  20. classiq/interface/backend/backend_preferences.py +2 -2
  21. classiq/interface/backend/quantum_backend_providers.py +1 -1
  22. classiq/interface/execution/resource_estimator.py +7 -0
  23. classiq/interface/execution/result.py +5 -0
  24. classiq/interface/executor/register_initialization.py +3 -1
  25. classiq/interface/executor/vqe_result.py +1 -0
  26. classiq/interface/generator/ansatz_library.py +3 -3
  27. classiq/interface/generator/arith/argument_utils.py +4 -4
  28. classiq/interface/generator/arith/arithmetic.py +4 -2
  29. classiq/interface/generator/arith/arithmetic_arg_type_validator.py +11 -5
  30. classiq/interface/generator/arith/arithmetic_expression_parser.py +8 -7
  31. classiq/interface/generator/arith/arithmetic_operations.py +7 -0
  32. classiq/interface/generator/arith/arithmetic_param_getters.py +97 -16
  33. classiq/interface/generator/arith/arithmetic_result_builder.py +13 -3
  34. classiq/interface/generator/arith/binary_ops.py +8 -10
  35. classiq/interface/generator/arith/extremum_operations.py +2 -2
  36. classiq/interface/generator/arith/number_utils.py +20 -23
  37. classiq/interface/generator/arith/register_user_input.py +3 -1
  38. classiq/interface/generator/arith/unary_ops.py +9 -13
  39. classiq/interface/generator/expressions/atomic_expression_functions.py +2 -0
  40. classiq/interface/generator/expressions/expression.py +7 -2
  41. classiq/interface/generator/expressions/qmod_qnum_proxy.py +22 -0
  42. classiq/interface/generator/expressions/qmod_sized_proxy.py +2 -12
  43. classiq/interface/generator/functions/core_lib_declarations/quantum_functions/atomic_quantum_functions.py +63 -3
  44. classiq/interface/generator/functions/core_lib_declarations/quantum_functions/std_lib_functions.py +143 -17
  45. classiq/interface/generator/functions/core_lib_declarations/quantum_operators.py +41 -16
  46. classiq/interface/generator/functions/native_function_definition.py +3 -3
  47. classiq/interface/generator/model/constraints.py +3 -3
  48. classiq/interface/generator/model/preferences/preferences.py +13 -9
  49. classiq/interface/generator/noise_properties.py +5 -5
  50. classiq/interface/generator/qpe.py +5 -5
  51. classiq/interface/generator/quantum_function_call.py +5 -3
  52. classiq/interface/generator/randomized_benchmarking.py +5 -3
  53. classiq/interface/generator/visitor.py +1 -2
  54. classiq/interface/hardware.py +1 -1
  55. classiq/interface/helpers/custom_pydantic_types.py +6 -0
  56. classiq/interface/model/{modular_addition_operation.py → inplace_binary_operation.py} +16 -2
  57. classiq/interface/model/native_function_definition.py +2 -24
  58. classiq/interface/model/operator_synthesis_data.py +6 -0
  59. classiq/interface/model/quantum_expressions/amplitude_loading_operation.py +8 -4
  60. classiq/interface/model/quantum_expressions/arithmetic_operation.py +9 -5
  61. classiq/interface/model/quantum_expressions/control_state.py +38 -0
  62. classiq/interface/model/quantum_expressions/quantum_expression.py +21 -11
  63. classiq/interface/model/quantum_function_call.py +81 -6
  64. classiq/interface/model/quantum_function_declaration.py +3 -3
  65. classiq/interface/model/quantum_if_operation.py +95 -0
  66. classiq/interface/model/resolvers/function_call_resolver.py +1 -1
  67. classiq/interface/model/validations/handles_validator.py +42 -15
  68. classiq/interface/server/routes.py +10 -6
  69. classiq/model/function_handler.pyi +86 -86
  70. classiq/model/model.py +1 -0
  71. classiq/qmod/__init__.py +6 -1
  72. classiq/qmod/builtins/__init__.py +13 -1
  73. classiq/qmod/builtins/classical_execution_primitives.py +109 -0
  74. classiq/qmod/builtins/classical_functions.py +68 -0
  75. classiq/qmod/builtins/functions.py +88 -18
  76. classiq/qmod/builtins/operations.py +60 -35
  77. classiq/qmod/classical_function.py +40 -0
  78. classiq/qmod/declaration_inferrer.py +5 -2
  79. classiq/qmod/qmod_variable.py +17 -10
  80. classiq/qmod/quantum_callable.py +24 -3
  81. classiq/qmod/quantum_expandable.py +131 -21
  82. classiq/qmod/quantum_function.py +12 -2
  83. classiq/qmod/symbolic.py +182 -107
  84. classiq/qmod/symbolic_expr.py +11 -10
  85. classiq/qmod/symbolic_type.py +8 -0
  86. classiq/quantum_functions/decorators.py +2 -4
  87. classiq/quantum_functions/function_library.py +1 -0
  88. {classiq-0.36.0.dist-info → classiq-0.37.0.dist-info}/METADATA +1 -1
  89. {classiq-0.36.0.dist-info → classiq-0.37.0.dist-info}/RECORD +90 -82
  90. classiq/interface/model/local_variable_declaration.py +0 -7
  91. {classiq-0.36.0.dist-info → classiq-0.37.0.dist-info}/WHEEL +0 -0
@@ -45,108 +45,108 @@ class FunctionHandler(abc.ABC, metaclass=abc.ABCMeta):
45
45
  def include_library(self, library: FunctionLibrary) -> None: ...
46
46
  @abc.abstractmethod
47
47
  def create_library(self) -> None: ...
48
- def WeightedAdder(self, params: WeightedAdder, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
49
- def HartreeFock(self, params: HartreeFock, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
50
- def RXXGate(self, params: RXXGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
51
- def Mcu(self, params: Mcu, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
52
- def FinancePayoff(self, params: FinancePayoff, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
53
48
  def Mcx(self, params: Mcx, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
54
- def CPhaseGate(self, params: CPhaseGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
55
- def HadamardTransform(self, params: HadamardTransform, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
56
- def GroverDiffuser(self, params: GroverDiffuser, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
57
- def CRZGate(self, params: CRZGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
58
- def RandomizedBenchmarking(self, params: RandomizedBenchmarking, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
59
- def Subtractor(self, params: Subtractor, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
60
- def PhaseGate(self, params: PhaseGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
61
- def PhaseEstimation(self, params: PhaseEstimation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
62
- def UCC(self, params: UCC, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
49
+ def CHGate(self, params: CHGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
50
+ def Negation(self, params: Negation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
51
+ def BitwiseInvert(self, params: BitwiseInvert, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
52
+ def RXGate(self, params: RXGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
53
+ def LessEqual(self, params: LessEqual, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
54
+ def HVA(self, params: HVA, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
55
+ def LogicalOr(self, params: LogicalOr, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
56
+ def Mcu(self, params: Mcu, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
57
+ def CustomFunction(self, params: CustomFunction, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
58
+ def Multiplier(self, params: Multiplier, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
59
+ def RZZGate(self, params: RZZGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
60
+ def ExponentialStatePreparation(self, params: ExponentialStatePreparation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
61
+ def QSVMFeatureMap(self, params: QSVMFeatureMap, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
63
62
  def YGate(self, params: YGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
63
+ def FinanceModels(self, params: FinanceModels, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
64
64
  def ZGate(self, params: ZGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
65
65
  def HGate(self, params: HGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
66
- def HVA(self, params: HVA, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
66
+ def QFT(self, params: QFT, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
67
67
  def IGate(self, params: IGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
68
- def LShift(self, params: LShift, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
69
68
  def SGate(self, params: SGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
70
- def NotEqual(self, params: NotEqual, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
71
- def SdgGate(self, params: SdgGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
72
- def SuzukiTrotter(self, params: SuzukiTrotter, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
69
+ def StatePropagator(self, params: StatePropagator, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
70
+ def LShift(self, params: LShift, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
71
+ def PhaseEstimation(self, params: PhaseEstimation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
73
72
  def SXGate(self, params: SXGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
74
- def MCPhaseGate(self, params: MCPhaseGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
75
- def Negation(self, params: Negation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
76
- def BitwiseOr(self, params: BitwiseOr, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
77
- def RGate(self, params: RGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
78
- def SwapGate(self, params: SwapGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
79
- def CXGate(self, params: CXGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
73
+ def HardwareEfficientAnsatz(self, params: HardwareEfficientAnsatz, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
74
+ def SdgGate(self, params: SdgGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
75
+ def SXdgGate(self, params: SXdgGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
76
+ def TGate(self, params: TGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
77
+ def LinearPauliRotations(self, params: LinearPauliRotations, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
78
+ def TwoDimensionalEntangler(self, params: TwoDimensionalEntangler, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
79
+ def TdgGate(self, params: TdgGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
80
+ def RYYGate(self, params: RYYGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
80
81
  def PiecewiseLinearRotationAmplitudeLoading(self, params: PiecewiseLinearRotationAmplitudeLoading, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
81
- def QFT(self, params: QFT, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
82
- def HypercubeEntangler(self, params: HypercubeEntangler, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
82
+ def CCXGate(self, params: CCXGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
83
+ def QDrift(self, params: QDrift, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
84
+ def AmplitudeLoading(self, params: AmplitudeLoading, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
85
+ def C4XGate(self, params: C4XGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
86
+ def Modulo(self, params: Modulo, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
87
+ def LogicalAnd(self, params: LogicalAnd, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
88
+ def CommutingPauliExponentiation(self, params: CommutingPauliExponentiation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
89
+ def GroverDiffuser(self, params: GroverDiffuser, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
83
90
  def Arithmetic(self, params: Arithmetic, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
84
- def CYGate(self, params: CYGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
85
- def CZGate(self, params: CZGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
86
- def ExponentialStatePreparation(self, params: ExponentialStatePreparation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
87
- def C3XGate(self, params: C3XGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
88
- def BitwiseXor(self, params: BitwiseXor, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
89
- def BitwiseInvert(self, params: BitwiseInvert, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
90
- def CustomFunction(self, params: CustomFunction, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
91
- def ArithmeticOracle(self, params: ArithmeticOracle, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
92
- def GreaterThan(self, params: GreaterThan, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
93
91
  def GreaterEqual(self, params: GreaterEqual, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
94
- def RZGate(self, params: RZGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
95
- def LessThan(self, params: LessThan, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
96
- def LessEqual(self, params: LessEqual, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
97
- def WStatePreparation(self, params: WStatePreparation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
98
- def Power(self, params: Power, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
99
- def Sign(self, params: Sign, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
100
92
  def BitwiseAnd(self, params: BitwiseAnd, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
101
- def StatePreparation(self, params: StatePreparation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
102
- def Finance(self, params: Finance, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
103
- def InequalityMixer(self, params: InequalityMixer, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
104
- def ComputationalBasisStatePreparation(self, params: ComputationalBasisStatePreparation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
93
+ def PhaseGate(self, params: PhaseGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
94
+ def SwapGate(self, params: SwapGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
95
+ def UCC(self, params: UCC, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
96
+ def BitwiseOr(self, params: BitwiseOr, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
97
+ def CRYGate(self, params: CRYGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
98
+ def iSwapGate(self, params: iSwapGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
99
+ def GreaterThan(self, params: GreaterThan, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
100
+ def Power(self, params: Power, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
101
+ def CRXGate(self, params: CRXGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
105
102
  def Adder(self, params: Adder, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
106
- def Modulo(self, params: Modulo, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
107
- def LogicalOr(self, params: LogicalOr, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
108
- def TwoDimensionalEntangler(self, params: TwoDimensionalEntangler, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
109
- def RYGate(self, params: RYGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
110
- def GridEntangler(self, params: GridEntangler, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
111
- def RZZGate(self, params: RZZGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
112
- def RangeMixer(self, params: RangeMixer, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
113
- def CHGate(self, params: CHGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
103
+ def NotEqual(self, params: NotEqual, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
104
+ def Exponentiation(self, params: Exponentiation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
105
+ def HartreeFock(self, params: HartreeFock, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
106
+ def PiecewiseLinearAmplitudeLoading(self, params: PiecewiseLinearAmplitudeLoading, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
114
107
  def CSXGate(self, params: CSXGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
115
- def QDrift(self, params: QDrift, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
116
- def Identity(self, params: Identity, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
117
- def StatePropagator(self, params: StatePropagator, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
118
- def RShift(self, params: RShift, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
119
- def RYYGate(self, params: RYYGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
120
- def HardwareEfficientAnsatz(self, params: HardwareEfficientAnsatz, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
121
- def CustomOracle(self, params: CustomOracle, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
122
- def RXGate(self, params: RXGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
123
- def LinearPauliRotations(self, params: LinearPauliRotations, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
124
- def XGate(self, params: XGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
125
- def CommutingPauliExponentiation(self, params: CommutingPauliExponentiation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
108
+ def UniformDistributionStatePreparation(self, params: UniformDistributionStatePreparation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
109
+ def RGate(self, params: RGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
126
110
  def Min(self, params: Min, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
111
+ def RXXGate(self, params: RXXGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
112
+ def CyclicShift(self, params: CyclicShift, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
113
+ def CustomOracle(self, params: CustomOracle, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
127
114
  def Max(self, params: Max, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
128
- def Exponentiation(self, params: Exponentiation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
129
- def AmplitudeLoading(self, params: AmplitudeLoading, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
130
- def LogicalAnd(self, params: LogicalAnd, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
131
- def CRYGate(self, params: CRYGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
132
- def Multiplier(self, params: Multiplier, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
133
- def UGate(self, params: UGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
134
- def CCXGate(self, params: CCXGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
115
+ def WStatePreparation(self, params: WStatePreparation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
116
+ def RandomizedBenchmarking(self, params: RandomizedBenchmarking, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
117
+ def LessThan(self, params: LessThan, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
118
+ def RangeMixer(self, params: RangeMixer, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
119
+ def CPhaseGate(self, params: CPhaseGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
120
+ def CRZGate(self, params: CRZGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
121
+ def InequalityMixer(self, params: InequalityMixer, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
122
+ def UnitaryGate(self, params: UnitaryGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
123
+ def WeightedAdder(self, params: WeightedAdder, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
124
+ def GHZStatePreparation(self, params: GHZStatePreparation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
125
+ def CXGate(self, params: CXGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
126
+ def Identity(self, params: Identity, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
127
+ def FinancePayoff(self, params: FinancePayoff, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
128
+ def RZGate(self, params: RZGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
129
+ def HadamardTransform(self, params: HadamardTransform, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
130
+ def Subtractor(self, params: Subtractor, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
135
131
  def Equal(self, params: Equal, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
136
- def SXdgGate(self, params: SXdgGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
137
- def TGate(self, params: TGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
138
- def QSVMFeatureMap(self, params: QSVMFeatureMap, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
139
- def FinanceModels(self, params: FinanceModels, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
140
- def CRXGate(self, params: CRXGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
141
- def TdgGate(self, params: TdgGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
132
+ def Sign(self, params: Sign, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
133
+ def CYGate(self, params: CYGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
134
+ def CZGate(self, params: CZGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
135
+ def XGate(self, params: XGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
136
+ def StatePreparation(self, params: StatePreparation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
137
+ def LinearGCI(self, params: LinearGCI, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
138
+ def C3XGate(self, params: C3XGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
139
+ def MCPhaseGate(self, params: MCPhaseGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
140
+ def UGate(self, params: UGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
141
+ def SuzukiTrotter(self, params: SuzukiTrotter, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
142
142
  def BellStatePreparation(self, params: BellStatePreparation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
143
- def UniformDistributionStatePreparation(self, params: UniformDistributionStatePreparation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
143
+ def BitwiseXor(self, params: BitwiseXor, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
144
+ def RYGate(self, params: RYGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
145
+ def Finance(self, params: Finance, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
146
+ def RShift(self, params: RShift, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
147
+ def ComputationalBasisStatePreparation(self, params: ComputationalBasisStatePreparation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
144
148
  def GroverOperator(self, params: GroverOperator, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
145
- def C4XGate(self, params: C4XGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
146
149
  def AmplitudeEstimation(self, params: AmplitudeEstimation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
147
- def LinearGCI(self, params: LinearGCI, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
148
- def UnitaryGate(self, params: UnitaryGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
149
- def GHZStatePreparation(self, params: GHZStatePreparation, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
150
- def PiecewiseLinearAmplitudeLoading(self, params: PiecewiseLinearAmplitudeLoading, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
151
- def CyclicShift(self, params: CyclicShift, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
152
- def iSwapGate(self, params: iSwapGate, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
150
+ def ArithmeticOracle(self, params: ArithmeticOracle, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
151
+ def HypercubeEntangler(self, params: HypercubeEntangler, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
152
+ def GridEntangler(self, params: GridEntangler, in_wires: Optional[Dict[str, Wire]] = None) -> Dict[str, Wire]: ...
classiq/model/model.py CHANGED
@@ -1,4 +1,5 @@
1
1
  """Model module, implementing facilities for designing models and generating circuits using Classiq platform."""
2
+
2
3
  from __future__ import annotations
3
4
 
4
5
  import logging
classiq/qmod/__init__.py CHANGED
@@ -1,9 +1,11 @@
1
+ from . import symbolic
1
2
  from .builtins import * # noqa: F403
2
3
  from .builtins import __all__ as _builtins_all
4
+ from .classical_function import CFunc
3
5
  from .qmod_parameter import Array, QParam
4
6
  from .qmod_struct import QStruct
5
7
  from .qmod_variable import Input, Output, QArray, QBit, QNum
6
- from .quantum_callable import QCallable
8
+ from .quantum_callable import QCallable, QCallableList
7
9
  from .quantum_function import QFunc, create_model
8
10
 
9
11
  __all__ = [
@@ -15,7 +17,10 @@ __all__ = [
15
17
  "QBit",
16
18
  "QNum",
17
19
  "QCallable",
20
+ "QCallableList",
18
21
  "QStruct",
19
22
  "QFunc",
23
+ "CFunc",
20
24
  "create_model",
25
+ "symbolic",
21
26
  ] + _builtins_all
@@ -1,3 +1,9 @@
1
+ from .classical_execution_primitives import * # noqa: F403
2
+ from .classical_execution_primitives import (
3
+ __all__ as _builtin_classical_execution_primitives,
4
+ )
5
+ from .classical_functions import * # noqa: F403
6
+ from .classical_functions import __all__ as _builtin_classical_functions
1
7
  from .functions import * # noqa: F403
2
8
  from .functions import __all__ as _builtin_functions
3
9
  from .operations import * # noqa: F403
@@ -5,4 +11,10 @@ from .operations import __all__ as _builtin_operations
5
11
  from .structs import * # noqa: F403
6
12
  from .structs import __all__ as _builtin_structs
7
13
 
8
- __all__ = _builtin_structs + _builtin_functions + _builtin_operations
14
+ __all__ = (
15
+ _builtin_structs
16
+ + _builtin_functions
17
+ + _builtin_operations
18
+ + _builtin_classical_execution_primitives
19
+ + _builtin_classical_functions
20
+ )
@@ -0,0 +1,109 @@
1
+ from typing import Dict, List, Optional
2
+
3
+ from classiq.interface.executor.execution_preferences import QaeWithQpeEstimationMethod
4
+ from classiq.interface.executor.iqae_result import IQAEResult
5
+ from classiq.interface.executor.result import EstimationResult, ExecutionDetails
6
+ from classiq.interface.executor.vqe_result import VQESolverResult
7
+ from classiq.interface.generator.expressions.enums import Optimizer
8
+ from classiq.interface.generator.functions.qmod_python_interface import QmodPyStruct
9
+ from classiq.interface.generator.types.combinatorial_problem import (
10
+ CombinatorialOptimizationStructDeclaration,
11
+ )
12
+
13
+ from classiq.applications.qsvm.qsvm import Data, Labels
14
+
15
+ ExecutionParams = Dict[str, float]
16
+
17
+
18
+ def save(values_to_save: dict) -> None:
19
+ pass
20
+
21
+
22
+ def sample( # type: ignore
23
+ execution_params: Optional[ExecutionParams] = None,
24
+ ) -> ExecutionDetails:
25
+ pass
26
+
27
+
28
+ def estimate( # type: ignore
29
+ hamiltonian: List[QmodPyStruct], execution_params: Optional[ExecutionParams] = None
30
+ ) -> EstimationResult:
31
+ pass
32
+
33
+
34
+ def vqe( # type: ignore
35
+ hamiltonian: List[QmodPyStruct],
36
+ maximize: bool,
37
+ initial_point: List[int],
38
+ optimizer: Optimizer,
39
+ max_iteration: int,
40
+ tolerance: float,
41
+ step_size: float,
42
+ skip_compute_variance: bool,
43
+ alpha_cvar: float,
44
+ ) -> VQESolverResult:
45
+ pass
46
+
47
+
48
+ def qae_with_qpe_result_post_processing( # type: ignore
49
+ estimation_register_size: int,
50
+ estimation_method: QaeWithQpeEstimationMethod,
51
+ result: ExecutionDetails,
52
+ ) -> float:
53
+ pass
54
+
55
+
56
+ def qsvm_full_run( # type: ignore
57
+ train_data: Data,
58
+ train_labels: Labels,
59
+ test_data: Data,
60
+ test_labels: Labels,
61
+ predict_data: Data,
62
+ ) -> QmodPyStruct:
63
+ pass
64
+
65
+
66
+ def iqae( # type: ignore
67
+ epsilon: float,
68
+ alpha: float,
69
+ execution_params: Optional[ExecutionParams] = None,
70
+ ) -> IQAEResult:
71
+ pass
72
+
73
+
74
+ def molecule_ground_state_solution_post_process( # type: ignore
75
+ problem: QmodPyStruct, vqe_result: VQESolverResult
76
+ ) -> QmodPyStruct:
77
+ pass
78
+
79
+
80
+ def optimization_problem_to_hamiltonian( # type: ignore
81
+ problem_struct: CombinatorialOptimizationStructDeclaration, penalty_energy: float
82
+ ) -> List[QmodPyStruct]:
83
+ pass
84
+
85
+
86
+ def get_optimization_solution( # type: ignore
87
+ problem_struct: CombinatorialOptimizationStructDeclaration,
88
+ vqe_result: VQESolverResult,
89
+ penalty_energy: float,
90
+ ) -> List[QmodPyStruct]:
91
+ pass
92
+
93
+
94
+ __all__ = [
95
+ "save",
96
+ "sample",
97
+ "estimate",
98
+ "vqe",
99
+ "qae_with_qpe_result_post_processing",
100
+ "qsvm_full_run",
101
+ "iqae",
102
+ "molecule_ground_state_solution_post_process",
103
+ "optimization_problem_to_hamiltonian",
104
+ "get_optimization_solution",
105
+ ]
106
+
107
+
108
+ def __dir__() -> List[str]:
109
+ return __all__
@@ -0,0 +1,68 @@
1
+ # This file was generated automatically - do not edit manually
2
+
3
+ from typing import List
4
+
5
+ from classiq.qmod.qmod_parameter import QParam
6
+ from classiq.qmod.symbolic import symbolic_function
7
+
8
+ from .structs import *
9
+
10
+
11
+ def compute_qaoa_initial_point(
12
+ hamiltonian: QParam[List[PauliTerm]],
13
+ repetitions: QParam[int],
14
+ ) -> QParam[List[float]]:
15
+ return symbolic_function(hamiltonian, repetitions)
16
+
17
+
18
+ def molecule_problem_to_hamiltonian(
19
+ problem: QParam[MoleculeProblem],
20
+ ) -> QParam[List[PauliTerm]]:
21
+ return symbolic_function(problem)
22
+
23
+
24
+ def fock_hamiltonian_problem_to_hamiltonian(
25
+ problem: QParam[FockHamiltonianProblem],
26
+ ) -> QParam[List[PauliTerm]]:
27
+ return symbolic_function(problem)
28
+
29
+
30
+ def grid_entangler_graph(
31
+ num_qubits: QParam[int],
32
+ schmidt_rank: QParam[int],
33
+ grid_randomization: QParam[bool],
34
+ ) -> QParam[List[List[int]]]:
35
+ return symbolic_function(num_qubits, schmidt_rank, grid_randomization)
36
+
37
+
38
+ def hypercube_entangler_graph(
39
+ num_qubits: QParam[int],
40
+ ) -> QParam[List[List[int]]]:
41
+ return symbolic_function(num_qubits)
42
+
43
+
44
+ def log_normal_finance_post_process(
45
+ finance_model: QParam[LogNormalModel],
46
+ estimation_method: QParam[FinanceFunction],
47
+ probability: QParam[float],
48
+ ) -> QParam[float]:
49
+ return symbolic_function(finance_model, estimation_method, probability)
50
+
51
+
52
+ def gaussian_finance_post_process(
53
+ finance_model: QParam[GaussianModel],
54
+ estimation_method: QParam[FinanceFunction],
55
+ probability: QParam[float],
56
+ ) -> QParam[float]:
57
+ return symbolic_function(finance_model, estimation_method, probability)
58
+
59
+
60
+ __all__ = [
61
+ "compute_qaoa_initial_point",
62
+ "molecule_problem_to_hamiltonian",
63
+ "fock_hamiltonian_problem_to_hamiltonian",
64
+ "grid_entangler_graph",
65
+ "hypercube_entangler_graph",
66
+ "log_normal_finance_post_process",
67
+ "gaussian_finance_post_process",
68
+ ]
@@ -4,7 +4,7 @@ from typing import List, Literal
4
4
 
5
5
  from classiq.qmod.qmod_parameter import QParam
6
6
  from classiq.qmod.qmod_variable import Input, Output, QArray, QBit, QNum
7
- from classiq.qmod.quantum_callable import QCallable
7
+ from classiq.qmod.quantum_callable import QCallable, QCallableList
8
8
  from classiq.qmod.quantum_function import ExternalQFunc
9
9
 
10
10
  from .structs import *
@@ -257,7 +257,15 @@ def add(
257
257
 
258
258
 
259
259
  @ExternalQFunc
260
- def inplace_add(
260
+ def modular_add(
261
+ left: QArray[QBit],
262
+ right: QArray[QBit],
263
+ ) -> None:
264
+ pass
265
+
266
+
267
+ @ExternalQFunc
268
+ def integer_xor(
261
269
  left: QArray[QBit],
262
270
  right: QArray[QBit],
263
271
  ) -> None:
@@ -298,6 +306,32 @@ def free(
298
306
  pass
299
307
 
300
308
 
309
+ @ExternalQFunc
310
+ def randomized_benchmarking(
311
+ num_of_cliffords: QParam[int],
312
+ target: QArray[QBit],
313
+ ) -> None:
314
+ pass
315
+
316
+
317
+ @ExternalQFunc
318
+ def inplace_prepare_state(
319
+ probabilities: QParam[List[float]],
320
+ bound: QParam[float],
321
+ target: QArray[QBit, Literal["log(len(probabilities), 2)"]],
322
+ ) -> None:
323
+ pass
324
+
325
+
326
+ @ExternalQFunc
327
+ def inplace_prepare_amplitudes(
328
+ amplitudes: QParam[List[float]],
329
+ bound: QParam[float],
330
+ target: QArray[QBit, Literal["log(len(amplitudes), 2)"]],
331
+ ) -> None:
332
+ pass
333
+
334
+
301
335
  @ExternalQFunc
302
336
  def single_pauli_exponent(
303
337
  pauli_string: QParam[List[int]],
@@ -353,19 +387,26 @@ def qft(
353
387
 
354
388
 
355
389
  @ExternalQFunc
356
- def standard_qpe(
357
- precision: QParam[int],
358
- unitary: QCallable,
359
- phase: QArray[QBit, Literal["precision"]],
390
+ def qpe_flexible(
391
+ unitary_with_power: QCallable[QParam[int]],
392
+ phase: QNum,
360
393
  ) -> None:
361
394
  pass
362
395
 
363
396
 
364
397
  @ExternalQFunc
365
398
  def qpe(
399
+ unitary: QCallable,
400
+ phase: QNum,
401
+ ) -> None:
402
+ pass
403
+
404
+
405
+ @ExternalQFunc
406
+ def standard_qpe(
366
407
  precision: QParam[int],
367
408
  unitary: QCallable,
368
- phase: Output[QArray[QBit, Literal["precision"]]],
409
+ phase: QArray[QBit, Literal["precision"]],
369
410
  ) -> None:
370
411
  pass
371
412
 
@@ -466,8 +507,8 @@ def prepare_int(
466
507
  @ExternalQFunc
467
508
  def allocate_num(
468
509
  num_qubits: QParam[int],
469
- fraction_digits: QParam[int],
470
510
  is_signed: QParam[bool],
511
+ fraction_digits: QParam[int],
471
512
  out: Output[QNum],
472
513
  ) -> None:
473
514
  pass
@@ -527,13 +568,22 @@ def full_hea(
527
568
  angle_params: QParam[List[float]],
528
569
  connectivity_map: QParam[List[List[int]]],
529
570
  reps: QParam[int],
530
- operands_1qubit: QCallable[QParam[float], QBit],
531
- operands_2qubit: QCallable[QParam[float], QBit, QBit],
571
+ operands_1qubit: QCallableList[QParam[float], QBit],
572
+ operands_2qubit: QCallableList[QParam[float], QBit, QBit],
532
573
  x: QArray[QBit, Literal["num_qubits"]],
533
574
  ) -> None:
534
575
  pass
535
576
 
536
577
 
578
+ @ExternalQFunc
579
+ def swap_test(
580
+ state1: QArray[QBit],
581
+ state2: QArray[QBit],
582
+ test: Output[QArray[QBit]],
583
+ ) -> None:
584
+ pass
585
+
586
+
537
587
  @ExternalQFunc
538
588
  def repeat(
539
589
  count: QParam[int],
@@ -569,7 +619,7 @@ def if_(
569
619
  @ExternalQFunc
570
620
  def switch(
571
621
  selector: QParam[int],
572
- cases: QCallable,
622
+ cases: QCallableList,
573
623
  ) -> None:
574
624
  pass
575
625
 
@@ -596,7 +646,7 @@ def split(
596
646
 
597
647
  @ExternalQFunc
598
648
  def permute(
599
- functions: QCallable,
649
+ functions: QCallableList,
600
650
  ) -> None:
601
651
  pass
602
652
 
@@ -610,10 +660,22 @@ def power(
610
660
 
611
661
 
612
662
  @ExternalQFunc
613
- def control_with_value(
614
- ctrl_val: QParam[int],
663
+ def apply(
664
+ operand: QCallable,
665
+ ) -> None:
666
+ pass
667
+
668
+
669
+ @ExternalQFunc
670
+ def compute(
671
+ operand: QCallable,
672
+ ) -> None:
673
+ pass
674
+
675
+
676
+ @ExternalQFunc
677
+ def uncompute(
615
678
  operand: QCallable,
616
- ctrl: QNum,
617
679
  ) -> None:
618
680
  pass
619
681
 
@@ -773,19 +835,24 @@ __all__ = [
773
835
  "prepare_amplitudes",
774
836
  "unitary",
775
837
  "add",
776
- "inplace_add",
838
+ "modular_add",
839
+ "integer_xor",
777
840
  "U",
778
841
  "CCX",
779
842
  "allocate",
780
843
  "free",
844
+ "randomized_benchmarking",
845
+ "inplace_prepare_state",
846
+ "inplace_prepare_amplitudes",
781
847
  "single_pauli_exponent",
782
848
  "suzuki_trotter",
783
849
  "qdrift",
784
850
  "exponentiation_with_depth_constraint",
785
851
  "qft_step",
786
852
  "qft",
787
- "standard_qpe",
853
+ "qpe_flexible",
788
854
  "qpe",
855
+ "standard_qpe",
789
856
  "single_pauli",
790
857
  "linear_pauli_rotations",
791
858
  "amplitude_estimation",
@@ -803,6 +870,7 @@ __all__ = [
803
870
  "qaoa_init",
804
871
  "qaoa_penalty",
805
872
  "full_hea",
873
+ "swap_test",
806
874
  "repeat",
807
875
  "invert",
808
876
  "control",
@@ -812,7 +880,9 @@ __all__ = [
812
880
  "split",
813
881
  "permute",
814
882
  "power",
815
- "control_with_value",
883
+ "apply",
884
+ "compute",
885
+ "uncompute",
816
886
  "molecule_ucc",
817
887
  "molecule_hva",
818
888
  "molecule_hartree_fock",