Difference between revisions of "Step.m"
(Created page with "Propagation step function. Uses Krylov propagation and sparse exponenti- ation where appropriate. Syntax: rho=step(spin_system,L,rho,time_step) Arguments:...") |
|||
| Line 1: | Line 1: | ||
| − | Propagation step function. | + | {{DISPLAYTITLE:step.m}} |
| − | + | Propagation step function optimised for one-off time evolution events, such as hard pulses or slices of shaped pulses. For large Liouvillians, this function computes the action by a matrix exponential on a vector without computing the matrix exponential. | |
| − | + | ==Syntax== | |
| − | Arguments | + | rho=step(spin_system,L,rho,time_step) |
| + | |||
| + | ==Arguments== | ||
L - Liouvillian or Hamiltonian to be used for propagation | L - Liouvillian or Hamiltonian to be used for propagation | ||
| + | |||
| + | rho - state vector or density matrix to be propagated | ||
| + | |||
| + | time_step - length of the time step to take | ||
| + | |||
| + | ==Outputs== | ||
| + | |||
| + | rho - state vector or density matrix | ||
| + | |||
| + | ==Examples== | ||
| + | See the source code of [[shaped_pulse_xy.m]] and most NMR pulse sequences ([[cosy.m]], [[hsqc.m]], and others) for examples of this function being used. | ||
| + | |||
| + | ==Notes== | ||
| + | #The sequence is programmed with a rather peculiar order of algebraic operations. This was carefully optimised to ensure best possible performance under a variety of scenarios (parallelisation, GPUs, large sparse arrays) in Matlab. | ||
| + | #Long-term propagation under a statis Liovillian should be handled with [[evolution.m]] or [[krylov.m]] functions instead. | ||
| + | |||
| + | ==See also== | ||
| + | [[evolution.m]], [[krylov.m]], [[shaped_pulse_xy.m]], [[shaped_pulse_af.m]] | ||
| − | |||
| − | + | ''Version 2.2, authors: [[Ilya Kuprov]], [[Luke Edwards]]'' | |
Revision as of 14:56, 4 July 2018
Propagation step function optimised for one-off time evolution events, such as hard pulses or slices of shaped pulses. For large Liouvillians, this function computes the action by a matrix exponential on a vector without computing the matrix exponential.
Contents
Syntax
rho=step(spin_system,L,rho,time_step)
Arguments
L - Liouvillian or Hamiltonian to be used for propagation
rho - state vector or density matrix to be propagated
time_step - length of the time step to take
Outputs
rho - state vector or density matrix
Examples
See the source code of shaped_pulse_xy.m and most NMR pulse sequences (cosy.m, hsqc.m, and others) for examples of this function being used.
Notes
- The sequence is programmed with a rather peculiar order of algebraic operations. This was carefully optimised to ensure best possible performance under a variety of scenarios (parallelisation, GPUs, large sparse arrays) in Matlab.
- Long-term propagation under a statis Liovillian should be handled with evolution.m or krylov.m functions instead.
See also
evolution.m, krylov.m, shaped_pulse_xy.m, shaped_pulse_af.m
Version 2.2, authors: Ilya Kuprov, Luke Edwards