![]() ![]() If your department head is too cheap (to be crass, which is unavoidable in your situation) to buy you a Mathematica license, then they are really putting their money where their mouth is, and you should use Sage. In the end, you'll have to figure things out for yourself. Octave might be a free option, but it would really depend on what you need to do. Matlab is a different situation, because of the enormous amount of third-party code and drivers available (only) for it. But either of them (or Maple) will probably do 99% of what you need to do, correctly, in most cases. If you are doing graph theory or serious number theory, you shouldn't even be asking the question of which package to use. If you are doing more numerical work, my understanding is that the Numpy/Scipy/Matplotlib stack, or the GSL (both in Sage), are pretty darn effective and not necessarily "buggy" at all. If you need the most symbolic antiderivatives you can, Maple or Mma are probably better on the other hand, many people in "real work situations" use Maxima as a standalone program very, very effectively for symbolic DEs and such. ![]() To address your reliability or power question briefly from a different vantage point, I think it depends a lot on what you are doing. The active development group give us end users a lot of hope. On the other hand, if you write a lot of code and want to reuse them, Sage is a sage option.įinally, I am looking forward to seeing sage become better and better. ![]() This improves my programming technique because then I easily learn how more professional people write code.Ĭonsidering the above differences, currently, if you want to use a CAS to do a number of small calculations (say, calculate a integration in your work and insert the result back to your hand-writing notes), I would recommend Mathematica (despite the price issue.). Also, one can view source code of a function in sage by typing, e.g. The former is safer but the latter is convenient. For example, in Sage one has to define a variable before use (although don't need to declare). (6) There are also a number of other differences. (I have never used Mac thus I don't have comment on that.) The Linux support (especially notebook interface) of Mathematica is very slow, and occasionally unstable. Sage is more native on Linux, while Mathematica behaves better on Windows. (5) It's also a matter of Windows / Linux. ![]() Thus when we have a lot of codes, it is much easier to reuse them in Python than in Mathematica (including the. The Python-Sage resolution has much better support on class, name-space, etc. Why? Most importantly, it is because Sage is based on Python, and Mathematica has its own language. (4) Despite (2) and (3), I am still moving my previous Mathematica work to Sage. Also for every bug I met, I could eventually find a workaround, with the help of very kind community. But the good thing is the bugs breaks the calculation explicitly (by saying something is wrong), instead of give you a wrong result. (3) In terms of stability, I have met several bugs in Sage and I would not mark it as very stable. Also, Sage calls Maxima to do simplifications, which is more slowly than Mathematica. I found Mathematica can do more symbolic integrations than Sage could. I mainly use Sage or Mathematica to do symbolic calculation. (2) In terms of powerful and speed, I would think Mathematica is still better so far. Thus one could expect there's a lot of space to improve. ![]()
0 Comments
Leave a Reply. |