Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

qamomile.qiskit.materializer

Materialize engine-neutral circuit programs as Qiskit circuits.

Overview

ClassDescription
EmitErrorReport an engine failure to emit one semantic operation.
GateKindClassification of gates for emission.
QiskitMaterializerConvert target-legal circuit code-generation IR to QuantumCircuit.

Classes

EmitError [source]

class EmitError(QamomileCompileError)

Report an engine failure to emit one semantic operation.

Parameters:

NameTypeDescription
messagestrHuman-readable emission failure.
operationstr | NoneRelated operation description. Defaults to None.

Example:

Correct — identify the unsupported operation at its target boundary::

    raise EmitError(
        "HUGR cannot emit a symbolic gate power",
        operation="ControlledUOperation",
    )

Incorrect — silently dropping an unsupported operation can change the
compiled program's meaning::

    if not target_supports(operation):
        return

Constructor

def __init__(self, message: str, operation: str | None = None)

Initialize an engine emission diagnosis.

Parameters:

NameTypeDescription
messagestrHuman-readable emission failure.
operationstr | NoneRelated operation description. Defaults to None.

Attributes


GateKind [source]

class GateKind(Enum)

Classification of gates for emission.

Attributes


QiskitMaterializer [source]

class QiskitMaterializer

Convert target-legal circuit code-generation IR to QuantumCircuit.

Root and runtime-control-flow phases are retained in Qiskit’s native QuantumCircuit.global_phase metadata on the corresponding circuit or block.

Attributes

Methods

materialize
def materialize(
    self,
    program: CircuitProgram,
    parameter_names: tuple[str, ...] = (),
) -> MaterializedCircuit[Any]

Build and return a Qiskit circuit with scoped phase metadata.

Parameters:

NameTypeDescription
programCircuitProgramVerified circuit-family program.
parameter_namestuple[str, ...]Public parameter ABI. Qiskit binds by name, so this is used for boundary validation only. Defaults to an empty tuple.

Returns:

MaterializedCircuit[Any] — MaterializedCircuit[Any]: Qiskit circuit and parameter mapping.

Raises: