Skip to content

IbmTranslator

Utility class for converting between an IBM solution and our solution format.

IbmTranslator provides methods to: - Convert an IBM-style solution into our solution Solution.

The conversions are especially required when interacting with external ibm solvers/samplers or libraries that operate on ibm-based problem-solving/sampling.

Examples:

>>> import luna_quantum as lq
>>> ...
>>> ibm_result = ...
>>> aqs = lq.translator.IbmTranslator.to_aq(ibm_result)

to_aq staticmethod

to_aq(
    result: PrimitiveResult[PubResult], quadratic_program: QuadraticProgram
) -> Solution
to_aq(
    result: PrimitiveResult[PubResult],
    quadratic_program: QuadraticProgram,
    timing: Timing,
) -> Solution
to_aq(
    result: PrimitiveResult[PubResult],
    quadratic_program: QuadraticProgram,
    *,
    env: Environment,
) -> Solution
to_aq(
    result: PrimitiveResult[PubResult],
    quadratic_program: QuadraticProgram,
    timing: Timing,
    *,
    env: Environment,
) -> Solution
to_aq(
    result: PrimitiveResult[PubResult],
    quadratic_program: QuadraticProgram,
    timing: Timing | None = ...,
    *,
    env: Environment | None = ...,
) -> Solution

Convert an IBM solution to our solution format.

Parameters:

Name Type Description Default
result PrimitiveResult[PubResult]

The ibm result.

required
quadratic_program QuadraticProgram

The quadratic program defining the optimization problem.

required
timing Timing

The timing object produced while generating the result.

...
env Environment

The environment of the model for which the result is produced.

...

Raises:

Type Description
NoActiveEnvironmentFoundError

If no environment is passed to the method or available from the context.

SolutionTranslationError

Generally if the solution translation fails. Might be specified by one of the two following errors.

SampleIncorrectLengthError

If a solution's sample has a different number of variables than the model environment passed to the translator.

ModelVtypeError

If the result's variable types are incompatible with the model environment's variable types.