Re: IDL is not accurate enough! [message #62177] |
Thu, 28 August 2008 13:50  |
Kenneth P. Bowman
Messages: 585 Registered: May 2000
|
Senior Member |
|
|
In article <MPG.232081d2b8625528989730@news.giganews.com>,
David Fanning <news@dfanning.com> wrote:
> noahh.schwartz@gmail.com writes:
>
>> I've been having problems with IDL accuracy. I'm trying to perform
>> calculations using the gamma function. The problem is that it grows
>> VERY fast! Performing this calculation in double (namely gamma(x)/
>> gamma(y) with x and y big) yields the result: NaN...
>> Would it be possible to use a program like 'Mathematica' (or any
>> other) and to plug it in my ILD program? Some kind of CALL_EXTERNAL
>> that is to say. If it is possible, how can I do it and what is the
>> best program to use?
>
> It seems *highly* unlikely to me that IDL's implementation
> of DOUBLE is any less accurate than any other program's
> implementation. In fact, this probably has something to
> do with the *computer* and not with the program. :-)
Mathematica can do arbitrary-precision arithmetic ... with hundreds of digits,
if necessary. Don't expect it to be fast, though, as it is all done
in software, not with the hardware floating-point unit with which we
normally do single- and double-precision arithmetic.
Ken
|
|
|
|
|
|
Re: IDL is not accurate enough! [message #62407 is a reply to message #62356] |
Mon, 08 September 2008 06:45   |
Haje Korth
Messages: 651 Registered: May 1997
|
Senior Member |
|
|
Ron,
that code sounds interesting. Can you provide me with a direct link to the
page. The new interface is completely unusable for me and search does not
give any results.
Thanks,
Haje
"rtk" <oneelkruns@hotmail.com> wrote in message
news:e32f4688-b58e-4f27-b2f9-17faea24285a@i24g2000prf.google groups.com...
> On Aug 28, 2:50 pm, "Kenneth P. Bowman" <k-bow...@null.edu> wrote:
>> Mathematica can do arbitrary-precision arithmetic ... with hundreds of
>> digits,
>> if necessary. Don't expect it to be fast, though, as it is all done
>> in software, not with the hardware floating-point unit with which we
>> normally do single- and double-precision arithmetic.
>
> Check on the IDL code contrib site sometime next week. I just
> uploaded DLMs that add arbitrary precision floating point as well as
> integer and rational types to IDL. These are wrappers on the MPFR and
> GMP libraries, respectively. Caveat emptor, but I'll answer emails.
> You will need to recompile if using something later than IDL 6.3.
> Examples included.
>
> Ron Kneusel
> rkneusel@ittvis.com
>
|
|
|
Re: IDL is not accurate enough! [message #62511 is a reply to message #62188] |
Thu, 11 September 2008 07:10  |
noahh.schwartz
Messages: 10 Registered: February 2008
|
Junior Member |
|
|
On 28 août, 18:42, FÖLDY Lajos <fo...@rmki.kfki.hu> wrote:
> On Thu, 28 Aug 2008, noahh.schwa...@gmail.com wrote:
>> Hi,
>
>> I've been having problems with IDL accuracy. I'm trying to perform
>> calculations using the gamma function. The problem is that it grows
>> VERY fast! Performing this calculation in double (namely gamma(x)/
>> gamma(y) with x and y big) yields the result: NaN...
>> Would it be possible to use a program like 'Mathematica' (or any
>> other) and to plug it in my ILD program? Some kind of CALL_EXTERNAL
>> that is to say. If it is possible, how can I do it and what is the
>> best program to use?
>
>> Thanks,
>> Noah
>
> gamma(x)/gamma(y) => exp(lngamma(x)-lngamma(y))
>
> regards,
> lajos
lngamma works fine for my propose! Would you know if an equivalent
function exists for the beselk function? Something like lnbeselk?
beselk(x) for x>709 doesn't seen to work.
If not, I guess that I'll have to wait for the DLMs that add arbitrary
precision floating point...
cheers,
Noah
|
|
|