Help me choose an arbitrary precision program

  • Thread starter Thread starter CRGreathouse
  • Start date Start date
  • Tags Tags
    Precision Program
Click For Summary
SUMMARY

The discussion centers on the need for an arbitrary precision program that implements subquadratic trigonometric functions, specifically the tangent function. The user reports that Pari's tangent routine operates at \mathcal{O}(n^2) or \mathcal{O}(n^2\log n), resulting in impractical computation times for high precision, with 10,000 digits taking half a second and 100,000 digits over a minute. Alternatives like Maxima were found unsuitable due to similar inefficiencies. The user seeks recommendations for tools such as Mathematica or libraries that can handle these calculations more efficiently.

PREREQUISITES
  • Understanding of arbitrary precision arithmetic
  • Familiarity with trigonometric functions and their computational complexities
  • Basic programming skills for implementing algorithms
  • Knowledge of mathematical software tools like Mathematica, Pari, and Maxima
NEXT STEPS
  • Research the performance of Mathematica's tangent function for arbitrary precision
  • Explore the capabilities of the MPFR library for high precision calculations
  • Investigate the implementation of subquadratic algorithms in mathematical software
  • Test the performance of Math'ca for arbitrary precision trigonometric functions
USEFUL FOR

Mathematicians, software developers, and researchers working with high precision calculations in trigonometry, particularly those seeking efficient algorithms for arbitrary precision arithmetic.

CRGreathouse
Science Advisor
Homework Helper
Messages
2,832
Reaction score
0
This is a crosspost from General Math; I wasn't sure what place was more appropriate.

I'm looking for a tool to solve a problem I've been working on. In particular, I want something that implements subquadratic trig functions -- in my case I'm looking for the tangent. I've been using Pari, but its tangent routine seems to be [itex]\mathcal{O}(n^2)[/itex] or [itex]\mathcal{O}(n^2\log n)[/itex] based on timing, and for high precision this simply takes too long. 10,000 digits in Pari takes half a second, but 100,000 takes more than a minute, and ten million takes over a week, which isn't feasible.

Any suggestions? Can anyone test their preferred platform (Math'ca, Maple, etc.) to see how long these take? I was testing tan(1) if you want comparability. I tested Maxima, but it seemed to be inappropriate for the task: it uses an [itex]\mathcal{O}(n^2\log n)\textrm{-ish}[/itex] algorithm, and took at least 30 times longer than Pari.

I could use a stand-alone system like Mathematica or a library, whatever I can find. I will need programming ability (too many problems to type by hand), but that shouldn't be hard to find.
 

Similar threads

  • · Replies 5 ·
Replies
5
Views
3K
Replies
6
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 65 ·
3
Replies
65
Views
9K
  • · Replies 10 ·
Replies
10
Views
2K
Replies
26
Views
5K
  • · Replies 21 ·
Replies
21
Views
9K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 175 ·
6
Replies
175
Views
28K