luna-quantum 1.0.5rc1__cp313-cp313-macosx_11_0_arm64.whl → 1.0.6__cp313-cp313-macosx_11_0_arm64.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.
Potentially problematic release.
This version of luna-quantum might be problematic. Click here for more details.
- luna_quantum/_core.cpython-313-darwin.so +0 -0
- luna_quantum/_core.pyi +5 -0
- luna_quantum/client/controllers/luna_platform_client.py +1 -1
- luna_quantum/client/rest_client/info_rest_client.py +1 -3
- luna_quantum/client/schemas/create/qpu_token_time_quota.py +11 -2
- luna_quantum/client/schemas/create/qpu_token_time_quota_update.py +11 -2
- luna_quantum/client/schemas/qpu_token/qpu_token_time_quota.py +6 -4
- luna_quantum/solve/domain/abstract/luna_algorithm.py +5 -3
- luna_quantum/solve/domain/model_metadata.py +3 -1
- luna_quantum/solve/domain/solve_job.py +12 -4
- luna_quantum/solve/interfaces/algorithm_i.py +3 -1
- luna_quantum/solve/parameters/algorithms/__init__.py +2 -0
- luna_quantum/solve/parameters/algorithms/lq_fda/__init__.py +3 -0
- luna_quantum/solve/parameters/algorithms/lq_fda/fujits_da_base.py +85 -0
- luna_quantum/solve/parameters/algorithms/lq_fda/fujitsu_da_v3c.py +155 -0
- luna_quantum/solve/parameters/backends/__init__.py +2 -0
- luna_quantum/solve/parameters/backends/fda.py +17 -0
- luna_quantum/util/pretty_base.py +1 -1
- {luna_quantum-1.0.5rc1.dist-info → luna_quantum-1.0.6.dist-info}/METADATA +1 -1
- {luna_quantum-1.0.5rc1.dist-info → luna_quantum-1.0.6.dist-info}/RECORD +23 -19
- {luna_quantum-1.0.5rc1.dist-info → luna_quantum-1.0.6.dist-info}/WHEEL +0 -0
- {luna_quantum-1.0.5rc1.dist-info → luna_quantum-1.0.6.dist-info}/licenses/LICENSE +0 -0
- {luna_quantum-1.0.5rc1.dist-info → luna_quantum-1.0.6.dist-info}/licenses/NOTICE +0 -0
|
Binary file
|
luna_quantum/_core.pyi
CHANGED
|
@@ -2263,6 +2263,11 @@ class Model:
|
|
|
2263
2263
|
"""Return the name of the model."""
|
|
2264
2264
|
...
|
|
2265
2265
|
|
|
2266
|
+
@name.setter
|
|
2267
|
+
def name(self, /, name: str) -> None:
|
|
2268
|
+
"""Set the name of the model."""
|
|
2269
|
+
...
|
|
2270
|
+
|
|
2266
2271
|
@property
|
|
2267
2272
|
def sense(self, /) -> Sense:
|
|
2268
2273
|
"""
|
|
@@ -43,7 +43,7 @@ def check_httpx_exceptions(response: Response) -> None:
|
|
|
43
43
|
HttpErrorUtils.check_for_error(response)
|
|
44
44
|
|
|
45
45
|
|
|
46
|
-
class APIKeyAuth(httpx.Auth):
|
|
46
|
+
class APIKeyAuth(httpx.Auth): # noqa: PLW1641
|
|
47
47
|
"""API key authentication method for luna platform."""
|
|
48
48
|
|
|
49
49
|
def __init__(self, token: str) -> None:
|
|
@@ -49,9 +49,7 @@ class InfoRestClient(IInfoRestClient):
|
|
|
49
49
|
for provider, solvers in json.items():
|
|
50
50
|
to_return[provider] = {}
|
|
51
51
|
for solver in solvers:
|
|
52
|
-
to_return[provider][solver] = SolverInfo.model_validate(
|
|
53
|
-
json[provider][solver]
|
|
54
|
-
)
|
|
52
|
+
to_return[provider][solver] = SolverInfo.model_validate(solvers[solver])
|
|
55
53
|
|
|
56
54
|
return to_return
|
|
57
55
|
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from
|
|
3
|
+
from typing import Self
|
|
4
|
+
|
|
5
|
+
from pydantic import BaseModel, Field, model_validator
|
|
4
6
|
|
|
5
7
|
from luna_quantum.client.schemas.wrappers import PydanticDatetimeWrapper
|
|
6
8
|
|
|
@@ -21,6 +23,13 @@ class QpuTokenTimeQuotaIn(BaseModel):
|
|
|
21
23
|
If None, policy will be in effect until 365 days after the start date.
|
|
22
24
|
"""
|
|
23
25
|
|
|
24
|
-
quota: int
|
|
26
|
+
quota: int = Field(ge=0)
|
|
25
27
|
start: PydanticDatetimeWrapper | None
|
|
26
28
|
end: PydanticDatetimeWrapper | None
|
|
29
|
+
|
|
30
|
+
@model_validator(mode="after")
|
|
31
|
+
def check_start_end_dates(self) -> Self:
|
|
32
|
+
"""Cheks that start date is befor end date if both provided."""
|
|
33
|
+
if self.start is not None and self.end is not None and self.start > self.end:
|
|
34
|
+
raise ValueError("Start date cannot be after end date.") # noqa: TRY003
|
|
35
|
+
return self
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
from
|
|
1
|
+
from typing import Self
|
|
2
|
+
|
|
3
|
+
from pydantic import BaseModel, ConfigDict, Field, model_validator
|
|
2
4
|
|
|
3
5
|
from luna_quantum.client.schemas.wrappers.datetime_wrapper import (
|
|
4
6
|
PydanticDatetimeWrapper,
|
|
@@ -8,8 +10,15 @@ from luna_quantum.client.schemas.wrappers.datetime_wrapper import (
|
|
|
8
10
|
class QpuTokenTimeQuotaUpdate(BaseModel):
|
|
9
11
|
"""Data structure to update the time quota of a qpu token."""
|
|
10
12
|
|
|
11
|
-
quota: int | None = None
|
|
13
|
+
quota: int | None = Field(ge=0, default=None)
|
|
12
14
|
start: PydanticDatetimeWrapper | None = None
|
|
13
15
|
end: PydanticDatetimeWrapper | None = None
|
|
14
16
|
|
|
15
17
|
model_config = ConfigDict(extra="forbid")
|
|
18
|
+
|
|
19
|
+
@model_validator(mode="after")
|
|
20
|
+
def check_start_end_dates(self) -> Self:
|
|
21
|
+
"""Cheks that start date is befor end date if both provided."""
|
|
22
|
+
if self.start is not None and self.end is not None and self.start > self.end:
|
|
23
|
+
raise ValueError("Start date cannot be after end date.") # noqa: TRY003
|
|
24
|
+
return self
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
from datetime import datetime
|
|
2
|
-
|
|
3
1
|
from pydantic import BaseModel
|
|
4
2
|
|
|
3
|
+
from luna_quantum.client.schemas.wrappers.datetime_wrapper import (
|
|
4
|
+
PydanticDatetimeWrapper,
|
|
5
|
+
)
|
|
6
|
+
|
|
5
7
|
|
|
6
8
|
class QpuTokenTimeQuotaOut(BaseModel):
|
|
7
9
|
"""
|
|
@@ -23,6 +25,6 @@ class QpuTokenTimeQuotaOut(BaseModel):
|
|
|
23
25
|
"""
|
|
24
26
|
|
|
25
27
|
quota: int
|
|
26
|
-
start:
|
|
27
|
-
end:
|
|
28
|
+
start: PydanticDatetimeWrapper
|
|
29
|
+
end: PydanticDatetimeWrapper
|
|
28
30
|
quota_used: int
|
|
@@ -2,7 +2,7 @@ from abc import abstractmethod
|
|
|
2
2
|
from logging import Logger
|
|
3
3
|
from typing import TYPE_CHECKING, Any, ClassVar, Generic
|
|
4
4
|
|
|
5
|
-
from pydantic import
|
|
5
|
+
from pydantic import ConfigDict, Field, field_validator
|
|
6
6
|
|
|
7
7
|
from luna_quantum.aqm_overwrites.model import Model
|
|
8
8
|
from luna_quantum.client.controllers.luna_solve import LunaSolve
|
|
@@ -18,7 +18,7 @@ if TYPE_CHECKING:
|
|
|
18
18
|
from luna_quantum.solve.interfaces.usecases import ISolveJobCreateUseCase
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
class LunaAlgorithm(IAlgorithm[BACKEND_TYPE],
|
|
21
|
+
class LunaAlgorithm(IAlgorithm[BACKEND_TYPE], Generic[BACKEND_TYPE]):
|
|
22
22
|
"""
|
|
23
23
|
Class representing a solver for Luna model problems.
|
|
24
24
|
|
|
@@ -133,7 +133,9 @@ class LunaAlgorithm(IAlgorithm[BACKEND_TYPE], BaseModel, Generic[BACKEND_TYPE]):
|
|
|
133
133
|
SolveJob
|
|
134
134
|
The job object containing the information about the solve process.
|
|
135
135
|
"""
|
|
136
|
-
from luna_quantum.factories.usecase_factory import
|
|
136
|
+
from luna_quantum.factories.usecase_factory import ( # noqa: PLC0415
|
|
137
|
+
UseCaseFactory,
|
|
138
|
+
)
|
|
137
139
|
|
|
138
140
|
b: BACKEND_TYPE
|
|
139
141
|
if backend is not None:
|
|
@@ -45,7 +45,9 @@ class ModelMetadata(BaseModel):
|
|
|
45
45
|
"""
|
|
46
46
|
c = LunaSolveClientFactory.get_client(client=client)
|
|
47
47
|
|
|
48
|
-
from luna_quantum.factories.usecase_factory import
|
|
48
|
+
from luna_quantum.factories.usecase_factory import ( # noqa: PLC0415
|
|
49
|
+
UseCaseFactory,
|
|
50
|
+
)
|
|
49
51
|
|
|
50
52
|
aq_model: Model = UseCaseFactory.model_load_by_metadata(client=c).__call__(
|
|
51
53
|
model_metadata=self
|
|
@@ -73,7 +73,9 @@ class SolveJob(BaseModel):
|
|
|
73
73
|
if status_source == "remote":
|
|
74
74
|
c: ILunaSolve = LunaSolveClientFactory.get_client(client)
|
|
75
75
|
|
|
76
|
-
from luna_quantum.factories.usecase_factory import
|
|
76
|
+
from luna_quantum.factories.usecase_factory import ( # noqa: PLC0415
|
|
77
|
+
UseCaseFactory,
|
|
78
|
+
)
|
|
77
79
|
|
|
78
80
|
UseCaseFactory.solve_job_fetch_update(client=c).__call__(solve_job=self)
|
|
79
81
|
|
|
@@ -123,7 +125,9 @@ class SolveJob(BaseModel):
|
|
|
123
125
|
|
|
124
126
|
c: ILunaSolve = LunaSolveClientFactory.get_client(client)
|
|
125
127
|
|
|
126
|
-
from luna_quantum.factories.usecase_factory import
|
|
128
|
+
from luna_quantum.factories.usecase_factory import ( # noqa: PLC0415
|
|
129
|
+
UseCaseFactory,
|
|
130
|
+
)
|
|
127
131
|
|
|
128
132
|
self._result = UseCaseFactory.solve_job_get_result(client=c).__call__(
|
|
129
133
|
solve_job=self,
|
|
@@ -164,7 +168,9 @@ class SolveJob(BaseModel):
|
|
|
164
168
|
"""
|
|
165
169
|
c: ILunaSolve = LunaSolveClientFactory.get_client(client)
|
|
166
170
|
|
|
167
|
-
from luna_quantum.factories.usecase_factory import
|
|
171
|
+
from luna_quantum.factories.usecase_factory import ( # noqa: PLC0415
|
|
172
|
+
UseCaseFactory,
|
|
173
|
+
)
|
|
168
174
|
|
|
169
175
|
UseCaseFactory.solve_job_cancel(client=c).__call__(self)
|
|
170
176
|
|
|
@@ -183,6 +189,8 @@ class SolveJob(BaseModel):
|
|
|
183
189
|
"""
|
|
184
190
|
c: ILunaSolve = LunaSolveClientFactory.get_client(client)
|
|
185
191
|
|
|
186
|
-
from luna_quantum.factories.usecase_factory import
|
|
192
|
+
from luna_quantum.factories.usecase_factory import ( # noqa: PLC0415
|
|
193
|
+
UseCaseFactory,
|
|
194
|
+
)
|
|
187
195
|
|
|
188
196
|
UseCaseFactory.solve_job_delete(client=c).__call__(solve_job_id=self.id)
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
from abc import ABC, abstractmethod
|
|
2
2
|
from typing import Any, Generic, TypeVar
|
|
3
3
|
|
|
4
|
+
from pydantic import BaseModel
|
|
5
|
+
|
|
4
6
|
from luna_quantum.aqm_overwrites.model import Model
|
|
5
7
|
from luna_quantum.solve.domain.solve_job import SolveJob
|
|
6
8
|
from luna_quantum.solve.interfaces.backend_i import IBackend
|
|
@@ -8,7 +10,7 @@ from luna_quantum.solve.interfaces.backend_i import IBackend
|
|
|
8
10
|
BACKEND_TYPE = TypeVar("BACKEND_TYPE", bound=IBackend)
|
|
9
11
|
|
|
10
12
|
|
|
11
|
-
class IAlgorithm(ABC, Generic[BACKEND_TYPE]):
|
|
13
|
+
class IAlgorithm(ABC, BaseModel, Generic[BACKEND_TYPE]):
|
|
12
14
|
"""
|
|
13
15
|
Interface for an algorithm that performs solve tasks based on a given model.
|
|
14
16
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from .flexible_parameter_algorithm import FlexibleParameterAlgorithm
|
|
2
2
|
from .genetic_algorithms import QAGA, SAGA
|
|
3
|
+
from .lq_fda import FujitsuDA
|
|
3
4
|
from .optimization_solvers import SCIP
|
|
4
5
|
from .quantum_annealing import (
|
|
5
6
|
Kerberos,
|
|
@@ -31,6 +32,7 @@ __all__ = [
|
|
|
31
32
|
"DialecticSearch",
|
|
32
33
|
"FlexQAOA",
|
|
33
34
|
"FlexibleParameterAlgorithm",
|
|
35
|
+
"FujitsuDA",
|
|
34
36
|
"Kerberos",
|
|
35
37
|
"LeapHybridBqm",
|
|
36
38
|
"LeapHybridCqm",
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import Literal
|
|
4
|
+
|
|
5
|
+
from pydantic import Field
|
|
6
|
+
|
|
7
|
+
from luna_quantum.solve.domain.abstract import LunaAlgorithm
|
|
8
|
+
from luna_quantum.solve.parameters.backends import Fujitsu
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class FujitsuDABase(LunaAlgorithm[Fujitsu]):
|
|
12
|
+
"""Fujitsu Digital Annealer base parameters.
|
|
13
|
+
|
|
14
|
+
Parameters
|
|
15
|
+
----------
|
|
16
|
+
scaling_action: Literal["NOTHING", "SCALING", "AUTO_SCALING"]
|
|
17
|
+
Method for scaling ``qubo`` and determining temperatures:
|
|
18
|
+
- "NOTHING": No action (use parameters exactly as specified)
|
|
19
|
+
- "SCALING": ``scaling_factor`` is multiplied to ``qubo``,
|
|
20
|
+
``temperature_start``, ``temperature_end`` and ``offset_increase_rate``.
|
|
21
|
+
- "AUTO_SCALING": A maximum scaling factor w.r.t. ``scaling_bit_precision``
|
|
22
|
+
is multiplied to ``qubo``, ``temperature_start``, ``temperature_end`` and
|
|
23
|
+
``offset_increase_rate``.
|
|
24
|
+
scaling_factor: int | float
|
|
25
|
+
Multiplicative factor applied to model coefficients, temperatures, and other
|
|
26
|
+
parameters: the ``scaling_factor`` for ``qubo``, ``temperature_start``,
|
|
27
|
+
``temperature_end`` and ``offset_increase_rate``.
|
|
28
|
+
Higher values can improve numerical precision but may lead to overflow.
|
|
29
|
+
Default is 1.0 (no scaling).
|
|
30
|
+
scaling_bit_precision: int
|
|
31
|
+
Maximum bit precision to use when scaling. Determines the maximum allowable
|
|
32
|
+
coefficient magnitude. Default is 64, using full double precision.
|
|
33
|
+
random_seed: Union[int, None]
|
|
34
|
+
Seed for random number generation to ensure reproducible results.
|
|
35
|
+
Must be between 0 and 9_999. Default is None (random seed).
|
|
36
|
+
penalty_factor: float
|
|
37
|
+
Penalty factor used to scale the equality constraint penalty function,
|
|
38
|
+
default 1.0.
|
|
39
|
+
inequality_factor: int
|
|
40
|
+
Penalty factor used to scale the inequality constraints, default 1.
|
|
41
|
+
remove_ohg_from_penalty: bool
|
|
42
|
+
If equality constraints, identified to be One-Hot constraints are only
|
|
43
|
+
considered within one-hot groups (`remove_ohg_from_penalty=True`), i.e.,
|
|
44
|
+
identified one-hot constraints are not added to the penalty function,
|
|
45
|
+
default True.
|
|
46
|
+
"""
|
|
47
|
+
|
|
48
|
+
scaling_action: Literal["NOTHING", "SCALING", "AUTO_SCALING"] = "NOTHING"
|
|
49
|
+
scaling_factor: int | float = 1.0
|
|
50
|
+
scaling_bit_precision: int = 64
|
|
51
|
+
random_seed: int | None = Field(default=None, ge=0, le=9_999)
|
|
52
|
+
|
|
53
|
+
penalty_factor: float = 1.0
|
|
54
|
+
inequality_factor: int = 1
|
|
55
|
+
remove_ohg_from_penalty: bool = True
|
|
56
|
+
|
|
57
|
+
@classmethod
|
|
58
|
+
def get_default_backend(cls) -> Fujitsu:
|
|
59
|
+
"""
|
|
60
|
+
Return the default backend implementation.
|
|
61
|
+
|
|
62
|
+
This property must be implemented by subclasses to provide
|
|
63
|
+
the default backend instance to use when no specific backend
|
|
64
|
+
is specified.
|
|
65
|
+
|
|
66
|
+
Returns
|
|
67
|
+
-------
|
|
68
|
+
IBackend
|
|
69
|
+
An instance of a class implementing the IBackend interface that serves
|
|
70
|
+
as the default backend.
|
|
71
|
+
"""
|
|
72
|
+
return Fujitsu()
|
|
73
|
+
|
|
74
|
+
@classmethod
|
|
75
|
+
def get_compatible_backends(cls) -> tuple[type[Fujitsu], ...]:
|
|
76
|
+
"""
|
|
77
|
+
Check at runtime if the used backend is compatible with the solver.
|
|
78
|
+
|
|
79
|
+
Returns
|
|
80
|
+
-------
|
|
81
|
+
tuple[type[IBackend], ...]
|
|
82
|
+
True if the backend is compatible with the solver, False otherwise.
|
|
83
|
+
|
|
84
|
+
"""
|
|
85
|
+
return (Fujitsu,)
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
from pydantic import Field
|
|
2
|
+
|
|
3
|
+
from .fujits_da_base import FujitsuDABase
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class FujitsuDA(FujitsuDABase):
|
|
7
|
+
"""
|
|
8
|
+
Parameters for the Fujitsu Digital Annealer (v3c).
|
|
9
|
+
|
|
10
|
+
Attributes
|
|
11
|
+
----------
|
|
12
|
+
time_limit_sec: int | None
|
|
13
|
+
Maximum running time of DA in seconds. Specifies the upper limit of running
|
|
14
|
+
time of DA. Time_limit_sec should be selected according to problem hardness
|
|
15
|
+
and size (number of bits). Min: 1, Max: 3600
|
|
16
|
+
target_energy: int | None
|
|
17
|
+
Threshold energy for fast exit. This may not work correctly if the specified
|
|
18
|
+
value is larger than its max value or lower than its min value.
|
|
19
|
+
Min: -99_999_999_999, Max: 99_999_999_999
|
|
20
|
+
num_group: int
|
|
21
|
+
Number of independent optimization processes. Increasing the number of
|
|
22
|
+
independent optimization processes leads to better coverage of the search
|
|
23
|
+
space. Note: Increasing this number requires to also increase time_limit_sec
|
|
24
|
+
such that the search time for each process is sufficient.
|
|
25
|
+
Default: 1, Min: 1, Max: 16
|
|
26
|
+
num_solution: int
|
|
27
|
+
Number of solutions maintained and updated by each optimization process.
|
|
28
|
+
Default: 16, Min: 1, Max: 1024
|
|
29
|
+
num_output_solution: int
|
|
30
|
+
Maximal number of the best solutions returned by each optimization.
|
|
31
|
+
Total number of results is ``num_solution`` * ``num_group``.
|
|
32
|
+
Default: 5, Min: 1, Max: 1024
|
|
33
|
+
gs_num_iteration_factor: int
|
|
34
|
+
Maximal number of iterations in one epoch of the global search in each
|
|
35
|
+
optimization is ``gs_num_iteration_factor`` * *number of bits*.
|
|
36
|
+
Default: 5, Min: 0, Max: 100
|
|
37
|
+
gs_num_iteration_cl: int
|
|
38
|
+
Maximal number of iterations without improvement in one epoch of the global
|
|
39
|
+
search in each optimization before terminating and continuing with the next
|
|
40
|
+
epoch. For problems with very deep local minima having a very low value is
|
|
41
|
+
helpful. Default: 800, Min: 0, Max: 1000000
|
|
42
|
+
gs_ohs_xw1h_num_iteration_factor: int
|
|
43
|
+
Maximal number of iterations in one epoch of the global search in each
|
|
44
|
+
optimization is ``gs_ohs_xw1h_num_iteration_factor`` * *number of bits*.
|
|
45
|
+
Only used when 1Hot search is defined. Default: 3, Min: 0, Max: 100
|
|
46
|
+
gs_ohs_xw1h_num_iteration_cl: int
|
|
47
|
+
Maximal number of iterations without improvement in one epoch of the global
|
|
48
|
+
search in each optimization before terminating and continuing with the next
|
|
49
|
+
epoch. For problems with very deep local minima having a very low value is
|
|
50
|
+
helpful. Only used when 1Hot search is defined.
|
|
51
|
+
Default: 100, Min: 0, Max: 1000000
|
|
52
|
+
ohs_xw1h_internal_penalty: int | str
|
|
53
|
+
Mode of 1hot penalty constraint generation.
|
|
54
|
+
- 0: internal penalty generation off: 1hot constraint as part of penalty
|
|
55
|
+
polynomial required
|
|
56
|
+
- 1: internal penalty generation on: 1hot constraint not as part of penalty
|
|
57
|
+
polynomial required
|
|
58
|
+
If 1way 1hot constraint or a 2way 1hot constraint is specified,
|
|
59
|
+
``ohs_xw1h_internal_penalty`` = 1 is recommended.
|
|
60
|
+
Default: 0, Min: 0, Max: 1
|
|
61
|
+
gs_penalty_auto_mode: int
|
|
62
|
+
Parameter to choose whether to automatically incrementally adapt
|
|
63
|
+
``gs_penalty_coef`` to the optimal value.
|
|
64
|
+
- 0: Use ``gs_penalty_coef`` as the fixed factor to weight the penalty
|
|
65
|
+
polynomial during optimization.
|
|
66
|
+
- 1: Start with ``gs_penalty_coef`` as weight factor for penalty polynomial
|
|
67
|
+
and automatically and incrementally increase this factor during
|
|
68
|
+
optimization by multiplying ``gs_penalty_inc_rate`` / 100 repeatedly
|
|
69
|
+
until ``gs_max_penalty_coef`` is reached or the penalty energy iszero.
|
|
70
|
+
Default: 1, Min: 0, Max: 1
|
|
71
|
+
gs_penalty_coef: int
|
|
72
|
+
Factor to weight the penalty polynomial. If ``gs_penalty_auto_mode`` is 0,
|
|
73
|
+
this value does not change. If ``gs_penalty_auto_mode`` is 1, this initial
|
|
74
|
+
weight factor is repeatedly increased by ``gs_penalty_inc_rate`` until
|
|
75
|
+
``gs_max_penalty_coef`` is reached or the penalty energy is zero.
|
|
76
|
+
Default: 1, Min: 1, Max: 9_223_372_036_854_775_807
|
|
77
|
+
gs_penalty_inc_rate: int
|
|
78
|
+
Only used if ``gs_penalty_auto_mode`` is 1. In this case, the initial weight
|
|
79
|
+
factor ``gs_penalty_coef`` for the penalty polynomial is repeatedly
|
|
80
|
+
increased by multiplying ``gs_penalty_inc_rate`` / 100 until
|
|
81
|
+
``gs_max_penalty_coef`` is reached or the penalty energy is zero.
|
|
82
|
+
Default: 150, Min: 100, Max: 200
|
|
83
|
+
gs_max_penalty_coef: int
|
|
84
|
+
Maximal value for the penalty coefficient. If ``gs_penalty_auto_mode`` is 0,
|
|
85
|
+
this is the maximal value for ``gs_penalty_coef``.
|
|
86
|
+
If ``gs_penalty_auto_mode`` is 1, this is the maximal value to which
|
|
87
|
+
``gs_penalty_coef`` can be increased during the automatic adjustment.
|
|
88
|
+
If ``gs_max_penalty_coef`` is set to 0, then the maximal penalty coefficient
|
|
89
|
+
is 2^63 - 1.
|
|
90
|
+
Default: 0, Min: 0, Max: 9_223_372_036_854_775_807
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
scaling_action: Literal["NOTHING", "SCALING", "AUTO_SCALING"]
|
|
94
|
+
Method for scaling ``qubo`` and determining temperatures:
|
|
95
|
+
- "NOTHING": No action (use parameters exactly as specified)
|
|
96
|
+
- "SCALING": ``scaling_factor`` is multiplied to ``qubo``,
|
|
97
|
+
``temperature_start``, ``temperature_end`` and ``offset_increase_rate``.
|
|
98
|
+
- "AUTO_SCALING": A maximum scaling factor w.r.t. ``scaling_bit_precision``
|
|
99
|
+
is multiplied to ``qubo``, ``temperature_start``, ``temperature_end`` and
|
|
100
|
+
``offset_increase_rate``.
|
|
101
|
+
scaling_factor: int | float
|
|
102
|
+
Multiplicative factor applied to model coefficients, temperatures, and other
|
|
103
|
+
parameters: the ``scaling_factor`` for ``qubo``, ``temperature_start``,
|
|
104
|
+
``temperature_end`` and ``offset_increase_rate``.
|
|
105
|
+
Higher values can improve numerical precision but may lead to overflow.
|
|
106
|
+
Default is 1.0 (no scaling).
|
|
107
|
+
scaling_bit_precision: int
|
|
108
|
+
Maximum bit precision to use when scaling. Determines the maximum allowable
|
|
109
|
+
coefficient magnitude. Default is 64, using full double precision.
|
|
110
|
+
random_seed: Union[int, None]
|
|
111
|
+
Seed for random number generation to ensure reproducible results.
|
|
112
|
+
Must be between 0 and 9_999. Default is None (random seed).
|
|
113
|
+
penalty_factor: float
|
|
114
|
+
Penalty factor used to scale the equality constraint penalty function,
|
|
115
|
+
default 1.0.
|
|
116
|
+
inequality_factor: int
|
|
117
|
+
Penalty factor used to scale the inequality constraints, default 1.
|
|
118
|
+
remove_ohg_from_penalty: bool
|
|
119
|
+
If equality constraints, identified to be One-Hot constraints are only
|
|
120
|
+
considered within one-hot groups (`remove_ohg_from_penalty=True`),
|
|
121
|
+
i.e., identified one-hot constraints are not added to the penalty function,
|
|
122
|
+
default True.
|
|
123
|
+
"""
|
|
124
|
+
|
|
125
|
+
time_limit_sec: int | None = Field(default=None, ge=1, le=3600)
|
|
126
|
+
target_energy: int | None = Field(
|
|
127
|
+
default=None, ge=-99_999_999_999, le=99_999_999_999
|
|
128
|
+
)
|
|
129
|
+
num_group: int = Field(default=1, ge=1, le=16)
|
|
130
|
+
num_solution: int = Field(default=16, ge=1, le=1024)
|
|
131
|
+
num_output_solution: int = Field(default=5, ge=1, le=1024)
|
|
132
|
+
gs_num_iteration_factor: int = Field(default=5, ge=0, le=100)
|
|
133
|
+
gs_num_iteration_cl: int = Field(default=800, ge=0, le=1_000_000)
|
|
134
|
+
gs_ohs_xw1h_num_iteration_factor: int = Field(default=3, ge=0, le=100)
|
|
135
|
+
gs_ohs_xw1h_num_iteration_cl: int = Field(default=100, ge=0, le=1_000_000)
|
|
136
|
+
ohs_xw1h_internal_penalty: int = Field(default=0, ge=0, le=1)
|
|
137
|
+
gs_penalty_auto_mode: int = Field(default=1, ge=0, le=1)
|
|
138
|
+
gs_penalty_coef: int = Field(default=1, ge=1, le=2**63 - 1)
|
|
139
|
+
gs_penalty_inc_rate: int = Field(default=150, ge=100, le=200)
|
|
140
|
+
gs_max_penalty_coef: int = Field(default=0, ge=0, le=2**63 - 1)
|
|
141
|
+
|
|
142
|
+
@property
|
|
143
|
+
def algorithm_name(self) -> str:
|
|
144
|
+
"""
|
|
145
|
+
Returns the name of the algorithm.
|
|
146
|
+
|
|
147
|
+
This abstract property method is intended to be overridden by subclasses.
|
|
148
|
+
It should provide the name of the algorithm being implemented.
|
|
149
|
+
|
|
150
|
+
Returns
|
|
151
|
+
-------
|
|
152
|
+
str
|
|
153
|
+
The name of the algorithm.
|
|
154
|
+
"""
|
|
155
|
+
return "FDAV3C"
|
|
@@ -2,6 +2,7 @@ from .aqarios import Aqarios
|
|
|
2
2
|
from .aws import AWS, IQM, IonQ, Rigetti
|
|
3
3
|
from .dwave import DWave
|
|
4
4
|
from .dwave_qpu import DWaveQpu
|
|
5
|
+
from .fda import Fujitsu
|
|
5
6
|
from .ibm import IBM
|
|
6
7
|
from .qctrl import Qctrl
|
|
7
8
|
from .zib import ZIB
|
|
@@ -14,6 +15,7 @@ __all__: list[str] = [
|
|
|
14
15
|
"Aqarios",
|
|
15
16
|
"DWave",
|
|
16
17
|
"DWaveQpu",
|
|
18
|
+
"Fujitsu",
|
|
17
19
|
"IonQ",
|
|
18
20
|
"Qctrl",
|
|
19
21
|
"Rigetti",
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from luna_quantum.solve.interfaces.backend_i import IBackend
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class Fujitsu(IBackend):
|
|
5
|
+
"""Configuration class for the Fujitsu backend."""
|
|
6
|
+
|
|
7
|
+
@property
|
|
8
|
+
def provider(self) -> str:
|
|
9
|
+
"""
|
|
10
|
+
Retrieve the name of the provider.
|
|
11
|
+
|
|
12
|
+
Returns
|
|
13
|
+
-------
|
|
14
|
+
str
|
|
15
|
+
The name of the provider.
|
|
16
|
+
"""
|
|
17
|
+
return "fda"
|
luna_quantum/util/pretty_base.py
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
luna_quantum-1.0.
|
|
2
|
-
luna_quantum-1.0.
|
|
3
|
-
luna_quantum-1.0.
|
|
4
|
-
luna_quantum-1.0.
|
|
1
|
+
luna_quantum-1.0.6.dist-info/METADATA,sha256=8543uLV4QNdGnm8OkIKwWioDWQ-RGsWpECDhyDxVNsk,1582
|
|
2
|
+
luna_quantum-1.0.6.dist-info/WHEEL,sha256=gZaViF7zym0NE1Rwv6RkZrDM7gwu4p13n4N6WRcS0d4,104
|
|
3
|
+
luna_quantum-1.0.6.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
|
|
4
|
+
luna_quantum-1.0.6.dist-info/licenses/NOTICE,sha256=noPOS8eDj5XoyRO8ZrCxIOh5fSjk0RildIrrqxQlepY,588
|
|
5
5
|
luna_quantum/__init__.py,sha256=RV92O-Th8ktm0S9kcpfRfECkeeORP-tbDKfpa4u1CiY,3223
|
|
6
6
|
luna_quantum/__init__.pyi,sha256=1Joa1farT1Ey22yWYPMNPgQrGHIKL8bycrdPUgtQqw8,1661
|
|
7
|
-
luna_quantum/_core.cpython-313-darwin.so,sha256=
|
|
8
|
-
luna_quantum/_core.pyi,sha256=
|
|
7
|
+
luna_quantum/_core.cpython-313-darwin.so,sha256=1rjTewFBtZ74HnS9vyBZIbc-AHD6bRHdg9qdpSD-3oA,5034256
|
|
8
|
+
luna_quantum/_core.pyi,sha256=Ho4qm1sII4PHY8ZpsrwF1Qd6EzcDefmKeba-8Fb_j6g,114905
|
|
9
9
|
luna_quantum/algorithms/__init__.py,sha256=IX9ZpzY3Do3mTgKqto5vAWwdYrZrM-RemYSf64yxefg,69
|
|
10
10
|
luna_quantum/aqm_overwrites/__init__.py,sha256=rteObr5JHDnTnRime0Euq9Qy2iDIp6VMpFNHTGVNBe0,46
|
|
11
11
|
luna_quantum/aqm_overwrites/model.py,sha256=La5mh-aS2LNLaQFp_B1EnhrKUXVRRmIqGnIvX66uc8Y,6099
|
|
@@ -13,7 +13,7 @@ luna_quantum/backends/__init__.py,sha256=OaE9cTpXP07x2mhJ_kLFaHPYZJBzdEQhlP_ztnq
|
|
|
13
13
|
luna_quantum/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
14
|
luna_quantum/client/controllers/__init__.py,sha256=yG8Gwatlm6f-OH2p3WLTyAsNePUER84eBxx67pkRi4A,156
|
|
15
15
|
luna_quantum/client/controllers/luna_http_client.py,sha256=Siwtm0wQzdRZXw0ilkUmFXbD8tbRuJI7cEceWwfXos4,1057
|
|
16
|
-
luna_quantum/client/controllers/luna_platform_client.py,sha256=
|
|
16
|
+
luna_quantum/client/controllers/luna_platform_client.py,sha256=S6lt1mkE0aXYx9xoIKB9TO-fnQKDhL4AS56cT1EoaYI,8030
|
|
17
17
|
luna_quantum/client/controllers/luna_q.py,sha256=27umEkIfMGIYhkEHMz96th3a8KM4phb5Wa9pPY2RqHE,2042
|
|
18
18
|
luna_quantum/client/controllers/luna_solve.py,sha256=ZQSCQXCnc-QfQTPtlMBEohkjk2ppQMoYoW4kU1rPOPg,3499
|
|
19
19
|
luna_quantum/client/error/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -40,7 +40,7 @@ luna_quantum/client/interfaces/services/luna_solve_i.py,sha256=jp_ZfWv_7lQBBwNuz
|
|
|
40
40
|
luna_quantum/client/interfaces/services/service_i.py,sha256=8PGI7UELvLOA9bk2p8REDp4PWdWiUc7uBwLTC1TAigc,1158
|
|
41
41
|
luna_quantum/client/rest_client/__init__.py,sha256=eX8kt99OxkvKvHG1IZK9pvSlPuO4Vn5fVtHfpW3F6Bs,552
|
|
42
42
|
luna_quantum/client/rest_client/circuit_rest_client.py,sha256=va23jfQPDJ7E7YAL3dnwCKotAoOYtdW7NSsZoYpDzeA,3288
|
|
43
|
-
luna_quantum/client/rest_client/info_rest_client.py,sha256=
|
|
43
|
+
luna_quantum/client/rest_client/info_rest_client.py,sha256=nytZF_sG5ZWJ2k9I3YXLJKx-CUehivj9kaCfuoTUs9Q,2177
|
|
44
44
|
luna_quantum/client/rest_client/model_rest_client.py,sha256=wmtVG-oKsJtEvnPnAnAoBsrFggezHpuJg0NYi-SDw54,6472
|
|
45
45
|
luna_quantum/client/rest_client/qpu_token_rest_client.py,sha256=E2a2f3rHlbksnnI8Xl9KoQDC4c2x-eGOW7HtKLWUpzI,17297
|
|
46
46
|
luna_quantum/client/rest_client/solve_job_rest_client.py,sha256=GizcVIR_k_nd3FzGXtW7LrrSjJHhbywA90wLxBMRn8w,8961
|
|
@@ -51,8 +51,8 @@ luna_quantum/client/schemas/create/__init__.py,sha256=Q8anriqo9v5o3KmrOXh9TQpW8Q
|
|
|
51
51
|
luna_quantum/client/schemas/create/circuit.py,sha256=FOFuRdJBnlSHNSuT2LBl3PQ0k_2g8o4Bp_oUI-mWZcY,686
|
|
52
52
|
luna_quantum/client/schemas/create/optimization.py,sha256=TFEkCe0BFYRcodzKu1i2dbPo3ZwksQKvImPx6a_7Xwk,1161
|
|
53
53
|
luna_quantum/client/schemas/create/qpu_token.py,sha256=j06Kn6g7uVhSvwpa_swJvODkTwIS0iRT3o8fScI1VmQ,384
|
|
54
|
-
luna_quantum/client/schemas/create/qpu_token_time_quota.py,sha256=
|
|
55
|
-
luna_quantum/client/schemas/create/qpu_token_time_quota_update.py,sha256=
|
|
54
|
+
luna_quantum/client/schemas/create/qpu_token_time_quota.py,sha256=Sj3xUG3Dskw036LDCdOM2TJkAc6VPnAqi9FignQs9UI,1132
|
|
55
|
+
luna_quantum/client/schemas/create/qpu_token_time_quota_update.py,sha256=aFj1nB09IARTkV4P39N4M7_aZDRYhOp1vo7tC0I34BA,840
|
|
56
56
|
luna_quantum/client/schemas/create/qubo.py,sha256=X-vplfVVdLcpds57mcJ0ZIvKsFet94sX5ZfNTmGsdJ4,305
|
|
57
57
|
luna_quantum/client/schemas/create/solve_job_create.py,sha256=MFtDuo_cp5O_utQypm2iO6FWW26Gaw9f3ua8XTNjl1s,1093
|
|
58
58
|
luna_quantum/client/schemas/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -69,7 +69,7 @@ luna_quantum/client/schemas/model_metadata.py,sha256=6Ocjyh3gPYtccMPAKANcZ5oQ01k
|
|
|
69
69
|
luna_quantum/client/schemas/qpu_token/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
70
70
|
luna_quantum/client/schemas/qpu_token/qpu_token.py,sha256=-JR9y-bvqbit6tbGFCpKFzPFquWXBJIIj3CGAMh_6PM,3912
|
|
71
71
|
luna_quantum/client/schemas/qpu_token/qpu_token_source.py,sha256=eiCYAhpaVzoOeKZe5PIp9wCp_OJSFgDwgsi2M29esUg,604
|
|
72
|
-
luna_quantum/client/schemas/qpu_token/qpu_token_time_quota.py,sha256=
|
|
72
|
+
luna_quantum/client/schemas/qpu_token/qpu_token_time_quota.py,sha256=sRYOpLQ-m1U3bkiXE2X3CRk69SIgC1k2u-yL7ggkzXM,764
|
|
73
73
|
luna_quantum/client/schemas/qpu_token/token_provider.py,sha256=GkyMJVV9lC50fWYe3if53KU9VqYK1HPxOozJEEX678k,4595
|
|
74
74
|
luna_quantum/client/schemas/representation.py,sha256=0RKVV0XxHOJZ1o9grxTq5ri3cGLziyCFObDwQuXIOEY,364
|
|
75
75
|
luna_quantum/client/schemas/solution.py,sha256=SbbnEjmHRx0ofbSHdbVU_FqAtd0ZrsAwea8Jg9JQw9g,2445
|
|
@@ -95,17 +95,17 @@ luna_quantum/solve/__init__.py,sha256=Qu363Ci54FhrhRvuLm6WIFAsyxMwtza8n7ImHPQfxj
|
|
|
95
95
|
luna_quantum/solve/default_token.py,sha256=JpMrRtQsczmBYFeMvDOsbabpBfUubGWNVLlwFn2O4Ew,8691
|
|
96
96
|
luna_quantum/solve/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
97
97
|
luna_quantum/solve/domain/abstract/__init__.py,sha256=My23tGRFFJYVe6vwgUM4RAFr26Two1QnNryo5KXyfGU,137
|
|
98
|
-
luna_quantum/solve/domain/abstract/luna_algorithm.py,sha256=
|
|
98
|
+
luna_quantum/solve/domain/abstract/luna_algorithm.py,sha256=f24R-c8dEkLtT_UeGAMGV6RlqeBTrR_gtCAlk_-HjaE,7045
|
|
99
99
|
luna_quantum/solve/domain/abstract/qpu_token_backend.py,sha256=2vLMzDrrJsi2ejVMdNOEuhf9x1e7zGijkIn2GCH--j8,1229
|
|
100
|
-
luna_quantum/solve/domain/model_metadata.py,sha256=
|
|
101
|
-
luna_quantum/solve/domain/solve_job.py,sha256=
|
|
100
|
+
luna_quantum/solve/domain/model_metadata.py,sha256=KqbZ59cKjfl9TrIy8L3BLT0qeqiWYRYNxgLgvQxh0Xo,1686
|
|
101
|
+
luna_quantum/solve/domain/solve_job.py,sha256=TR_JpZLefB5mtJPdC2UY1K-aQs8L4qWFzgd4EplDdFg,6783
|
|
102
102
|
luna_quantum/solve/errors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
103
103
|
luna_quantum/solve/errors/incompatible_backend_error.py,sha256=PVhyMTIUShy1IJqc_FiYxxY5SzLs791Wfey-JHu6xoA,604
|
|
104
104
|
luna_quantum/solve/errors/model_metadata_missing_error.py,sha256=TBTokypD8drCFPFeMWsUn7mt7aCmKMqKweyzshqf3Bg,363
|
|
105
105
|
luna_quantum/solve/errors/solve_base_error.py,sha256=WhKaKTbWuQSxA6JLWtGT2x_CY0BUKuGMnB0oCutbA90,170
|
|
106
106
|
luna_quantum/solve/errors/token_missing_error.py,sha256=PK3n0fe4a57rdSm6gj0qbeh8MQqen91ECpQXZVbGvmw,346
|
|
107
107
|
luna_quantum/solve/interfaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
108
|
-
luna_quantum/solve/interfaces/algorithm_i.py,sha256=
|
|
108
|
+
luna_quantum/solve/interfaces/algorithm_i.py,sha256=dTWDW1CoFElIbVxjnSnA9lPIcrKDV1YJlySTR_p02xI,1665
|
|
109
109
|
luna_quantum/solve/interfaces/backend_i.py,sha256=dNszKrHSFjBb66ABHPjUUGiENBP3jVN9nGSHJr2R0co,602
|
|
110
110
|
luna_quantum/solve/interfaces/usecases/__init__.py,sha256=B3_AztBd0sIdDfhttHiydSN2mD5EJJYDb84eZAX0q3k,1414
|
|
111
111
|
luna_quantum/solve/interfaces/usecases/model_delete_usecase_i.py,sha256=wQL0nE2d5UF9_cRpC-sbeHqKrA_46j9wGtO0_FI4gX8,648
|
|
@@ -122,7 +122,7 @@ luna_quantum/solve/interfaces/usecases/solve_job_delete_usecase_i.py,sha256=8JyN
|
|
|
122
122
|
luna_quantum/solve/interfaces/usecases/solve_job_fetch_updates_usecase_i.py,sha256=2ldduW0f3qB74wlf-eIU5Od_jhzBPVgJSw53I49wGmM,1078
|
|
123
123
|
luna_quantum/solve/interfaces/usecases/solve_job_get_result_usecase_i.py,sha256=eXMTO9J7c018kam-iVmkXmBhSTyU2ER9k_oQHJ5pmm0,2040
|
|
124
124
|
luna_quantum/solve/parameters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
125
|
-
luna_quantum/solve/parameters/algorithms/__init__.py,sha256=
|
|
125
|
+
luna_quantum/solve/parameters/algorithms/__init__.py,sha256=a4PwA87TLkZUB0_1cwH9_evgdjiyRaAKtQVP7L1CfVw,1298
|
|
126
126
|
luna_quantum/solve/parameters/algorithms/base_params/__init__.py,sha256=wn85mVUqm9aub5Knu5Z_Q-A-2Yt__zB-iJ9Rxh5tFO8,771
|
|
127
127
|
luna_quantum/solve/parameters/algorithms/base_params/decomposer.py,sha256=gvyb3migPD5ERYnirY0IAyZ_MH_pYRVJ58Jj0p_dAk8,2312
|
|
128
128
|
luna_quantum/solve/parameters/algorithms/base_params/qaoa_circuit_params.py,sha256=ArDVt8C64xKPJ9new2zKdNUMxnod3zgnD_Eh0Bw69_k,2938
|
|
@@ -135,6 +135,9 @@ luna_quantum/solve/parameters/algorithms/flexible_parameter_algorithm.py,sha256=
|
|
|
135
135
|
luna_quantum/solve/parameters/algorithms/genetic_algorithms/__init__.py,sha256=DAJCKQV7lAI2mibX9aEAfiINFcnhg7QLb1x7q5OIloE,74
|
|
136
136
|
luna_quantum/solve/parameters/algorithms/genetic_algorithms/qaga.py,sha256=aLUl1N7nicjffxQM7AJ4cT5YqN8nXuub0DVhVjnt_8I,5287
|
|
137
137
|
luna_quantum/solve/parameters/algorithms/genetic_algorithms/saga.py,sha256=ze8eNTMwzN8naWn_KHkVQ382Icxi3zhiyOsD04qDLRo,5207
|
|
138
|
+
luna_quantum/solve/parameters/algorithms/lq_fda/__init__.py,sha256=nYILbaMcMGRMAghReAPlXUuYVmUh1Zh8VdhWQEepsnI,63
|
|
139
|
+
luna_quantum/solve/parameters/algorithms/lq_fda/fujits_da_base.py,sha256=tbfl1uhLJzodpkHjdKgUP2vOjyVvpUof6tIO1a1fDks,3350
|
|
140
|
+
luna_quantum/solve/parameters/algorithms/lq_fda/fujitsu_da_v3c.py,sha256=wTq0_CYPAUJCiO2khZXMJWAaBpGr8y0VhEj8fVb0AY0,8192
|
|
138
141
|
luna_quantum/solve/parameters/algorithms/optimization_solvers/__init__.py,sha256=y3lYmhd9JCEgVxZ-ApXxLtXc6A110ZUlokhnWOZ-cII,43
|
|
139
142
|
luna_quantum/solve/parameters/algorithms/optimization_solvers/scip.py,sha256=IS7Of6ySarHTE1dWK-ANoaUx9UJrHkqCRFthz7R3MGE,1467
|
|
140
143
|
luna_quantum/solve/parameters/algorithms/quantum_annealing/__init__.py,sha256=9X4RWwMPVH1ipAjEDGWF4_jDrk_vgUngx28IkLDkHmY,621
|
|
@@ -165,7 +168,7 @@ luna_quantum/solve/parameters/algorithms/simulated_annealing/population_annealin
|
|
|
165
168
|
luna_quantum/solve/parameters/algorithms/simulated_annealing/qbsolv_like_simulated_annealing.py,sha256=roq_msa4EQrRpvFze23EnY7iQ-SDpu6ifSP9Thxn_6E,6583
|
|
166
169
|
luna_quantum/solve/parameters/algorithms/simulated_annealing/repeated_reverse_simulated_annealing.py,sha256=phLC27T7vcMCi2f82LaaAObMEqoiAZJXRK38dl-3rBY,8220
|
|
167
170
|
luna_quantum/solve/parameters/algorithms/simulated_annealing/simulated_annealing.py,sha256=urMh0DLN5iuj1uAoyXt7IzwMpNZWciTlq3GhApuNgFE,5660
|
|
168
|
-
luna_quantum/solve/parameters/backends/__init__.py,sha256=
|
|
171
|
+
luna_quantum/solve/parameters/backends/__init__.py,sha256=KkWZ4Y3GtGFafyGCH1nX-s5AfNM3CowuJNfWAXpOums,388
|
|
169
172
|
luna_quantum/solve/parameters/backends/aqarios.py,sha256=4qa9en_-IhFgs4NDGUDJ6XWNevuIGOWCPrp5DcSvwiw,364
|
|
170
173
|
luna_quantum/solve/parameters/backends/aws/__init__.py,sha256=2o6R9htZHM6mvUSi94S14Q3HdfMgyg_nMTTBzhYdwXY,158
|
|
171
174
|
luna_quantum/solve/parameters/backends/aws/aws.py,sha256=snFW6vY1xJsJuM84xZCmHPrpZBr469N3hIJ-3Im9ybQ,1119
|
|
@@ -175,6 +178,7 @@ luna_quantum/solve/parameters/backends/aws/iqm.py,sha256=db7td5uyrnUrOo2M22DMgkD
|
|
|
175
178
|
luna_quantum/solve/parameters/backends/aws/rigetti.py,sha256=04Rg7CEz_70Aqd1f28ONhAQ8MXk79d-5mGbnxrqxYjU,953
|
|
176
179
|
luna_quantum/solve/parameters/backends/dwave.py,sha256=ZIbZa0lY4TN1jYl5ddlAxhb5_lK4Zuuf1gyQ1fncf8w,358
|
|
177
180
|
luna_quantum/solve/parameters/backends/dwave_qpu.py,sha256=8RJ4zPqLvplPsTmN3D8pNU5-XjwwAEYEvlIgTUPc5Ag,7314
|
|
181
|
+
luna_quantum/solve/parameters/backends/fda.py,sha256=z2WR3863eDABUKw1BlheEx3jLGkMFG8FjO_seLLCTf4,360
|
|
178
182
|
luna_quantum/solve/parameters/backends/ibm.py,sha256=pDw-0sifu_dfJS4zH2INu6txPh0NgaYDNxPQHEhaF7o,4231
|
|
179
183
|
luna_quantum/solve/parameters/backends/qctrl.py,sha256=BADuXCvZzFNS9d6MNQIKdPixeQM_2q-dBoRVwEglG7c,3503
|
|
180
184
|
luna_quantum/solve/parameters/backends/zib.py,sha256=SqlLFYWCBHiPkxiCJGb1MH5JNtdKApllpd2f8lzn_D8,352
|
|
@@ -253,8 +257,8 @@ luna_quantum/util/active_waiting.py,sha256=MkLL7UEtWh8jU1Zwd9rYqfcReYPGB7FJLUjQe
|
|
|
253
257
|
luna_quantum/util/class_patcher.py,sha256=-vD_7Auh1dQTOJXOKv-4sTQ5EzH3n6I0EsHDFQ_ZPOY,5456
|
|
254
258
|
luna_quantum/util/debug_info.py,sha256=UjMcmX5waYEEH51cK8REUOdjpNX0D6HWSR0ns7yQp54,1755
|
|
255
259
|
luna_quantum/util/log_utils.py,sha256=8WK0ivN3Dq3QntIYu-eGRBrGyiBoFnZkRiX_GCc-IHQ,5471
|
|
256
|
-
luna_quantum/util/pretty_base.py,sha256=
|
|
260
|
+
luna_quantum/util/pretty_base.py,sha256=QUNFiyz5MPsMCZB-wv622oeZ1uLkZ-_0xepNbuzQGRw,2104
|
|
257
261
|
luna_quantum/util/pydantic_utils.py,sha256=nhl_SdLJVAizrtLVHvnbco84g8CdBVdVxN_jlXiv82w,1263
|
|
258
262
|
luna_quantum/utils.py,sha256=pBOkGXNJXlOzxAwTJv8nCj32Q6WNeh3t6Ka3lmTgy9c,134
|
|
259
263
|
luna_quantum/utils.pyi,sha256=yHHPluEJArUltZ2jJ9bPtTugj59E9TOTmYdyH35EHtU,1934
|
|
260
|
-
luna_quantum-1.0.
|
|
264
|
+
luna_quantum-1.0.6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|