quchip.inverse_design.observables

Target compilation for quchip.fit_a_dress().

Targets come from component declarations and explicit constraints, without diagonalizing the desired model.

Functions

build_dressed_target_specs(chip[, constraints])

Compile a desired chip's declared numbers into dressed constraints.

Classes

TargetSpec(kind, label, target[, source])

A single optimization target.

class quchip.inverse_design.observables.TargetSpec(kind, label, target, source='explicit')[source]

Bases: object

A single optimization target.

Variables:
  • kind (str) – Observable kind. One of "freq", "anharmonicity", "cross_kerr", "exchange_rate", "coupling_strength".

  • label (Any) – Device label, (label_a, label_b) tuple, or coupling label that locates this target on the chip.

  • target (float) – Desired value in GHz.

  • source (str) – Origin: "component default" or "explicit".

kind: str
label: Any
target: float
source: str = 'explicit'
quchip.inverse_design.observables.build_dressed_target_specs(chip, constraints=None)[source]

Compile a desired chip’s declared numbers into dressed constraints.

Compilation never calls a dressed-analysis method on chip. Devices and couplings supply their component-owned defaults. Explicit constraints extend those defaults, replace the same (kind, locator) entry, or remove it with None.

Parameters:
  • chip – Numerical desired-chip specification.

  • constraints (dict | None) – Optional {component_or_pair: {observable: value_or_none}} mapping. Pair locators do not have to agree with a direct coupling edge.