Difference between revisions of "Shaped pulse af.m"
| Line 1: | Line 1: | ||
| − | Shaped pulse in amplitude-frequency coordinates using Fokker-Planck | + | {{DISPLAYTITLE:shaped_pulse_af.m}} |
| − | formalism. | + | Shaped pulse in amplitude-frequency coordinates using Fokker-Planck formalism (Eqn. 33 in http://dx.doi.org/10.1016/j.jmr.2016.07.005). The pulse is assumed to be piecewise-constant and should be supplied with sufficiently fine time discretization to properly reproduce the waveform. |
| − | + | ==Syntax== | |
| − | |||
| − | + | rho=shaped_pulse_af(spin_system,L0,Lx,Ly,rho,rf_frq_list,... | |
| + | rf_amp_list,rf_dur_list,rf_phi,max_rank,method) | ||
| + | |||
| + | ==Arguments== | ||
L0 - drift Liouvillian that continues | L0 - drift Liouvillian that continues | ||
running in the background | running in the background | ||
| − | + | ||
Lx - X projection of the RF operator | Lx - X projection of the RF operator | ||
| − | + | ||
Ly - Y projection of the RF operator | Ly - Y projection of the RF operator | ||
| − | + | ||
| − | rho - initial | + | rho - initial state vector or a stack |
| − | + | thereof | |
| + | |||
rf_frq_list - a vector of RF frequencies at each | rf_frq_list - a vector of RF frequencies at each | ||
time slice, Hz | time slice, Hz | ||
| − | + | ||
rf_amp_list - a vector of RF amplitudes at each | rf_amp_list - a vector of RF amplitudes at each | ||
time slice, rad/s | time slice, rad/s | ||
| − | + | ||
rf_dur_list - a vector of time slice durations, | rf_dur_list - a vector of time slice durations, | ||
in seconds | in seconds | ||
| − | + | ||
| − | rf_phi - RF phase | + | rf_phi - RF phase of the first pulse slice |
| − | + | ||
max_rank - maximum rank of the Fokker-Planck | max_rank - maximum rank of the Fokker-Planck | ||
| − | theory | + | theory, increase until the answer |
| − | + | stops changing, 2 is a good start | |
| + | |||
method - propagation method, 'expv' for Krylov | method - propagation method, 'expv' for Krylov | ||
propagation, 'expm' for exponential | propagation, 'expm' for exponential | ||
| Line 35: | Line 39: | ||
evolution function | evolution function | ||
| − | ''' | + | ==Outputs== |
| + | |||
| + | rho - final state vector | ||
| + | |||
| + | P - effective pulse propagator, only | ||
| + | available for the 'expm' method | ||
| + | |||
| + | ==Examples== | ||
| + | An example of a chirped inversion pulse pulse applied to a system with 31 J-coupled protons (examples/nmr_liquids/shaped_pulse_3.m): | ||
| + | |||
| + | [[File:chirp_inversion.png]] | ||
| + | |||
| + | Note that only 100 time slices are required in the frequency-amplitude representation: considerably fewer than would be needed in the Cartesian representation used by [[shaped_pulse_xy.m]] function. | ||
| + | |||
| + | ==Notes== | ||
| + | Of the three propagation methods, 'expv' is recommended because it runs Krylov propagation that avoids explicit matrix exponentiation. The 'expm' option forces the rather inefficient sparse matrix exponentiation path and should only be used whenthe effective propagator is required. In very anomalous cases (long pulses, large state vector stacks, very large state spaces), the 'evolution' option might become necessary. | ||
| + | |||
| + | ==See also== | ||
| + | [[shaped_pulse_xy.m]], [[read_wave.m]], [[vg_pulse.m]], [[pulse_shape.m]], [[chirp_pulse_af.m]], [[chirp_pulse_xy.m]] | ||
| + | |||
| + | |||
| + | ''Version 2.2, authors: [[Ilya Kuprov]]'' | ||
Revision as of 15:23, 15 August 2018
Shaped pulse in amplitude-frequency coordinates using Fokker-Planck formalism (Eqn. 33 in http://dx.doi.org/10.1016/j.jmr.2016.07.005). The pulse is assumed to be piecewise-constant and should be supplied with sufficiently fine time discretization to properly reproduce the waveform.
Contents
Syntax
rho=shaped_pulse_af(spin_system,L0,Lx,Ly,rho,rf_frq_list,...
rf_amp_list,rf_dur_list,rf_phi,max_rank,method)
Arguments
L0 - drift Liouvillian that continues
running in the background
Lx - X projection of the RF operator
Ly - Y projection of the RF operator
rho - initial state vector or a stack
thereof
rf_frq_list - a vector of RF frequencies at each
time slice, Hz
rf_amp_list - a vector of RF amplitudes at each
time slice, rad/s
rf_dur_list - a vector of time slice durations,
in seconds
rf_phi - RF phase of the first pulse slice
max_rank - maximum rank of the Fokker-Planck
theory, increase until the answer
stops changing, 2 is a good start
method - propagation method, 'expv' for Krylov
propagation, 'expm' for exponential
propagation, 'evolution' for Spinach
evolution function
Outputs
rho - final state vector
P - effective pulse propagator, only
available for the 'expm' method
Examples
An example of a chirped inversion pulse pulse applied to a system with 31 J-coupled protons (examples/nmr_liquids/shaped_pulse_3.m):
Note that only 100 time slices are required in the frequency-amplitude representation: considerably fewer than would be needed in the Cartesian representation used by shaped_pulse_xy.m function.
Notes
Of the three propagation methods, 'expv' is recommended because it runs Krylov propagation that avoids explicit matrix exponentiation. The 'expm' option forces the rather inefficient sparse matrix exponentiation path and should only be used whenthe effective propagator is required. In very anomalous cases (long pulses, large state vector stacks, very large state spaces), the 'evolution' option might become necessary.
See also
shaped_pulse_xy.m, read_wave.m, vg_pulse.m, pulse_shape.m, chirp_pulse_af.m, chirp_pulse_xy.m
Version 2.2, authors: Ilya Kuprov
