# Singlerot.m

Fokker-Planck magic angle spinning context. Generates a Liouvillian superoperator and passes it on to the pulse sequence function, which should be supplied as a handle. Syntax:

answer=singlerot(spin_system,pulse_sequence,parameters,assumptions)

where pulse sequence is a function handle to one of the pulse sequences located in the experiments directory, assumptions is a string that would be passed to assume.m when the Hamiltonian is built and parameters is a structure with the following subfields:

parameters.rate - spinning rate in Hz parameters.axis - spinning axis, given as a normalized 3-element vector parameters.spins - a cell array giving the spins that the pulse sequence involves, e.g. {'1H','13C'} parameters.offset - a cell array giving transmitter off- sets in Hz on each of the spins listed in parameters.spins array parameters.max_rank - maximum harmonic rank to retain in the solution (increase till conver- gence is achieved, approximately equal to the number of spinning si- debands in the spectrum) parameters.rframes - rotating frame specification, e.g. {{'13C',2},{'14N',3}} requests second order rotating frame transformation with respect to carbon-13 and third order rotating frame transformation with respect to nitrogen-14. When this option is used, the assumptions on the respective spins should be laboratory frame. parameters.grid - spherical grid file name. See grids directory in the kernel. parameters.sum_up - when set to 1 (default), returns the powder average. When set to 0, returns individual answers for each point in the powder as a cell array.

Additional subfields may be required by the pulse sequence. The parameters structure is passed to the pulse sequence with the following additional parameters set:

parameters.spc_dim - matrix dimension for the spatial dynamics subspace parameters.spn_dim - matrix dimension for the spin dynamics subspace

This function returns the powder average of whatever it is that the pulse sequence returns.

Note: arbitrary order rotating frame transformation is supported, including infinite order. See rotframe.m for further information.