Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Math Programming Language

  1. Sep 23, 2010 #1
    I've been looking for a free download of a programming language that is easy to use and handles large numbers for a number theory problem I'm working on. I will report my results here after I use it. My TI isn't powerful enough and my other programmable calculator that I downloaded, graphcalc, doesn't do matrices. I'm guessing I need something that handles 30 digit integers, but the more the better. And of course it needs to handle matrices. Any suggestions? Thank you.
     
  2. jcsd
  3. Sep 23, 2010 #2
  4. Sep 23, 2010 #3

    CRGreathouse

    User Avatar
    Science Advisor
    Homework Helper

    Pari is excellent, and much better than Octave for number theory.
    http://pari.math.u-bordeaux.fr/
     
  5. Sep 23, 2010 #4
    You can handle 30 digit integers natively in 64-bit gcc. No other programming language will even come close in terms of speed.
     
  6. Sep 27, 2010 #5
    Thanks for the input and the links. I'll try these out.
     
  7. Sep 27, 2010 #6

    CRGreathouse

    User Avatar
    Science Advisor
    Homework Helper

    How? That would be useful. For example, that would let me compute multiplies mod a number <= 316227766016837 natively. (I'd otherwise be limited to 4294967296, which is less useful.)
     
    Last edited: Sep 27, 2010
  8. Sep 27, 2010 #7
    You use the native type __int128_t.
     
  9. Sep 27, 2010 #8
    Any language with "Big Integers" (arbitrary precision) integers should work (computational speed not being a factor). Java has a pretty basic implementation. Haskell has one as well, and is a bit faster and is often better for mathematical problems.
     
  10. Sep 27, 2010 #9

    CRGreathouse

    User Avatar
    Science Advisor
    Homework Helper

    Nice, I'll have to play with that.
     
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook