Preferred numerical math software

Preferred numerical math software

  • Octave

    Votes: 2 14.3%
  • R

    Votes: 3 21.4%
  • Sage

    Votes: 0 0.0%
  • Other

    Votes: 3 21.4%
  • Scipy

    Votes: 3 21.4%
  • Numpy

    Votes: 2 14.3%
  • Pspp

    Votes: 1 7.1%

  • Total voters
    14
I think, the best is a programming language like FORTRAN, with ready libraries when necessary,
and as libraries may be considered your interpreted languages above. How many of these interpreters
are easily extensible with a compiled programming language?

BTW, there other languages being used: Julia, J, S-Lang:




For number theory look at this:

 
It was just a general question from me to stay "current". In my good old time it was "matlab with toolboxes".
But I see currently python is more popular for statistics,symbolic&numerical math. It has some advantages as you don't need to learn a "domain specific language".

PS: There exist a language called "lang/yorick"
 
In my university days, I have used Matlab for numerical optimization. Afterwards, I have been mostly using R for statistical analysis, model estimation, visualization, etc. More recently, I have been using python too, typically when data handling is involved. As the poll allows only one choice, I voted for R.
 
Scipy and Numpy are closely related, and fundamentally just libraries that one uses in Python. One should add MatPlotLib a.k.a. PyPlot to the mix too, and Jupyter notebooks, and call that "Python with accessories".
 
After reading most of:


And experimenting with the interpreter, I have now an opinion on R.
It still may change.

It is nice for experimenting, for making calculations in the command line.
It has a lot of functions and build in data ready to play with. It has good
documentation that may be consulted with a command. The programming language
is not a scripting language more, it looks very interesting. But I suspect,
R is less for programming, more for interactive use. There are bindings to
other programming languages, but I did not tried them jet.
 
From the perspective of an end user thinking in tools rather than in software packages, the poll doesn't have two very used ones: (pocket like) calculator(s) and spreadsheets.

To me, the most frequently used numerical programs are (mostly needed for Electrical Engineering):

1. Pocket-like calculators, either physical (e.g. Casio fx-991ES), or some similar programs
2. Spreadsheets
3. Dedicated CAD-EDA tools (e.g. LTspice, QucsStudio)

QucsStudio is particularly nice because it allows one to attach sliders for various values, like in this random example (two coupled resonators showing the influence of coupling factor over the two resonant frequency peaks):

View: https://www.youtube.com/watch?v=fYs7ZoVyPmM


4. Numpy+Matplotlib or alike Python based, like Scipy or JupyterLab/Notebooks

To me, Python is probably the most used tool nowadays when it comes to program something that needs numeric processing. Random example of a curve tracer improvised with Python controlling physical instruments (this one made in JupyterLab):

rigol-dp832-power-supply-as-automated-curve-tracer

https://www.eevblog.com/forum/testgear/rigol-dp832-power-supply-as-automated-curve-tracer/

5. Geogebra, very nice because it has both offline and online versions, and lets one to share interactive plots, formulas, geometry in 2D or 3D, even lets you to embed live demos if a forum or whatever other platform allows iframes.

Random example of an interactive plot in Geogebra:

6. Other: Octave, LabVIEW (rather rare)



Later edit:
-------------
And in general, the tool depends of whatever I want to solve, funny fact I remember now how once I've used a game engine (pygame) to illustrate one of my ideas about how to "watch" outside the observable Universe, however, the physicists were keep telling me this wouldn't work, grrr, but it should work, look!

View: https://www.youtube.com/watch?v=BjbNZ7SLzwM

:)
 
But I suspect,
R is less for programming, more for interactive use.
Probably with an IDE or with the likes of Jupiter notebook.

I tried them in the beginning, but found it more convenient to write a script file and run it in the command line. That way I can easily re-use steps, functions that I write.

Also, I typically send my output to files (csv, xlsx, png, pdf, etc.). I have not used R interactively in a long time.
 
I tried them in the beginning, but found it more convenient to write a script file and run it in the command line. That way I can easily re-use steps, functions that I write.
That may still be considered "interactive use".

What I wanted to say was that R as programming language is not what one expects of a normal programming language for calculations, like FORTRAN.

I do not use IDEs, I do not like them. They will not change the above observation.
 
  • Like
Reactions: drr
But I see currently python is more popular for statistics,symbolic&numerical math. It has some advantages as you don't need to learn a "domain specific language".

Sometimes I feel like I'm in "la-la" land when reading python stuff. I prefer doing things from C/C++ and work my way up.

I thought "python" is a "domain specific language" and MATLAB was more based of a language for advanced state of the art engineering and research. It is the main reason why I actually prefer to learn MATLAB instead of python. What are the pros and cons of both in which makes python better overall when it comes to advanced engineering and research?

The biggest pro I see about python is that it works on FreeBSD. The biggest con with python is that the most advanced engineering and research theory and implementation for teaching students are still published using MATLAB examples, however some books do say octave or other similar matlab-like software can be used.
 
Thanks, if PARI/GP helps Project Euler, then it must help for real world tasks requiring custom mathematical algos. Project Euler seems to be an excellent site to start practicing in solving mathematical problems programmatically, I glimpse through it, hope they have some intermediate calculus problems down the road.
 
Back
Top