3 ms·
In principle, the Python scientific ecosystem allows you to do everything, but the notation is atrocious and not in line at all with how Mathematics is written
by abdullahkhalids 5y ago
In principle, the Python scientific ecosystem allows you to do everything, but the notation is atrocious and not in line at all with how Mathematics is written on paper. So, people familiar with mathematics can bear the pain, but it's terrible for actually teaching mathematics.
For instance in SageMath, to get the eigenvalues of a matrix M, you have to do A.eigenvalues(). What is that supposed to mean? To a programmer, that means A is an object (in the sense of OOP), and you are calling an internal method on it.
But that's not how you think about mathematics. Mathematics is functional. A mathematician knows that eigenvalues(A) means, to choose an appropriate eigenvalue-finding algorithm and apply it to the matrix A.
The mathematics program should conform to how one should think about mathematics, rather than forcing mathematics students to think like programmers. Mathematica does that.
- salamandersauce 5y agoThere's open source functional options too. The handful of times I've needed a CAS for something I've used Maxima, it's not quite as full featured as Mathematica or Maple but it costs $0 and is open source. There doing "eigenvalues(A)" will do exactly as you describe. You can even get nice front ends that will pretty print the equations in LaTeX.