Mathematica High precision calculation in Mathematica

Click For Summary
The discussion centers on calculating the velocity of 10^20 eV cosmic rays in Mathematica, where users encounter precision issues resulting in velocities reported as exactly 1*c. Despite attempts to use SetAccuracy and SetPrecision, the results remain insufficiently precise. A solution was found by applying SetPrecision to all numerical values involved in the calculation. The conversation also clarifies that these cosmic rays are ultra-high energy protons, not photons, and suggests using relativistic expansions for more efficient calculations. The recommended approach involves using the gamma factor and approximations to achieve the necessary accuracy without compromising numerical efficiency.
brian0918
Messages
44
Reaction score
0
I'm trying to calculate the velocity of 10^20 eV cosmic rays, but the precision in Mathematica and Google is not high enough: both give velocities of exactly 1*c.

I've tried putting SetAccuracy[...,1000] around all the constants and the final result, and it still doesn't work. It now gives 1.0000000000000...000*c


I know Mathematica can do this, so what is the proper command?


Thanks.
 
Physics news on Phys.org
Why don't you try subtracting c from the answer to find what Mathematica thinks the difference is?
 
Well, I've tried N, SetAccuracy, and SetPrecision. For a precision of 1000 decimals, I subtracted c (which also has a precision of 1000 decimals) and it got zero out to all the digits.

I'm pretty sure I'm just not using the correct command, since I've had this problem before and figured out what to do.
 
Nevermind, I figured it out. You have to use SetPrecision on basically every number.


Oh, and for the record, 10^20 eV corresponds to 0.99999999999999999999995598228313196044005099389886244069748671131566319262949728462461319064015929690c
 
hmm, aren't those rays photons? aren't they supposed to move at the speed of light? or are they propagating through some medium or otherwise interacting in a way that would slow them down?
 
No, they're ultra-high energy cosmic rays (most likely protons). I'm using the relativistic kinetic energy equation to get the velocity:
 

Attachments

  • keneticenergy.jpg
    keneticenergy.jpg
    2.4 KB · Views: 572
Last edited:
I wonder if this necessary high precision is going to slow down numerical analysis, since everything will have to be out to ~30 decimals.
 
It's not numerically efficient to deal directly with v/c when energy is very high. You should get into the habit of using the relevant expansions. So for example,
\gamma={1\over\sqrt{1-\beta^2}}
where \gamma=\mbox{Energy}/(mc^2), and \beta=v/c. Then
\beta=\sqrt{1-1/\gamma^2}\approx 1-{1\over 2\gamma^2}
This gives you easily sufficient accuracy, and is very fast.
 
Last edited:

Similar threads

  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 13 ·
Replies
13
Views
3K
Replies
1
Views
1K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 0 ·
Replies
0
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K
Replies
7
Views
4K
Replies
6
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K