dirdiff.m

From Spinach Documentation Wiki
Jump to: navigation, search

Directional derivatives of the matrix exponential. Implements Equation 11 of Najfeld and Havel (https://doi.org/10.1006/aama.1995.1017) and Equation 16 of Goodwin and Kuprov (http://dx.doi.org/10.1063/1.4928978)

Syntax

    D=dirdiff(spin_system,A,B,T,N)

Parameters

    A - Hamiltonian at the reference point, corresponding
        to exp(-1i*A*T) propagator

    B - differentiation direction (if a matrix) or direc-
        tions (if a cell array of matrices)

    T - the time to use in exp(-1i*A*T)

    N - block dimension of the auxiliary matrix, use N=2
        to get the propagator and its first derivative

Outputs

    D - a cell array of matrices {D0,D1,D2,...} of Eq 18
        in Goodwin and Kuprov

Notes

This function is used by GRAPE functions to compute propagator derivatives and by intrep.m to perform numeical rotating frame transformations. The auxiliary matrix method used here is massively faster than either commutator series or diagonalisation.

See also

trapdiff.m, expmint.m, rotframe.m, intrep.m, grape_liouv.m, grape_hilb.m, acomm.m, alpha_conds.m, arnoldi.m, atranspose.m, aux_mat.m, bfgs.m, binpack.m, cheap_norm.m, cheb_coeff.m, clean_up.m, cubic_interp.m, drifts.m, eigenfields.m, ensemble.m, expdrop.m, expmint2.m, fftdiff.m, fourdif.m, fourlap.m, frob_chop.m, gaussfun.m, hdot.m, herm_spline.m, hess_reorder.m, jacobianest.m, keep_rank.m, krondelta.m, kronm_new.m, logfactorial.m, lorentzcon.m, lorentzfun.m, md5_hash.m, mprealloc.m, objeval.m, optimcon.m, remncomm.m, remtrace.m, rspert.m, rspt_eig.m, snormpdf.m, svd_shrink.m, tikhoind.m, tikhonov.m, unit_oper.m, unit_state.m, vvpert.m, Kernel_utilities, Optimal control module

Version 2.7, authors: Ilya Kuprov, David Goodwin