Computer Algebra System: Physics Self-Study Suggestions

AI Thread Summary
The discussion centers on selecting a Computer Algebra System (CAS) for self-study in physics, with suggestions including FreeMat, Octave, Julia, and the Anaconda distribution of Python featuring libraries like NumPy and SciPy. Mathematica is recommended for its capabilities in symbolic math, while SageMath is noted as a free alternative, although installation issues are mentioned. Users express concerns about Julia's stability and backward compatibility, particularly for beginners. The conversation emphasizes that while CAS tools can aid in calculations, they should complement, not replace, fundamental physics problem-solving skills. Ultimately, mastering physics concepts through practice remains crucial, with CAS serving as a supportive tool.
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 scottdave
I like Mathematica for paid CAS and SageMath for free.
 
  • Like
Likes jedishrfu
Thank you for your responses. How good is the CAS included in my TI-89 Titanium calculator?
 
I have never used it, but I can’t imagine that it could be very good given the hardware limitations.
 
Thanks all of you for your answers. Dale, do you know how can I learn to use FreeMat?
 
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.
 
  • #10
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?
 
  • #11
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.
 
  • #12
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?
 
  • #13
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 jedishrfu
  • #14
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.
 
  • #16
Try typing help and the function you want help on in the commands panel.

If not then one of the manuals above may help.
 
  • #17
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.
 
  • #18
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 CalcNerd and jedishrfu
  • #19
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?
 
  • #20
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.
 
  • #21
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.
 
  • #22
Ok, so do you suggest to first focus on the physics and then try CAS later on?
 
  • #23
Fernando Rios said:
Ok, so do you suggest to first focus on the physics and then try CAS later on?
yes
 
  • Like
Likes CalcNerd
  • #24
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.
 
  • #25
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.
 
  • #26
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
 
Back
Top