[Ifeffit] LCF, Sayers & Bunker, R and ATHENA

Florian Werner florian.werner at wzw.tum.de
Thu Nov 12 11:06:44 CST 2015


Dear mailing list,

we recently published a paper where we broke with the "Sayers & Bunker
1988 - Paradigm" to apply normalization as consistently as possible
between samples and standards when performing linear combination
fitting: http://pubs.acs.org/doi/abs/10.1021/acs.est.5b03096. There, we
showed that for known mixtures of phosphorus standards the LCF of P
K-edge XANES spectra delivers better results when changing the base-line
and normalization parameters of the sample (in defined ranges, using the
software /R/).

I'm writing to the mailing list of several reasons:
1) A reviewer explicitly asked to contact Bruce Ravel so that the new
insight could be implemented in ATHENA,
2) I was trying to combine my code with ATHENAs way of LCF before
publishing the code. Unfortunately, I have not been able to resolve that
a combination of both approaches results in large numbers of LCF
procedures (sometimes Million or Billion). So many procedures are not
fittable in reasonable time, maybe because my code is slow or maybe
because /R/ isn't fast enough (or just the nlsLM-function that I'm using
for LCF). I'm stuck and maybe programming in Perl would be a better
choice (never programmed in Perl, yet)? Maybe a different kind of
fitting algorithm would be faster?,
3) When using the nlsLM-function to perform LCF in /R/, I also have to
provide portions of the standards before starting the fit. I used the
same approach as ATHENA, dividing 1 by the number of standards so that
every standard has the same portion. However, when playing with the code
I realized that changing the starting portion can have an impact on the
fitting result. Has this been observed or tested before by anyone else?
How do you, in general, justify using the same starting portion for
every standard?
4) Some minor question about LCF in ATHENA:
        a) Could the standards (the columns) in the output .csv-file
after LCF be sorted alphabetically?,
        b) Does LCF in ATHENA sometimes produce negative numbers of a
portion because the weight of any "last" standard in a set is always
calculated by "1-sum(portions_of_other_standards)" (could it be this?
https://github.com/bruceravel/demeter/blob/master/lib/Demeter/LCF.pm#L375-L378).
To mimic "all samples sum to one" from ATHENA and to not produce
negative portions, we used all LCF results which have a residual
"absolute(1-sum(portions_of_all_standards)) < 0.0005"; maybe this is of
interest also for ATHENA?

Cheers,
Florian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://millenia.cars.aps.anl.gov/pipermail/ifeffit/attachments/20151112/2c98ddd6/attachment.html>


More information about the Ifeffit mailing list