eigenfields.m

From Spinach Documentation Wiki
Revision as of 15:22, 5 June 2026 by Kuprov (talk | contribs) (Update function page arguments and outputs from current Spinach source)
Jump to: navigation, search

Computes resonance fields. For a Hamiltonian Hc+b*Hz, returns all magnetic fields b for which the difference between two eigenvalues of Hc+b*Hz is equal to the frequency provided, and the transition moment across the specified operator Hmw is significant.

Syntax

    tran=eigenfields(spin_system,parameters,Hz,Hc,Hmw)

Arguments

Hz - field-dependent part of the laboratory-frame Hamiltonian operator

     in Hilbert space, or commutation superoperator in Liouville space,
     normalised to 1 Tesla

Hc - field-independent part of the laboratory-frame Hamiltonian operator

     in Hilbert space, or commutation superoperator in Liouville space,
     containing couplings and offsets

Hmw - observable operator in Hilbert space, or observable vector in

     Liouville space, without the amplitude prefactor

parameters.window - magnetic-field window, Tesla

parameters.mw_freq - microwave frequency, Hz

parameters.orientation - three Euler angles in radians specifying the

                        system orientation

parameters.tm_tol - relative transition moment tolerance

parameters.pp_tol - peak position tolerance in Tesla; this should

                        be much smaller than the typical line width

parameters.fwhm - transition full width at half maximum, Tesla

Outputs

tran.tf - vector of transition fields in Tesla

tran.tm - vector of transition moments

tran.tw - vector of transition FWHMs in Tesla

tran.pd - vector of energy level population differences

tran.ti - transition identity array, one row per transition

tran.tj - vector of scaled field-sweep Jacobians

Notes

In Hilbert space, the very efficient Schweiger-Stoll method is used. In Liouville space, the very general but rather slow generalised eigensolver supplied with Matlab is used.

See also

fieldsweep.m

Version 2.6, authors: Ilya Kuprov