Hacker News new | past | comments | ask | show | jobs | submit login

The value of Mathematica is pretty straightforward. The language it provides is nothing special, but the scientific and mathematic routines, along with the symbolic support, put it in a class by itself- no open source package I've seen does root finding and other similar processes as effectively.

The symbolic stuff is pretty cool too. Years ago I wrote "pyml" which made all the Mathematica features available in Python via a C language bridge. Whereas in scipy/numpy you can find the eigenvectors of a numeric array (a matrix of floats), in Mathematica, you can find the eigenvectors of a symbolic array (a matrix containing terms like x-1, y-5, etc).




Well, that may be because scipy and numpy are not intended for symbolic computation. If you want to do this, use a piece of Software that is intended for those things. SageMath would be an option.

The true values of Mathematica are it’s Solve-Algorithms and it’s Simplification-Algorithms. They did a heap fine job there.


And yet Mathematica is not nearly as effective as math when done by pencil, paper, and a trained mathematician.

The value of maths is 1) it's "open-source", 2) it's free to use, 3) if you want to switch from one module to another (say, number theory to category theory) you are able to do so using the same tools (pencil, paper, and a trained mathematician), and so long as the two "modules" are inter-operable it flows so beautifully. If they are not, then you get to try to figure out ways to make them so.

That, imho, is why I think all these open source packages keep popping up. Math itself is the ultimate "open source". And in doing math one is not limited to command line interface, left-to-right, line-by-line tools. Compare the experience of writing out a derivative in LaTeX vs on paper. LaTeX is an exercise in causing pain and frustration to oneself. On paper, it feels as though you're writing music.


I like Mathematica and find it a sometimes, very useful tool. I've taken over two dozen University courses in mathematics, including topology, abstract algebra, analysis, combinatorics, number theory, etc. Yet, even simply equations can stump my rather meager ability to solve them and this is where Mathematica is so useful. You can use it interactively to quickly traverse the difficult ground on the way to insight or a solution about your problems.

Consider the simple looking problem, find the definite integral of sin(x^2) from 0 to positive infinity. This is a real expression that that occurs naturally in the study of electromagnetism.

Solving this is beyond the ability of most practicing mathematicians to just sit down and noodle out an answer. The integral in known as the Fresnel integral and has the pretty answer of sqrt(pi/2)/2. Mathematica gives me the answer in just a second.


Question - have you tried using anything like symPy directly. I'm curious to know your opinion (clearly a power user) of how it would compare.


Yes, I've tried SageMath, which is said to build on sympy as well as numpy, scipy, R, maxima, and other math related projects. It's really quite capable considering that it is an open source project. It supports notebooks, like Mathematica, and the programming is done in Python, which is much more widely known that the Mathematica programming language. I like it's wide open nature and the programming in Python. However, there are still some rough spots where the different technologies come together. Mathematica on the other hand is expensive but it is very polished.

SageMath, http://www.sagemath.org, is perfect for those that can't afford Mathematica or want to leverage their existing knowledge of Python. It solves the Fresnel Integral too. Please consider supporting the SageMath project.


I should have said: "And yet Mathematica is <sometimes> not nearly as effective as math when done by pencil, paper, and a trained mathematician."

I wasn't meaning to imply that Mathematica has no value or has little value. It's indeed awesome both productivity wise and for just enjoying the exercise of doing math.

I was trying, and doing a poor job, to give reasons why pencil and paper has value. Not to the exclusion of Mathematica or more so than Mathematica. Just, that it still has tons of value. And that, maybe that is what these open source projects are trying to recreate that Mathematica has not yet captured.


I personally do enjoy sometimes doing written math. I manually matrix-multiplied the three axis rotation functions (see the three one-axis rotation functions, and the result of multiplying them) https://en.wikipedia.org/wiki/Rotation_formalisms_in_three_d...) But of course these days I just let the computer do rotations for me.

I think the interesting product idea here would be something I've never seen: a canvas on a tablet that acts like pencil and paper (drawing) but also "helps" by recognizing what you write, converting it to a formal language, and validating/verifying it. sort of the mathematica notebook, but more like a notepad


you are describing a very limited view of what it means to do mathematics. and no, all of mathematics is not open source. much of it is locked behind institutional barriers.

also, i don't understand this fervent attitude that something must be free and open source to be useful. a lot of open source software is complete trash. there is a reason why people pay to use tools like matlab, labview, and mathematica. it is because their value exceeds their cost.


i believe the phrase is "software is only free if your time is worthless". There are plenty of counterexamples to this (where there is free software that greatly increases the productivity of the user, without a great deal of time spent moving up the learning curve).

In the case of Mathematica there is a ton that is "locked away behind institution barriers". Mathematica contains millions of lines of code dedicated to implementing clever algorithms for making their root finder and other things work really, really well. but those are all internal source code lines within the company.

I've seen this play out across multiple industries. A good example is SAS and R. There are certain parts of FDA new drug applications that require, specifically, the SAS implementation of a statistical routine, and you can't use R because it doesn't implement the routine in a bit-identical manner. However, a spokesperson from SAS once said, "You'd never fly in an airplane designed by open source software" to which Boeing responded "we use open source software to design our airplanes"


I'm replying a little late and I'm not sure if you'll see it, but do you have a source for that quote? That's amazing.


A lot of (free | non-free) software is complete trash.

The advantage of free software is that it never dies; someone can always, if they want/need, pick it up and use/extend it. You don't have to hope a company does go bust, and pay them for the product and/or support, and keep upgrading your devices to newer, still supported versions. Ok, some of that applies to free software but if you want to you could stick with the old versions, or make changes yourself, or pay someone to. These avenues just aren't open with closed source software.

Some people won't be able to afford the commercial products, and the free ones might not be as good/polished but if they get (most of) the job done then they fill a niche.


>The advantage of free software is that it never dies; someone can always, if they want/need, pick it up and use/extend it.

That's a theoretical advantage. In practice lots of things needs to be true for this to happen, even if there's a large user based depending on an abandoned open source program: the code needs to be easily approachable, there should be people willing to extend it who also have the required programming skills etc.

Tons of projects that had lots of users have died or languished.

Heck, even something as popular as GTK+ -- the project is still available, but development has stalled to a halt, and there was a cry of despair from the maintainer that it was just one (one) person doing 90% of the work. If that can happen to GTK+ which is used by millions and powers Gnome, GIMP etc, consider all the other stuff.

Besides, this same theoretical advantage ("never tries") in theory is also potentially true for a proprietary product. Even if the parent company folds, the code and product could always be bought and revived in the future.


I use mathematica to do engineering, not math. But there are definitely people who do recreational mathematics with computers, and some of them have shown things that can't be done with pencil and paper. The proof for the four color theorem is a nice example of this. Computers are useful tools for doing things we can't execute quickly by hand, or cleverly approximate/solve through more elegant methods.


>And yet Mathematica is not nearly as effective as math when done by pencil, paper, and a trained mathematician.

You'd be surprised. Actually it's not even close.

Good like calculating FFT, working with large primes, etc, with pen and power for one...


Or I can use Mathematica to get my derivative, plug it into my numerical optimization routine and not have to think about it again. That's a much better feeling to me.


Yes, I totally agree that Mathematica (other projects) can be the way to go when getting work done. No argument there.


Lots of working research mathematicians use Mathematica for a reason.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: