device.m
Spin-boson device interface to pulse sequences. This context generates the evolution generators for a device containing spins and bosonic modes at a fixed orientation of the spin subsystem, and passes them to the pulse sequence function, which should be supplied as a handle. Where liquid.m, crystal.m, and powder.m describe molecules in magnets, this context describes devices: electromagnetic cavities, phonon modes, and transmons declared in the inter.modes block, whose Hamiltonian terms carry no orientation dependence. The spin subsystem is rotated into the requested orientation; the bosonic terms are not, because rotations of a cavity mode are not defined.
The function builds the Hamiltonian and adds the relaxation and kinetics superoperators, applies transmitter offsets to the spin channels and detuning offsets to the bosonic modes, wipes the decoupled species from the generators and from the initial state, and optionally supplies the thermal equilibrium state with Bose-Einstein populations of the modes. Drives applied to bosonic modes are not a context matter: the pulse sequence builds them from the creation and annihilation operators of the mode it drives.
Syntax
answer=device(spin_system,pulse_sequence,parameters,assumptions)
Parameters
pulse_sequence - pulse sequence function handle. See the
experiments directory for the list of
pulse sequences that ship with Spinach.
parameters.spins - a cell array giving the spin species that
the pulse sequence works on, in the order
of channels, e.g. {'E'}; may be omitted
when no spin channels are needed
parameters.offset - transmitter offsets in Hz on each of the
spin species listed in parameters.spins
parameters.mode_offset - detuning offsets in Hz, one for each
bosonic mode in the order of declaration;
the transmitter sign convention of para-
meters.offset applies: each offset enters
the Hamiltonian as minus the offset times
the number operator of its mode, so that a
positive offset lowers the mode frequency
parameters.decouple - a cell array of spin species to be wiped
from the evolution generators and from the
initial state, e.g. {'1H'}; the default is
an empty cell array, meaning no decoupling
parameters.orientation - Euler angles (ZYZ active convention, ra-
dians) giving the orientation of the spin
subsystem; bosonic terms are not affected;
the default is [0 0 0]
parameters.rframes - numerical rotating frame specification for
spin species, e.g. {{'E',2}}, as described
in the header of rotframe.m
parameters.needs - a cell array of strings specifying additional
information required by the sequence:
'rho_eq' - thermal equilibrium state at the
system temperature, with the Bose-Einstein
populations of the bosonic modes included;
this is placed into parameters.rho0
parameters.* - additional subfields may be required by
the pulse sequence - check its docs
assumptions - 'labframe', 'cavity', or 'spin-phonon';
see the header of assume.m for details
Outputs
answer - whatever it is that the pulse sequence returns.
Examples
A spin coupled longitudinally to a phonon mode, with a trajectory taken through the spin-phonon assumption set:
% Particle specification
sys.isotopes={'E','V7'};
% Phonon mode with a longitudinal coupling
inter.modes.frqs={[] 20e6};
inter.modes.longitudinal=cell(2,2);
inter.modes.longitudinal{1,2}=4e6*sqrt(2);
% Sequence parameters
parameters.sweep=5e8; parameters.npoints=501;
parameters.rho0=state(spin_system,{'Lx','BL1'},{1,2});
% Trajectory through the device context
traj=device(spin_system,@traject,parameters,'spin-phonon');
Notes
- The system must contain at least one bosonic mode; pure spin systems belong with liquid.m, crystal.m, and powder.m contexts.
- Dissipative bosonic modes require a Liouville space formalism; coherent simulations may also use zeeman-hilb.
- The equilibrium state requested by 'rho_eq' is built from the laboratory frame Hamiltonian at the declared orientation, so it is correct for oriented spin subsystems.
See also
create.m, assume.m, hamiltonian.m, relaxation.m, rlx_modes.m, coherent.m, equilibrium.m, liquid.m, crystal.m, powder.m, Spin system specification, Kernel contexts
Version 2.12, authors: Ilya Kuprov