Computer Algebra System: Physics Self-Study Suggestions

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
26 replies · 5K views
Fernando Rios
Messages
96
Reaction score
10
I am stuying physics by myself and I would like to get a Computer Algebra System. Does anybody has any suggestions?
 
Physics news on Phys.org
How about Freemat or Octave or Julia. These can do vector and matrix operations quite well and all are free, free free free.

How about the anaconda distribution of python with numpy scipy sympy matplotlib and pandas great for numerical work like machine learning.

Mathematica can do symbolic math and so can python with sympy. I am not sure about how well julia works with symbolic math though.
 
  • Like
Likes   Reactions: scottdave
Thank you for your responses. How good is the CAS included in my TI-89 Titanium calculator?
 
Thanks all of you for your answers. Dale, do you know how can I learn to use FreeMat?
 
Dale said:
I think you probably meant to ask @jedishrfu instead of me. I have never used it. I generally just read the documentation for other software.
Dale, you are right. I actually tried to install SageMath into my computer, but my computer prevented me from doing it. So then I tried to install FreeMat. Do you know why my computer doesn't let me install SageMath?
 
No, I don’t. I was able to install it on my home computer but not my work computer. I assumed that it was due to some security configuration on my work computer. My IT people are a little overbearing.
 
Dale said:
No, I don’t. I was able to install it on my home computer but not my work computer. I assumed that it was due to some security configuration on my work computer. My IT people are a little overbearing.
Do you suggest me to learn Mathematica in order to learn more advanced physics?
 
If you can buy it, then it is an awesome tool. I have used it since 1996, and it greatly aided my physics learning.
 
  • Like
Likes   Reactions: jedishrfu
jedishrfu said:
How about Freemat or Octave or Julia. These can do vector and matrix operations quite well and all are free, free free free.

How about the anaconda distribution of python with numpy scipy sympy matplotlib and pandas great for numerical work like machine learning.

Mathematica can do symbolic math and so can python with sympy. I am not sure about how well julia works with symbolic math though.
Do you have any idea of how to learn FreeMat? When I click on "Online Manual", the program closes.
 
Fernando Rios said:
Do you have any idea of how to learn FreeMat? When I click on "Online Manual", the program closes.

As @Dale said it may be some internet configuration. Perhaps your os is protecting you from whatever site or file that freemat is trying to access.
 
Fernando Rios said:
Do you suggest me to learn Mathematica in order to learn more advanced physics?

Mathematica won't teach you advanced physics, it is a tool to do calculations.
 
  • Like
Likes   Reactions: CalcNerd and jedishrfu
Dr Transport said:
Mathematica won't teach you advanced physics, it is a tool to do calculations.
Ok, I understand that. Do physics majors learn it to perform physics calculations?
 
Fernando Rios said:
I am stuying physics by myself and I would like to get a Computer Algebra System. Does anybody has any suggestions?

You can try Maxima, if you want to try a free one.
jedishrfu said:
How about Freemat or Octave or Julia.

These aren't computer algebra systems.

Julia is also relatively new and I have doubts about its stability. I've used it and I've had issues with e.g. code I wrote a few years ago no longer working because the version got upgraded in the intervening years and they changed things in a way that broke backward compatibility. I had similar problems a few years ago because the versions of Julia I had installed on my home and work computers at the time were different. I like what Julia is trying to do but this is the main reason I don't recommend it, especially for beginners, at least for now. Julia passed version 1.0 recently though so maybe this will change in the future.
 
Fernando Rios said:
Ok, I understand that. Do physics majors learn it to perform physics calculations?
They do, but it is a steep learning curve. I do not know it and I am a fairly successful theoretical physicist. I'm not an advocate of using computer algebra systems as an undergraduutel because I am an advocate of repetition is the best learning tool, unless it is directly needed for a specific class.
 
Ok, so do you suggest to first focus on the physics and then try CAS later on?
 
wle said:
You can try Maxima, if you want to try a free one.

These aren't computer algebra systems.

Julia is also relatively new and I have doubts about its stability. I've used it and I've had issues with e.g. code I wrote a few years ago no longer working because the version got upgraded in the intervening years and they changed things in a way that broke backward compatibility. I had similar problems a few years ago because the versions of Julia I had installed on my home and work computers at the time were different. I like what Julia is trying to do but this is the main reason I don't recommend it, especially for beginners, at least for now. Julia passed version 1.0 recently though so maybe this will change in the future.

To be fair though that was when Julia was in prerelease mode ie before v1.0 and they said things would change as it evolves. Scalia was always the more problematic one as things would change between point releases causing to tighten up their code some more.
 
You’re looking at it all wrong. You learn physics by doing physics problems. The Cas system is completely optional but if you have it you can get your results faster if you know how to use the CAS system effectively. CAS is more like lab equipment that something that will magically teach you physics that you don’t already know.
 
Dr Transport said:
They do, but it is a steep learning curve. I do not know it and I am a fairly successful theoretical physicist. I'm not an advocate of using computer algebra systems as an undergraduutel because I am an advocate of repetition is the best learning tool, unless it is directly needed for a specific class.
I disagree with both of these. The learning curve is not that steep, particularly not for Mathematica which has been developed with a very consistent interface. SageMath is a bit of a hodgepodge so it does have a steeper learning curve.

I also disagree that the premise that “repetition is the best learning tool” implies that you should avoid CAS tools in learning physics. In physics, most of the actual physics is in setting up the problem. A CAS system does not automate that. The actual solution of the problem is less physics and more math. A CAS system allows you to automate that part and focus more on understanding the physics in setting up the problem right. Not only could you do more repetition of the physics with CAS, but you could also do more challenging problems