path_trace.m
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=path_trace(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