classiq 0.42.2__py3-none-any.whl → 0.43.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/__init__.py +2 -6
- classiq/_internals/api_wrapper.py +6 -12
- classiq/_internals/authentication/token_manager.py +5 -2
- classiq/_internals/jobs.py +5 -10
- classiq/analyzer/rb.py +3 -3
- classiq/applications/chemistry/chemistry_model_constructor.py +12 -8
- classiq/applications/combinatorial_helpers/pauli_helpers/pauli_utils.py +2 -2
- classiq/applications/finance/finance_model_constructor.py +16 -13
- classiq/applications/qsvm/__init__.py +1 -3
- classiq/applications/qsvm/qsvm_model_constructor.py +7 -6
- classiq/exceptions.py +9 -4
- classiq/execution/execution_session.py +5 -2
- classiq/execution/qnn.py +1 -1
- classiq/executor.py +0 -2
- classiq/interface/_version.py +1 -1
- classiq/interface/chemistry/operator.py +19 -5
- classiq/interface/executor/constants.py +1 -0
- classiq/interface/finance/function_input.py +16 -10
- classiq/interface/generator/application_apis/chemistry_declarations.py +2 -2
- classiq/interface/generator/application_apis/qsvm_declarations.py +4 -2
- classiq/interface/generator/arith/argument_utils.py +20 -3
- classiq/interface/generator/arith/arithmetic_expression_validator.py +3 -26
- classiq/interface/generator/arith/binary_ops.py +8 -14
- classiq/interface/generator/arith/extremum_operations.py +30 -0
- classiq/interface/generator/arith/number_utils.py +1 -1
- classiq/interface/generator/arith/unary_ops.py +1 -3
- classiq/interface/generator/compiler_keywords.py +1 -1
- classiq/interface/generator/expressions/atomic_expression_functions.py +13 -3
- classiq/interface/generator/expressions/enums/__init__.py +0 -20
- classiq/interface/generator/expressions/enums/finance_functions.py +11 -18
- classiq/interface/generator/expressions/non_symbolic_expr.py +119 -0
- classiq/interface/generator/expressions/qmod_qarray_proxy.py +52 -37
- classiq/interface/generator/expressions/qmod_qscalar_proxy.py +16 -11
- classiq/interface/generator/expressions/qmod_sized_proxy.py +5 -5
- classiq/interface/generator/function_param_list_without_self_reference.py +0 -10
- classiq/interface/generator/function_params.py +0 -4
- classiq/interface/generator/functions/__init__.py +0 -20
- classiq/interface/generator/functions/builtins/core_library/exponentiation_functions.py +2 -2
- classiq/interface/generator/functions/builtins/open_lib_functions.py +530 -1
- classiq/interface/generator/functions/classical_type.py +22 -69
- classiq/interface/generator/functions/port_declaration.py +0 -11
- classiq/interface/generator/model/__init__.py +0 -1
- classiq/interface/generator/model/model.py +9 -185
- classiq/interface/generator/synthesis_metadata/synthesis_execution_data.py +3 -1
- classiq/interface/generator/types/builtin_enum_declarations.py +69 -0
- classiq/interface/generator/types/builtin_struct_declarations/pauli_struct_declarations.py +2 -2
- classiq/interface/generator/types/enum_declaration.py +57 -0
- classiq/interface/jobs.py +36 -65
- classiq/interface/model/bind_operation.py +3 -0
- classiq/interface/model/classical_parameter_declaration.py +3 -0
- classiq/interface/model/handle_binding.py +7 -0
- classiq/interface/model/inplace_binary_operation.py +13 -15
- classiq/interface/model/model.py +8 -20
- classiq/interface/model/native_function_definition.py +0 -17
- classiq/interface/model/quantum_function_call.py +63 -182
- classiq/interface/model/quantum_type.py +71 -10
- classiq/interface/server/routes.py +0 -6
- classiq/qmod/__init__.py +3 -3
- classiq/qmod/builtins/__init__.py +10 -1
- classiq/qmod/builtins/classical_execution_primitives.py +4 -2
- classiq/qmod/builtins/enums.py +177 -0
- classiq/qmod/builtins/functions.py +1 -2
- classiq/qmod/builtins/operations.py +2 -4
- classiq/qmod/builtins/structs.py +16 -17
- classiq/qmod/declaration_inferrer.py +23 -20
- classiq/qmod/model_state_container.py +2 -0
- classiq/qmod/native/pretty_printer.py +31 -13
- classiq/qmod/pretty_print/pretty_printer.py +52 -27
- classiq/qmod/qmod_constant.py +7 -3
- classiq/qmod/qmod_parameter.py +2 -1
- classiq/qmod/qmod_struct.py +9 -33
- classiq/qmod/qmod_variable.py +55 -22
- classiq/qmod/quantum_callable.py +6 -1
- classiq/qmod/quantum_expandable.py +29 -11
- classiq/qmod/quantum_function.py +8 -4
- classiq/qmod/semantics/annotation.py +38 -0
- classiq/qmod/semantics/error_manager.py +49 -0
- classiq/qmod/semantics/static_semantics_visitor.py +308 -0
- classiq/qmod/semantics/validation/func_call_validation.py +149 -0
- classiq/qmod/semantics/validation/types_validation.py +21 -0
- classiq/qmod/symbolic.py +6 -6
- classiq/qmod/symbolic_expr.py +26 -11
- classiq/qmod/utilities.py +23 -1
- {classiq-0.42.2.dist-info → classiq-0.43.1.dist-info}/METADATA +2 -2
- {classiq-0.42.2.dist-info → classiq-0.43.1.dist-info}/RECORD +88 -103
- classiq/_internals/_qfunc_ext.py +0 -6
- classiq/applications/libraries/ampltitude_estimation_library.py +0 -11
- classiq/interface/generator/credit_risk_example/linear_gci.py +0 -122
- classiq/interface/generator/credit_risk_example/weighted_adder.py +0 -69
- classiq/interface/generator/expressions/enums/chemistry.py +0 -28
- classiq/interface/generator/expressions/enums/classical_enum.py +0 -20
- classiq/interface/generator/expressions/enums/ladder_operator.py +0 -6
- classiq/interface/generator/expressions/enums/optimizers.py +0 -9
- classiq/interface/generator/expressions/enums/pauli.py +0 -8
- classiq/interface/generator/expressions/enums/qsvm_feature_map_entanglement.py +0 -9
- classiq/interface/generator/functions/foreign_function_definition.py +0 -114
- classiq/interface/generator/functions/function_implementation.py +0 -107
- classiq/interface/generator/functions/native_function_definition.py +0 -155
- classiq/interface/generator/functions/quantum_function_declaration.py +0 -69
- classiq/interface/generator/functions/register.py +0 -44
- classiq/interface/generator/functions/register_mapping_data.py +0 -106
- classiq/interface/generator/inequality_mixer.py +0 -51
- classiq/interface/generator/model/classical_main_validator.py +0 -106
- classiq/interface/generator/range_mixer.py +0 -56
- classiq/interface/generator/state_propagator.py +0 -74
- classiq/interface/model/resolvers/function_call_resolver.py +0 -64
- classiq/interface/model/validations/__init__.py +0 -0
- classiq/interface/model/validations/handle_validation_base.py +0 -55
- classiq/interface/model/validations/handles_validator.py +0 -153
- classiq/interface/model/validations/port_to_wire_name_generator.py +0 -12
- /classiq/{interface/generator/credit_risk_example → qmod/semantics}/__init__.py +0 -0
- /classiq/{interface/model/resolvers → qmod/semantics/validation}/__init__.py +0 -0
- {classiq-0.42.2.dist-info → classiq-0.43.1.dist-info}/WHEEL +0 -0
@@ -28,8 +28,6 @@ from classiq.interface.generator.arith.unary_ops import BitwiseInvert, Negation,
|
|
28
28
|
from classiq.interface.generator.commuting_pauli_exponentiation import (
|
29
29
|
CommutingPauliExponentiation,
|
30
30
|
)
|
31
|
-
from classiq.interface.generator.credit_risk_example.linear_gci import LinearGCI
|
32
|
-
from classiq.interface.generator.credit_risk_example.weighted_adder import WeightedAdder
|
33
31
|
from classiq.interface.generator.entangler_params import (
|
34
32
|
GridEntangler,
|
35
33
|
HypercubeEntangler,
|
@@ -53,7 +51,6 @@ from classiq.interface.generator.hardware_efficient_ansatz import (
|
|
53
51
|
from classiq.interface.generator.hartree_fock import HartreeFock
|
54
52
|
from classiq.interface.generator.hva import HVA
|
55
53
|
from classiq.interface.generator.identity import Identity
|
56
|
-
from classiq.interface.generator.inequality_mixer import InequalityMixer
|
57
54
|
from classiq.interface.generator.linear_pauli_rotations import LinearPauliRotations
|
58
55
|
from classiq.interface.generator.mcu import Mcu
|
59
56
|
from classiq.interface.generator.mcx import Mcx
|
@@ -67,7 +64,6 @@ from classiq.interface.generator.piecewise_linear_amplitude_loading import (
|
|
67
64
|
from classiq.interface.generator.qft import QFT
|
68
65
|
from classiq.interface.generator.qsvm import QSVMFeatureMap
|
69
66
|
from classiq.interface.generator.randomized_benchmarking import RandomizedBenchmarking
|
70
|
-
from classiq.interface.generator.range_mixer import RangeMixer
|
71
67
|
from classiq.interface.generator.standard_gates.standard_gates_param_list import (
|
72
68
|
standard_gate_function_param_library,
|
73
69
|
)
|
@@ -81,7 +77,6 @@ from classiq.interface.generator.state_preparation import (
|
|
81
77
|
UniformDistributionStatePreparation,
|
82
78
|
WStatePreparation,
|
83
79
|
)
|
84
|
-
from classiq.interface.generator.state_propagator import StatePropagator
|
85
80
|
from classiq.interface.generator.ucc import UCC
|
86
81
|
from classiq.interface.generator.unitary_gate import UnitaryGate
|
87
82
|
from classiq.interface.generator.user_defined_function_params import CustomFunction
|
@@ -97,7 +92,6 @@ function_param_library_without_self_reference: FunctionParamLibrary = (
|
|
97
92
|
GHZStatePreparation,
|
98
93
|
WStatePreparation,
|
99
94
|
ExponentialStatePreparation,
|
100
|
-
StatePropagator,
|
101
95
|
QFT,
|
102
96
|
BitwiseAnd,
|
103
97
|
BitwiseOr,
|
@@ -134,11 +128,9 @@ function_param_library_without_self_reference: FunctionParamLibrary = (
|
|
134
128
|
CustomFunction,
|
135
129
|
HardwareEfficientAnsatz,
|
136
130
|
UnitaryGate,
|
137
|
-
WeightedAdder,
|
138
131
|
LinearPauliRotations,
|
139
132
|
Multiplier,
|
140
133
|
Power,
|
141
|
-
LinearGCI,
|
142
134
|
HartreeFock,
|
143
135
|
UCC,
|
144
136
|
Min,
|
@@ -150,8 +142,6 @@ function_param_library_without_self_reference: FunctionParamLibrary = (
|
|
150
142
|
Identity,
|
151
143
|
RandomizedBenchmarking,
|
152
144
|
HVA,
|
153
|
-
InequalityMixer,
|
154
|
-
RangeMixer,
|
155
145
|
UGate,
|
156
146
|
AmplitudeLoading,
|
157
147
|
QSVMFeatureMap,
|
@@ -23,7 +23,6 @@ from classiq.interface.generator.arith.arithmetic_expression_validator import (
|
|
23
23
|
validate_expression,
|
24
24
|
)
|
25
25
|
from classiq.interface.generator.arith.register_user_input import RegisterArithmeticInfo
|
26
|
-
from classiq.interface.generator.expressions.enums import BUILTIN_ENUMS
|
27
26
|
from classiq.interface.helpers.custom_pydantic_types import PydanticNonEmptyString
|
28
27
|
from classiq.interface.helpers.hashable_pydantic_base_model import (
|
29
28
|
HashablePydanticBaseModel,
|
@@ -112,8 +111,6 @@ GenerationExpressionSupportedNodeTypes = Union[
|
|
112
111
|
ExecutionExpressionSupportedNodeTypes, GenerationOnlyExpressionSupportedNodeTypes
|
113
112
|
]
|
114
113
|
|
115
|
-
GenerationExpressionSupportedAttrSymbols = set(BUILTIN_ENUMS.keys())
|
116
|
-
|
117
114
|
|
118
115
|
def validate_expression_str(
|
119
116
|
expr_str: str, supported_functions: Optional[Set[str]] = None
|
@@ -127,7 +124,6 @@ def validate_expression_str(
|
|
127
124
|
supported_nodes=get_args(GenerationExpressionSupportedNodeTypes),
|
128
125
|
expression_type="parameter",
|
129
126
|
supported_functions=supported_functions,
|
130
|
-
supported_attr_values=GenerationExpressionSupportedAttrSymbols,
|
131
127
|
)
|
132
128
|
|
133
129
|
|
@@ -1,23 +1,3 @@
|
|
1
|
-
from typing import List
|
2
|
-
|
3
1
|
import classiq.interface.generator.functions.builtins.core_library
|
4
2
|
import classiq.interface.generator.functions.builtins.quantum_operators
|
5
|
-
from classiq.interface.generator.functions.foreign_function_definition import *
|
6
|
-
from classiq.interface.generator.functions.foreign_function_definition import (
|
7
|
-
SynthesisForeignFunctionDefinition as ForeignFunctionDefinition,
|
8
|
-
)
|
9
3
|
from classiq.interface.generator.functions.function_declaration import *
|
10
|
-
from classiq.interface.generator.functions.function_implementation import *
|
11
|
-
from classiq.interface.generator.functions.native_function_definition import *
|
12
|
-
from classiq.interface.generator.functions.register import *
|
13
|
-
|
14
|
-
__all__ = [ # noqa: F405
|
15
|
-
"ForeignFunctionDefinition",
|
16
|
-
"FunctionImplementation",
|
17
|
-
"Register",
|
18
|
-
"RegisterMappingData",
|
19
|
-
]
|
20
|
-
|
21
|
-
|
22
|
-
def __dir__() -> List[str]:
|
23
|
-
return __all__
|
@@ -1,8 +1,8 @@
|
|
1
1
|
from classiq.interface.generator.expressions.expression import Expression
|
2
2
|
from classiq.interface.generator.functions.classical_type import (
|
3
3
|
ClassicalList,
|
4
|
+
Enum,
|
4
5
|
Integer,
|
5
|
-
Pauli,
|
6
6
|
Real,
|
7
7
|
)
|
8
8
|
from classiq.interface.generator.functions.port_declaration import (
|
@@ -19,7 +19,7 @@ from classiq.interface.model.quantum_function_declaration import (
|
|
19
19
|
SINGLE_PAULI_EXPONENT_FUNCTION = QuantumFunctionDeclaration(
|
20
20
|
name="single_pauli_exponent",
|
21
21
|
param_decls={
|
22
|
-
"pauli_string": ClassicalList(element_type=Pauli
|
22
|
+
"pauli_string": ClassicalList(element_type=Enum(name="Pauli")),
|
23
23
|
"coefficient": Real(),
|
24
24
|
},
|
25
25
|
port_declarations={
|