FoundryProductsTechnologyCompanyInvestor relationsResource libraryNews
Contact us
Resource library
    Introduction to Dirac-3 home
    Dirac-3 Developer Beginner Guide
    Dirac-3 user guide
    Dirac-3 spec sheet
    Entropy Quantum Computing overview
    Multibody formulation
    qci-client software package
      Getting Started
      Basic Usage
      qci-client
      Dependencies
      Index
      Module Index
    eqc-direct software package

Couldn’t find what you are looking for? Reach out to technical support.

Contact support
Privacy PolicyCookie PolicyTerms of UseForward Looking StatementsAccessibility Statement
Terms and Conditions of SaleEnd User License Agreement

© 2018-2026 Quantum Computing Inc.

Download

Source code for qci_client.optimization.enum

  • # Copyright 2023-2024, Quantum Computing Incorporated
  • """Enumerations."""
  • from enum import Enum
  • [docs]
  • class JobType(Enum):
  • """Enumeration of all job types, which are specific to qci-client."""
  • SAMPLE_QUBO = "sample-qubo"
  • """"""
  • GRAPH_PARTITIONING = "graph-partitioning"
  • """"""
  • SAMPLE_CONTRAINT = "sample-constraint"
  • """"""
  • SAMPLE_HAMILTONIAN = "sample-hamiltonian"
  • """"""
  • SAMPLE_HAMILTONIAN_INTEGER = "sample-hamiltonian-integer"
  • """"""
  • SAMPLE_HAMILTONIAN_ISING = "sample-hamiltonian-ising"
  • """"""
  • JOB_TYPES = frozenset(type for type in JobType)
  • [docs]
  • class ProblemType(Enum):
  • """Enumeration of all problem types, where values match jobs API values."""
  • GP = "graph_partitioning"
  • """"""
  • IHO = "ising_hamiltonian_optimization"
  • """"""
  • NQHO = "normalized_qudit_hamiltonian_optimization"
  • """"""
  • NQHO_CONTINUOUS = "normalized_qudit_hamiltonian_optimization_continuous"
  • """"""
  • NQHO_INTEGER = "normalized_qudit_hamiltonian_optimization_integer"
  • """"""
  • QHO = "qudit_hamiltonian_optimization"
  • """"""
  • QLCBO = "quadratic_linearly_constrained_binary_optimization"
  • """"""
  • QUBO = "quadratic_unconstrained_binary_optimization"
  • """"""
  • PROBLEM_TYPES = frozenset(type for type in ProblemType)
  • [docs]
  • class DeviceType(Enum):
  • """Enumeration of all device types, where values match jobs API values."""
  • DIRAC1 = "dirac-1"
  • """"""
  • DIRAC2 = "dirac-2"
  • """"""
  • DIRAC3 = "dirac-3" # Legacy, but still accepted here for ease of use.
  • """"""
  • DIRAC3_NORMALIZED_QUDIT = "dirac-3_normalized_qudit"
  • """"""
  • DIRAC3_QUDIT = "dirac-3_qudit"
  • """"""
  • DEVICE_TYPES = frozenset(type for type in DeviceType)
  • DEVICE_TYPES_QUBIT = frozenset((DeviceType.DIRAC1,))
  • DEVICE_TYPES_NORMALIZED_QUDIT = frozenset(
  • (
  • DeviceType.DIRAC2,
  • DeviceType.DIRAC3, # Simplifies user interface in job_params.
  • DeviceType.DIRAC3_NORMALIZED_QUDIT,
  • )
  • )
  • DEVICE_TYPES_QUDIT = frozenset(
  • (
  • DeviceType.DIRAC3, # Simplifies user interface in job_params.
  • DeviceType.DIRAC3_QUDIT,
  • )
  • )
  • DEVICE_TYPES_SORTED = [type.value for type in DEVICE_TYPES]
  • DEVICE_TYPES_SORTED.sort()
  • DEVICE_TYPES_SORTED = tuple(DEVICE_TYPES_SORTED)
  • [docs]
  • class JobStatus(Enum):
  • """Enumeration of all jobs statuses, where values match jobs API values."""
  • SUBMITTED = "SUBMITTED"
  • """"""
  • QUEUED = "QUEUED"
  • """"""
  • RUNNING = "RUNNING"
  • """"""
  • COMPLETED = "COMPLETED"
  • """"""
  • ERRORED = "ERRORED"
  • """"""
  • CANCELLED = "CANCELLED"
  • """"""
  • JOB_STATUSES = frozenset(status for status in JobStatus)
  • JOB_STATUSES_FINAL = frozenset(
  • (JobStatus.COMPLETED, JobStatus.ERRORED, JobStatus.CANCELLED)
  • )
  • [docs]
  • class FileType(Enum):
  • """Enumeration of all file types, where values match files API values."""
  • CONSTRAINTS = "constraints"
  • """"""
  • GRAPH = "graph"
  • """"""
  • HAMILTONIAN = "hamiltonian"
  • """"""
  • OBJECTIVE = "objective"
  • """"""
  • POLYNOMIAL = "polynomial"
  • """"""
  • QUBO = "qubo"
  • """"""
  • GP_RESULTS = "graph_partitioning_results"
  • """"""
  • IHO_RESULTS = "ising_hamiltonian_optimization_results"
  • """"""
  • NQHO_CONTINUOUS_RESULTS = (
  • "normalized_qudit_hamiltonian_optimization_continuous_results"
  • )
  • """"""
  • NQHO_INTEGER_RESULTS = "normalized_qudit_hamiltonian_optimization_integer_results"
  • """"""
  • NQHO_RESULTS = "normalized_qudit_hamiltonian_optimization_results"
  • """"""
  • QHO_RESULTS = "qudit_hamiltonian_optimization_results"
  • """"""
  • QLCBO_RESULTS = "quadratic_linearly_constrained_binary_optimization_results"
  • """"""
  • QUBO_RESULTS = "quadratic_unconstrained_binary_optimization_results"
  • """"""
  • FILE_TYPES = frozenset(type for type in FileType)
  • FILE_TYPES_JOB_INPUTS = frozenset(
  • type for type in FileType if "results" not in type.value
  • )
  • FILE_TYPES_JOB_INPUTS_MATRIX = FILE_TYPES_JOB_INPUTS - frozenset(
  • [FileType.GRAPH, FileType.POLYNOMIAL]
  • )
  • FILE_TYPES_JOB_INPUTS_NON_GRAPH = FILE_TYPES_JOB_INPUTS - frozenset([FileType.GRAPH])
  • FILE_TYPES_JOB_RESULTS = frozenset(type for type in FileType if "results" in type.value)
  • [docs]
  • def get_file_type(*, file: dict) -> FileType:
  • """Get file type from a file."""
  • file_config_keys = list(file["file_config"].keys())
  • if len(file_config_keys) != 1:
  • raise ValueError(
  • "improper number of files specified in file_config (should be exactly one)"
  • )
  • return FileType(file_config_keys[0])
Next page

Content

  • Source code for qci_client.optimization.enum