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?
Compilesupports 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. – Henrik Schumacher Mar 05 '18 at 22:551.375*10^37... – Henrik Schumacher Mar 05 '18 at 23:31AccuracyGoal->aandPrecisionGoal->p, the Wolfram Language attempts to make the numerical error in a result of sizexbe less than(10^-a) + x 10^-p", which shows a difference between them. Also related: https://mathematica.stackexchange.com/a/139311 and this search. – Michael E2 Mar 06 '18 at 02:36