I need to solve an ODE with very high precision. I am not sure yet how much precision I need so I have some question before changing the settings.

From what I understand, the working precision is how many digits the machine uses for calculation. Is this decimal digits? Can I specify binary digits? Will I gain anything by specifying binary digits?

What is the difference between AccuracyGoal and PrecisionGoal? Their description is the same. Assuming that I want 50 correct digits, which one should I set and what working precision should I choose? Is there a rule of thumb I should follow?

How certain can I be about the precision of the result? Is there any way to keep track of the error?

Can I compile with arbitrary precision? If yes, what type do I declare? Is there any other trick that I can use to speed things up?

  • 2
    $\begingroup$ What I can say is that compile with arbitrary precision does not work; Compile supports only machine precision reals (a.k.a. doubles). 50 correct digits? I doubt that you will find a numerical scheme that can get you 50 precise digits for a nontrivial ODE. Actually, without knowing the ODE, it is hard so say anything. $\endgroup$ – Henrik Schumacher Mar 5 '18 at 22:55
  • 1
    $\begingroup$ @VsevolodA. 50 digits. Must be related to string theory ;) $\endgroup$ – Henrik Schumacher Mar 5 '18 at 23:18
  • 1
    $\begingroup$ @HenrikSchumacher just imagine someone looking at the first 45 digits with straight face and on the last five going "HERE IT IS I KNEW IT" $\endgroup$ – Vsevolod A. Mar 5 '18 at 23:19
  • 1
    $\begingroup$ @tst Just to give you a glimpse at the relations: The ratio between the diameter of the observable universe and the diameter of a hydrogen atom is about 1.375*10^37... $\endgroup$ – Henrik Schumacher Mar 5 '18 at 23:31
  • 1
    $\begingroup$ If you read the "Details" sections, you find statements like "With AccuracyGoal->a and PrecisionGoal->p, the Wolfram Language attempts to make the numerical error in a result of size x be less than (10^-a) + x 10^-p", which shows a difference between them. Also related: mathematica.stackexchange.com/a/139311 and this search. $\endgroup$ – Michael E2 Mar 6 '18 at 2:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.