sim2liouv.m

From Spinach Documentation Wiki
Jump to: navigation, search

Moves a zeeman-hilb simulation context into Liouville space. When the formalism specified in the spin system object is 'zeeman-hilb', this function projects the evolution generators into Liouville space, converts the standard state-like and operator-like fields of the parameters structure, rebuilds the basis index table, migrates the symmetry irrep projectors into the adjoint representation, and sets the formalism to 'zeeman-liouv'; for all other formalisms, every argument is returned unchanged. This makes Liouville-space pulse sequences callable with zeeman-hilb inputs.

The generators are projected with hilb2liouv.m: H into a commutation superoperator, R and K into anticommutation superoperators. The state-like fields rho0, coil, and screen are reshaped into columns of length hdim^2, where hdim is the number of rows of the Hilbert space basis table, and the operator-like fields pulse_op, mw_oper, and ez_oper are turned into commutation superoperators; each field is touched only if it is present. The Liouville space basis table is assembled as [repmat(zbas,[hdim 1]) kron(zbas,ones(hdim,1))] from the Hilbert space table zbas. If spin_system.bas.irrep is present, every ordered pair (n,k) of Hilbert space irreps produces a Liouville space irrep with projector kron(conj(S(n)),S(k)) and dimension equal to the product of the two Hilbert space dimensions, giving n_irreps^2 subspaces, and the count is reported to the user.

Syntax

    [spin_system,parameters,H,R,K]=...
    sim2liouv(spin_system,parameters,H,R,K)

Parameters

    spin_system  - Spinach spin system object

    parameters   - pulse sequence parameters structure; the
                   state-like fields rho0, coil, and screen
                   (matrices or their horizontal concatena-
                   tions) are stretched into state vectors,
                   and the operator-like fields pulse_op,
                   mw_oper, and ez_oper are converted into
                   commutation superoperators, when present

    H            - Hamiltonian operator, converted into a
                   commutation superoperator; an empty
                   matrix is passed through

    R            - relaxation matrix, converted into an
                   anticommutation superoperator; an empty
                   matrix is passed through

    K            - kinetics matrix, converted into an
                   anticommutation superoperator; an empty
                   matrix is passed through

Outputs

    spin_system  - spin system object with zeeman-liouv
                   formalism and basis information

    parameters   - parameters structure with the standard
                   fields converted into Liouville space

    H,R,K        - Liouville space evolution generators

Notes

A Hilbert space density matrix block S(n)*Y*S(k)' maps to the state vector kron(conj(S(k)),S(n))*Y(:), and so each ordered pair of Hilbert space irrep projectors yields the Liouville space irrep projector kron(conj(S(k)),S(n)). Every such subspace is invariant under superoperators built from symmetry-respecting Hilbert space generators; unpopulated subspaces are dropped by reduce.m at run time in the usual way.

See also

hilb2liouv.m, reduce.m, sphten2zeeman.m, Basis set specification, Kernel utilities

Version 2.13, authors: Ilya Kuprov