Model and experiment fitting.
Sebastian Żurek
sebzur at pin.if.uz.zgora.pl
Sat Oct 21 08:41:45 CDT 2006
Robert Kern napisał(a):
> Your description is a bit vague.
Possibly by my weak English... I'll try to make myself clearer now.
Do you mean that you have some model function f
> that maps X values to Y values?
>
> f(x) -> y
>
My model is quantum energy operator - spin hamiltonian (SH) with some
additional assumption about so called 'line shape', 'line widths',etc.
It describes various electron interactions, visible in electron
paramagnetic resonance (EPR, ESR) experiment. The simplest SH can
be written in a form:
H = m B g S (1)
where m is a constant (bohr magneton), B is magnetic field (my
x-variable), g is so called 'zeeman matrix' and S is total spin angular
momentum operator.
Summing it all together: the simple model is parametrized by:
- line shape,
- line width,
- zeeman matrix (3x3 diagonal matrix - the spatial dependence),
- total spin S.
After SH (1) diagonalization one can obtain so called 'resonance fields'
and 'resonance intensities'. After a convolution with appropriate line
shape function which is parametrized by the line width one can finally
get the simulated EPR spectrum (simDat=[[X1,...,Xn],[Y1,...,Yn]]).
This is a roughly, schematic description, appropriate to EPR spectra of
monocrystals.
In my situation the problem is more sophisticated - I have
polycrystaline (powders) data, and to obtain a simulated EPR powder
spectrum I need to sum up the EPR spectra of monocrystals that come from
many possible spatial orientations, and the resultant spectrum is an
envelope of all the monocrystals spectra.
There's no simple model function that maps X -> Y.
> If that is the case, is there some reason that you cannot run your simulation
> using the same X points as your experimental data?
>
I can only demand a X range and number of X values within the range,
there's no possibility to find the Y(X) for a specified X. These
limitations on one hand come from the external program I'm using to
simulate the EPR spectra, on the other are a result of spatial averaging
of EPR data for powders, where a lot of interpolations are involved.
> OTOH, is there some other independent variable (say Z) that *is* common between
> your experimental and simulated data?
>
> f(z) -> (x, y)
>
This is probably the situation I'm in. These other variables are my
model parameters, namely: line shape-width, zeeman matrix... and they're
commen between the experiment and the simulation.
To make it clear.
I've already solved the problem by a simple linear interpolation of
simulated points within the narrow neighborhood of experimental data
point. The simulation points are uniformly distributed along the
X-range, with a density I'm able to tune. It all works quite well but
I'm founding it as a 'brute-force' method and I wonder, if there's any
more sophisticated and maybe already incorporated into any Python module
method?
Anyway, it looks like it's impossible to compare two discrete 2D data
sets without any interpolations included... :]
A. M. Archibald has proposed spline fitting, which I'll try. I'll also
look at the Numerical Recipes discussion he has proposed.
Sebastian
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion
More information about the Numpy-discussion
mailing list