Article View: sci.physics
Article #8396Thanks for help with ln(y) ...
From: Davyd Norris
Date: Fri, 15 Sep 1989 05:17
Date: Fri, 15 Sep 1989 05:17
56 lines
3660 bytes
3660 bytes
To all and sundry out there who replied to my request,
Thanks a bundle for all your help, the response was overwhelming!!!!
I had better let you all know what I am trying to do with this algorithm.
I am analysing a neutron Time-of-flight spectrum (TOF) using the Maximum
Entropy Principle to deconvolute spin-flip and non-spin-flip scattering
cross-sections from measured counts. The data is taken by impressing a
pseudo-random sequence upon the polarisation of the neutrons, and then
analysing the scattered neutrons with an MCA. I end up with something like
the following, (don't quote me here - I'm still fighting my supervisor over
the form)
y(k) = {sigma j} ( R(k,j)( f(j) - g(j) ) + Q(k,j)( g(j) - f(j) ) + e(k)
where R, Q are convolution matrices formed from the pseudo-random sequences, and
f, g are the SF and NSF cross-sections ( e(k) is error with normal distribution
)
The technique consists of maximising the entropy of the system (or information)
WRT the measured values and also the chi-square of the errors.
This becomes a 1000 x 1000 quasi-linear system with (f|g) as the eigenvectors.
Memory is tight in the PC but I am loath to transfer all my C to the Vax as I
have a lot of graphics code that would be a bit messy to port. So I am using
a custom designed virtual memory driver to store the big matrices (NB. the
system is symmetric and block-diagonal, and has been reduced as much as poss.)
, and am solving the system by SOR with my relaxation parameter calculated by
estimating the spectral radius of the system.
Because of the entropy calculations, I end up with
ln( f.2.mu.B(j,j) ) + f.2.mu.B(j,j) = .....(calculated const.)
By changing variables I solve for f.
The const. changes as f and g change and has a range over all allowed values of
the function.
I am currently using the WEW algorithm, which I have seen before but don't
understand as I just have the code and not the reasoning. It's fast, but I
want to rewrite it in assembler to use the 80287 more.
I hope that's enough info for all those who asked. Thanks again for your
answers, they were most encouraging.
Daffy.
PS. All those who suggested a table, Perhaps now you see why I hadn't used that
one before! Also Newton-Raphson was a strong contender, but I'll stick to WEW.
-------------------------------------------------------------------------------
Davyd Norris : "... We use this to do our hard physics sums."
Physics Dept. : "Oh, Albert just used to use the back of an
Monash University, : envelope." - Mrs. Einstein at the opening
Vic, Australia. : of the Smithsonian Computer Institute.
-------------------------------------------------------------------------------
Technical Details
Message-ID:
<7851@vaxc.cc.monash.edu.au>Path:
arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!lll-winken!ames!uhccux!munnari.oz.au!bruce!monu1!vaxc!phs424lShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109d8a,4b6bd431b650183d,start X-Google-Attributes: gid109d8a,public X-Google-Thread: 107079,4b6bd431b650183d,start X-Google-Attributes: gid107079,public X-Google-Thread: 10b271,4b6bd431b650183d,start X-Google-Attributes: gid10b271,public X-Google-Thread: f8ff0,4b6bd431b650183d,start X-Google-Attributes: gidf8ff0,public X-Google-ArrivalTime: 1989-09-15 16:15:41 PST Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!lll-winken!ames!uhccux!munnari.oz.au!bruce!monu1!vaxc!phs424l From: daffy@physics.monash.edu.au (Davyd Norris) Newsgroups: sci.physics,sci.math,sci.math.num-analysis,aus.wanted Subject: Thanks for help with ln(y) ... Message-ID: <7851@vaxc.cc.monash.edu.au> Date: 15 Sep 89 05:17:34 GMT Sender: phs424l@vaxc.cc.monash.edu.au (Daffy) Organization: Monash University - Australia. Lines: 56 Posted: Fri Sep 15 06:17:34 1989