Skip to content

quast_decisiontree.nodes.qrisp_backends

quast_decisiontree.nodes.qrisp_backends

BackendNode providing Qrisp-compatible simulator backends.

logger module-attribute

logger = logging.getLogger('dt_logger')

QrispBackendNode

Bases: BackendNode

Silent node providing Qrisp-native simulator backends to the BackendProvider.

This node is never traversed — it only exists so that load_backends() picks up Qrisp simulators and merges them into the global BackendProvider.

Modifications at runtime: None

Source code in src/quast_decisiontree/nodes/qrisp_backends.py
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
class QrispBackendNode(BackendNode):
    """Silent node providing Qrisp-native simulator backends to the BackendProvider.

    This node is never traversed — it only exists so that load_backends()
    picks up Qrisp simulators and merges them into the global BackendProvider.

    Modifications at runtime: None
    """

    _known_children = []

    def __init__(self, children: list[str] | None = None) -> None:
        if children is None:
            children = []
        super().__init__(
            requires=[],
            creates=[],
            children=children,
            silent=True,
        )
        self._backends = self.get_backends()

    def get_backends(self) -> BackendProvider:
        """Return a BackendProvider with available Qrisp backends."""
        provider = BackendProvider()

        default_backend = Backend(
            name="qrisp_simulator",
            description="Qrisp built-in simulator (statevector-based)",
            provider_node="QrispBackendNode",
            submit_func=_make_qrisp_default_submit(),
            default_shots=1024,
        )
        provider.append(default_backend)

        return provider

    def get_submit_func(self, backend_name: str) -> Callable:
        """Return the submit function for a given backend name."""
        backend = self._backends[backend_name]
        return backend.submit_func

    def execute(self, problem_data: dict, path_info: dict) -> dict:
        """Never called — silent disconnected node."""
        return dict()

    def next_node(self, next_node_info: dict) -> str:
        """Never called — silent disconnected node."""
        return ""

__init__

__init__(children=None)
Source code in src/quast_decisiontree/nodes/qrisp_backends.py
42
43
44
45
46
47
48
49
50
51
def __init__(self, children: list[str] | None = None) -> None:
    if children is None:
        children = []
    super().__init__(
        requires=[],
        creates=[],
        children=children,
        silent=True,
    )
    self._backends = self.get_backends()

get_backends

get_backends()

Return a BackendProvider with available Qrisp backends.

Source code in src/quast_decisiontree/nodes/qrisp_backends.py
53
54
55
56
57
58
59
60
61
62
63
64
65
66
def get_backends(self) -> BackendProvider:
    """Return a BackendProvider with available Qrisp backends."""
    provider = BackendProvider()

    default_backend = Backend(
        name="qrisp_simulator",
        description="Qrisp built-in simulator (statevector-based)",
        provider_node="QrispBackendNode",
        submit_func=_make_qrisp_default_submit(),
        default_shots=1024,
    )
    provider.append(default_backend)

    return provider

get_submit_func

get_submit_func(backend_name)

Return the submit function for a given backend name.

Source code in src/quast_decisiontree/nodes/qrisp_backends.py
68
69
70
71
def get_submit_func(self, backend_name: str) -> Callable:
    """Return the submit function for a given backend name."""
    backend = self._backends[backend_name]
    return backend.submit_func

execute

execute(problem_data, path_info)

Never called — silent disconnected node.

Source code in src/quast_decisiontree/nodes/qrisp_backends.py
73
74
75
def execute(self, problem_data: dict, path_info: dict) -> dict:
    """Never called — silent disconnected node."""
    return dict()

next_node

next_node(next_node_info)

Never called — silent disconnected node.

Source code in src/quast_decisiontree/nodes/qrisp_backends.py
77
78
79
def next_node(self, next_node_info: dict) -> str:
    """Never called — silent disconnected node."""
    return ""