Difference between revisions of "Path trace.m"
(Sync syntax/arguments/outputs with current Spinach source) |
(Restore pre-bulk-edit wiki content) |
||
| Line 1: | Line 1: | ||
{{DISPLAYTITLE:path_trace.m}} __NOTOC__ | {{DISPLAYTITLE:path_trace.m}} __NOTOC__ | ||
| − | |||
Liouvillian path tracing. Treats the user-supplied Liouvillian as the adjacency matrix of a graph, computes the weakly connected subgraphs of that graph and returns a cell array of projectors into independently evolving populated subspaces. | Liouvillian path tracing. Treats the user-supplied Liouvillian as the adjacency matrix of a graph, computes the weakly connected subgraphs of that graph and returns a cell array of projectors into independently evolving populated subspaces. | ||
==Syntax== | ==Syntax== | ||
| − | projectors= | + | projectors=reduce(spin_system,L,rho) |
==Arguments== | ==Arguments== | ||
| − | L - Liouvillian matrix | + | L - Liouvillian matrix |
rho - the initial state (source state screening) | rho - the initial state (source state screening) | ||
| Line 17: | Line 16: | ||
==Outputs== | ==Outputs== | ||
| − | projectors - a cell array of projectors into independently | + | projectors - a cell array of projectors into independently |
evolving populated subspaces. The projectors | evolving populated subspaces. The projectors | ||
are to be used as follows: | are to be used as follows: | ||
| Line 25: | Line 24: | ||
==Notes== | ==Notes== | ||
| − | |||
Further information on how this function works is available in our papers on this subject: | Further information on how this function works is available in our papers on this subject: | ||
| Line 34: | Line 32: | ||
==See also== | ==See also== | ||
| − | |||
[[reduce.m]], [[zte.m]], [[symmetry.m]], [[krylov.m]] | [[reduce.m]], [[zte.m]], [[symmetry.m]], [[krylov.m]] | ||
''Version 2.5, authors: [[Ilya Kuprov]], [[Matthew Krzystyniak]]'' | ''Version 2.5, authors: [[Ilya Kuprov]], [[Matthew Krzystyniak]]'' | ||
Revision as of 15:49, 5 April 2026
Liouvillian path tracing. Treats the user-supplied Liouvillian as the adjacency matrix of a graph, computes the weakly connected subgraphs of that graph and returns a cell array of projectors into independently evolving populated subspaces.
Syntax
projectors=reduce(spin_system,L,rho)
Arguments
L - Liouvillian matrix
rho - the initial state (source state screening)
or the detection state (destination state
screening)
Outputs
projectors - a cell array of projectors into independently
evolving populated subspaces. The projectors
are to be used as follows:
L_reduced=P'*L*P; (for matrices)
rho_reduced=P'*rho; (for state vectors)
Notes
Further information on how this function works is available in our papers on this subject:
http://dx.doi.org/10.1063/1.3398146 http://dx.doi.org/10.1016/j.jmr.2011.03.010
A significant number of independently evolving or dropped subspaces is often an indication of an overlooked symmetry or a conservation law – it is a good idea to examine the dropped subspaces and try finding out why they are not being populated. The efficiency of the path tracing procedure depends on the choice of the basis set. For the spherical tensor basis sets used in Spinach, there are usually at least two (in some EPR examples), and sometimes over a hundred (in large HSQC examples) independent subspaces, depending on the calculation type and spin interactions present.
See also
reduce.m, zte.m, symmetry.m, krylov.m
Version 2.5, authors: Ilya Kuprov, Matthew Krzystyniak