Skip to content

bloqade.analog.compiler.passes.hardware.define.analyze_channels

← Module overview

functionanalyze_channelssource

bloqade.analog.compiler.passes.hardware.define.analyze_channels

def analyze_channels(circuit: analog_circuit.AnalogCircuit) -> Dict
  1. Scan channels

This pass checks to make sure that:

  • There is no hyperfine coupling in the sequence
  • There are no non-uniform spatial modulation for rabi phase and amplitude
  • there is no more than one non-uniform spatial modulation for detuning

Parameters

NameTypeDescription
circuitanalog_circuit.AnalogCircuitAnalogCircuit to analyze

Returns

Dictlevel_couplings: ionary containing the required channels for the sequence. Note that this will insert a uniform field for any missing channels.

Raises

TypeDescription
ValueErrorIf there is hyperfine coupling in the sequence.
ValueErrorIf there is more than one non-uniform spatial modulation for detuning.
ValueErrorIf there are non-uniform spatial modulations for rabi phase and amplitude.
source