| |
| |
| global_solver_configs = {} |
| global_penalties_params = {} |
|
|
|
|
| def _flatten_solvers(node: dict, prefix: str, out: dict) -> None: |
| """ |
| Recursively flatten solvers.yaml into dotted keys. A dict is a leaf solver |
| config once it has a "backend" key (injected by the _defaults anchors); |
| anything else is treated as a grouping level (e.g. dwave.fast, or the |
| extra pennylane.inference / pennylane.train grouping) and recursed into. |
| """ |
| for name, value in node.items(): |
| path = f"{prefix}.{name}" if prefix else name |
| if "backend" in value: |
| out[path] = value |
| else: |
| _flatten_solvers(value, path, out) |
|
|
|
|
| |
| def load_solver_configs(solvers: dict): |
| global_solver_configs.clear() |
| _flatten_solvers(solvers, "", global_solver_configs) |
|
|