coherence.m

From Spinach Documentation Wiki
Revision as of 19:35, 6 June 2026 by Kuprov (talk | contribs) (Update function See also links and function index membership)
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)

Parameters

    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

adelim.m, correlation.m, dfpt.m, homospoil.m, human2opspec.m, lin2lm.m, lin2lmn.m, lm2lin.m, lmn2lin.m, path_trace.m, scomponents.m, sinkhole.m, sparse2csr.m, sphten2zeeman.m, stitch.m, zte.m, Kernel_functions, Kernel_utilities

Version 2.8, authors: Ilya Kuprov, Luke Edwards