Difference between revisions of "Coherence.m"

From Spinach Documentation Wiki
Jump to: navigation, search
(Update function See also links and function index membership)
(sync with Spinach main f053e432: zeeman-liouv/zeeman-hilb support, electrons/nuclei/all specifications)
 
Line 8: Line 8:
 
==Parameters==
 
==Parameters==
  
−
     rho    -  a state vector or a horizontal stack thereof
+
     rho    -  a state vector or a horizontal stack thereof;
 +
              in zeeman-hilb, a density matrix or a horizon-
 +
              tal stack thereof
 
   
 
   
 
     spec  -  a cell array containing the specification of
 
     spec  -  a cell array containing the specification of
Line 18: Line 20:
 
   
 
   
 
                       ((1 OR -1 on 13C) AND (-1 on 1H))
 
                       ((1 OR -1 on 13C) AND (-1 on 1H))
 +
 +
              instead of specific spins, it is possible to
 +
              specify 'electrons', 'nuclei', and 'all'
  
 
==Outputs==
 
==Outputs==
Line 35: Line 40:
  
 
==Notes==
 
==Notes==
−
Because projection quantum number information is required, this function only works with ''sphten-liouv'' [[Basis set specification|formalism]]. It supports Fokker-Planck direct products.
+
This function requires ''sphten-liouv'', ''zeeman-liouv'', or ''zeeman-hilb'' [[Basis set specification|formalism]]; Fokker-Planck direct products are supported in the Liouville space formalisms. In ''zeeman-hilb'', the density matrices are stretched into Liouville space, filtered there, and folded back.
  
 
==See also==
 
==See also==

Latest revision as of 06:34, 30 August 2026

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;
              in zeeman-hilb, a density matrix or a horizon-
              tal 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))

              instead of specific spins, it is possible to
              specify 'electrons', 'nuclei', and 'all'

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

This function requires sphten-liouv, zeeman-liouv, or zeeman-hilb formalism; Fokker-Planck direct products are supported in the Liouville space formalisms. In zeeman-hilb, the density matrices are stretched into Liouville space, filtered there, and folded back.

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