coherence.m
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.
Contents
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