Coupling
Hyperfine
Hyperfine(parent: Optional[Builder] = None)
Bases: LevelCoupling
This node represents level coupling between hyperfine states.
Examples:
- To reach the node from the start node:
>>> node = bloqade.start.hyperfine
>>> type(node)
<class 'bloqade.builder.coupling.Hyperfine'>
- Hyperfine level coupling has two reachable field nodes:
- detuning term (See also [`Detuning`][bloqade.builder.field.Detuning])
- rabi term (See also [`Rabi`][bloqade.builder.field.Rabi])
>>> hyp_detune = bloqade.start.hyperfine.detuning
>>> hyp_rabi = bloqade.start.hyperfine.rabi
Source code in .venv/lib/python3.12/site-packages/bloqade/analog/builder/base.py
10 11 12 13 14 |
|
__bloqade_ir__
__bloqade_ir__()
Generate the intermediate representation (IR) for the Hyperfine level coupling.
Returns:
Name | Type | Description |
---|---|---|
IR |
An intermediate representation of the Hyperfine level coupling sequence. |
Note
This method is used internally by the Bloqade framework.
Source code in .venv/lib/python3.12/site-packages/bloqade/analog/builder/coupling.py
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 |
|
LevelCoupling
LevelCoupling(parent: Optional[Builder] = None)
Bases: Builder
Source code in .venv/lib/python3.12/site-packages/bloqade/analog/builder/base.py
10 11 12 13 14 |
|
detuning
property
detuning: Detuning
Specify the [Detuning
][bloqade.builder.field.Detuning] [Field
][bloqade.builder.field.Field] of your program.
You will be able to specify the spatial modulation afterwards.
Returns:
Type | Description |
---|---|
Detuning
|
[ |
Note
The detuning specifies how off-resonant the laser being applied to the atoms is from the atomic energy transition, driven by the Rabi frequency.
Example:
from bloqade import start
geometry = start.add_position((0,0))
coupling = geometry.rydberg
coupling.detuning
- Next Possible Steps You may continue building your program via:
- [
uniform
][bloqade.builder.field.Detuning.uniform]: To address all atoms in the field - [
location(locations, scales)
][bloqade.builder.field.Detuning.location]: To address atoms at specific locations via indices - [
scale(coeffs)
][bloqade.builder.field.Detuning.scale]: To address all atoms with an individual scale factor
rabi
property
rabi: Rabi
Specify the complex-valued [Rabi
][bloqade.builder.field.Rabi]
field of your program.
The Rabi field is composed of a real-valued Amplitude and Phase field.
Returns:
Name | Type | Description |
---|---|---|
Rabi |
Rabi
|
A program node representing the Rabi field. |
Note
Next possible steps to build your program are
creating the RabiAmplitude field and RabiPhase field of the field:
- ...rabi.amplitude
: To create the Rabi amplitude field
- ...rabi.phase
: To create the Rabi phase field
Rydberg
Rydberg(parent: Optional[Builder] = None)
Bases: LevelCoupling
This node represents level coupling of the Rydberg state.
Examples:
- To reach the node from the start node:
>>> node = bloqade.start.rydberg
>>> type(node)
<class 'bloqade.builder.coupling.Rydberg'>
- Rydberg level coupling has two reachable field nodes:
- detuning term (See also [`Detuning`][bloqade.builder.field.Detuning])
- rabi term (See also [`Rabi`][bloqade.builder.field.Rabi])
>>> ryd_detune = bloqade.start.rydberg.detuning
>>> ryd_rabi = bloqade.start.rydberg.rabi
Source code in .venv/lib/python3.12/site-packages/bloqade/analog/builder/base.py
10 11 12 13 14 |
|
__bloqade_ir__
__bloqade_ir__()
Generate the intermediate representation (IR) for the Rydberg level coupling.
Returns:
Name | Type | Description |
---|---|---|
IR |
An intermediate representation of the Rydberg level coupling sequence. |
Note
This method is used internally by the Bloqade framework.
Source code in .venv/lib/python3.12/site-packages/bloqade/analog/builder/coupling.py
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
|