Re:A new release for GNU Octave
by abdullahkhalids on Sunday January 03, 2021 @07:51AM
(#25621470)
If people have to reduce to this hack, why doesn't the language just declare every character string a symbolic variable by default, like Mathematica?
[ Parent
| on HN ]
Because the vast majority of Python programs aren't doing symbolic maths with Sympy. It's not a hack, and it's pretty trivial. I type "a," and press up, and run the line from my command history with all the letters in it. Sympy also has a submodule named abc you can import variables from, but I like defining them as real number variables so I don't get complex answers when they don't make sense.
Sympy is just a Python library, and one of the types it defines is symbolic maths variables, so you define Python variables just like with any other library, and then use them.
> Because the vast majority of Python programs aren't doing symbolic maths with Sympy.
And this, my friends, is why mathematicians will never feel at home using Python+libraries. Instead of having a programming environment ideally suited to the needs of math, you need to fit your math to the Procrustean bed of Python syntax.
Re:A new release for GNU Octave
by abdullahkhalids on Sunday January 03, 2021 @11:13AM
(#25622583)
That is what I wanted to say. The Python scientific ecosystem seems like it is written by programmers for scientists, while Matlab/Mathematica seem like they are written by scientists for scientists.
Eh, it's fine even despite your hyperbole. Applied mathematicians such as myself often use python without complaint. Setting up sympy takes no effort. Plus, #python on freenode.
Re:A new release for GNU Octave
by williamstein on Sunday January 03, 2021 @08:45AM
(#25621709)
SageMath solves these problems.
Re:A new release for GNU Octave
by abdullahkhalids on Sunday January 03, 2021 @11:08AM
(#25622549)
It does not. I tried to replicate some symbolic computation code I wrote during my PhD in Mathematica in SageMath, and I just failed to get anywhere despite weeks of trying. I don't think I don't understand SageMath enough.