Constraints ¶
A collection of symbolic constraints used to define a model.
The Constraints object serves as a container for individual Constraint instances. It supports adding constraints programmatically and exporting them for serialization.
Constraints are typically added using add_constraint() or the += operator.
Examples:
>>> from luna_quantum import Constraints, Constraint, Environment, Variable
>>> with Environment():
... x = Variable("x")
... c = Constraint(x + 1, 0.0, Comparator.Le)
Serialization:
Notes
- This class does not check feasibility or enforce satisfaction.
- Use
encode()/decode()to serialize constraints alongside expressions.
add_constraint method descriptor ¶
add_constraint(constraint: Constraint, name: str | None = None) -> None
Add a constraint to the collection.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
constraint | Constraint | The constraint to be added. | required |
name | str | The name of the constraint to be added. | None |
ctypes method descriptor ¶
ctypes() -> list[Comparator]
Get all unique constraint types identified using their comparator.
decode builtin ¶
decode(data: bytes, env: Environment) -> Expression
Deserialize an expression from binary constraint data.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data | bytes | Encoded blob from | required |
Returns:
| Type | Description |
|---|---|
Expression | Expression reconstructed from the constraint context. |
Raises:
| Type | Description |
|---|---|
DecodeError | If decoding fails due to corruption or incompatibility. |
deserialize builtin ¶
deserialize(data: bytes, env: Environment) -> Expression
Alias for decode().
See decode() for usage.
encode method descriptor ¶
Serialize the constraint collection to a binary blob.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
compress | bool | Whether to compress the result. Default is True. | True |
level | int | Compression level (0β9). Default is 3. | 3 |
Returns:
| Type | Description |
|---|---|
bytes | Encoded representation of the constraints. |
Raises:
| Type | Description |
|---|---|
IOError | If serialization fails. |
equal_contents method descriptor ¶
equal_contents(other: Constraints) -> bool
Check whether this constraints has equal contents as other.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
other | Constraints | | required |
Returns:
| Type | Description |
|---|---|
bool | |
remove method descriptor ¶
remove(item: int | str) -> Constraint
Remove a constraint for its name or index.
serialize method descriptor ¶
Alias for encode().
See encode() for details.