coherence.m

From Spinach Documentation Wiki
Jump to: navigation, search

Coherence order selection function - keeps only the specified orders of coherence in the state vector. This function is useful as a replacement for gradients and phase cycles because coherence order filtering can be accomplished analytically, by just picking out the required coherence orders and zeroing everything else.

Syntax

    rho=coherence(spin_system,rho,spec)

Arguments

    rho    -  a state vector or a horizontal stack thereof

    spec   -  a cell array containing the specification of
              which coherences to keep on which spins. For
              example
                        {{'13C',[1 -1]},{'1H',-1}} 

              keeps the states that have coherence order 

                     ((1 OR -1 on 13C) AND (-1 on 1H))

Outputs

  rho     - the state vector with the undesired orders of
            spin correlations zeroed out

Examples

    rho=coherence(spin_system,rho,{{'13C',[1 -1]},{'1H',-1}});

keeps all states that simultaneously have coherence order 1 or -1 in the 13C subspace, and coherence order -1 in the 1H subspace.

    rho=coherence(spin_system,rho,{{3,0},{5,-1}});

keeps all states that simultaneously have coherence order 0 on spin number 3, and coherence order -1 on spin number 5.

Notes

Because projection quantum number information is required, this function only works with sphten-liouv formalism. It supports Fokker-Planck direct products.

See also

correlation.m, decouple.m, homospoil.m


Version 2.2, authors: Ilya Kuprov, Luke Edwards