Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re^6: Help me make a test case for Math::BigFloat

by spiritway (Vicar)
on Mar 07, 2006 at 07:09 UTC ( #534846=note: print w/replies, xml ) Need Help??


in reply to Re^5: Help me make a test case for Math::BigFloat
in thread Help me make a test case for Math::BigFloat

AFAIK, there's no exp function for bigrat or Math::BigRat. It's a deficiency I'd like to fix, but I've never been able to work out an algorithm for calculating exp for rationals. There are certain series, of course, but they are unacceptably slow for practical use.

Replies are listed 'Best First'.
Re^7: Help me make a test case for Math::BigFloat
by fizbin (Chaplain) on Mar 07, 2006 at 13:31 UTC
    I've never been able to work out an algorithm for calculating exp for rationals.
    That's probably because exp(r) is irrational for every rational r except for 0. However, saying use bigrat sprinkles some magic crazy dust over the whole program in a way similar to use bignum; witness:
    use bigrat; use strict; my $lnev = - 7 / (10 ** 17); print "lnev is $lnev\n"; my $ev = exp($lnev); print "ev is $ev\n"; print "1-ev is ", 1-$ev, "\n";
    Again, both values are 1.
    --
    @/=map{[/./g]}qw/.h_nJ Xapou cets krht ele_ r_ra/; map{y/X_/\n /;print}map{pop@$_}@/for@/
      That's probably because exp(r) is irrational for every rational r except for 0.

      Not quite; what I'd be looking for, of course, would be an algorithm that would *approximate* exp. Basically, any numeric representation in a computer is going to be a sort of "rational", in that it uses a finite number of bytes, bits, digits, or whatever to represent any number.

      The problem isn't that approximation algorithms don't exist; it's that I haven't been able to find one that converges rapidly. I know they're out there - I just haven't had the time to dig around and find them.

      There is certainly something wrong with bigrat or its friends. I'm not sure who's maintaining the modules any more - it used to be Tels.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://534846]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (2)
As of 2022-09-27 20:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    I prefer my indexes to start at:




    Results (124 votes). Check out past polls.

    Notices?