Difference between revisions of "Coherence.m"

From Spinach Documentation Wiki
Jump to: navigation, search
 
(sync with Spinach main f053e432: zeeman-liouv/zeeman-hilb support, electrons/nuclei/all specifications)
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
−
Coherence selection function - keeps only the specified coherence orders in the state vector. Syntax:
+
{{DISPLAYTITLE:coherence.m}} __NOTOC__
 +
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)
 
     rho=coherence(spin_system,rho,spec)
  
−
Arguments:
+
==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 - a state vector or a bookshelf stack of state vectors
+
  rho     - the state vector with the undesired orders of
 +
            spin correlations zeroed out
  
−
    spec -  a cell array containing the specification of
+
==Examples==
−
            which coherences to keep on which spins
 
  
−
Examples of coherence specification:
+
    rho=coherence(spin_system,rho,{{'13C',[1 -1]},{'1H',-1}});
  
−
    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.
  
−
this command 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}});
  
−
    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.
  
−
this command 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'' [[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.
  
−
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. Because projection quantum number information is required, this function only works with ''sphten-liouv'' [[Basis set specification|formalism]].
+
==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]]
  
−
''Revision 3142, authors: [[Ilya Kuprov]], [[Luke Edwards]]''
+
''Version 2.8, authors: [[Ilya Kuprov]], [[Luke Edwards]]''

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