Wolfram Mathematica

Pages: 12
Sep 13, 2011 at 8:06am
I'm sure some of you have heard of it - at least I did - and I want to hear your opinions about it. All-in-all it seems like a great tool to work with and one of the expansions that you can get for it (MathCode C++) is even more encouraging to get it.

For clarification: Wolfram Mathematica is a tool that will help you in generally any professional field that involves calculating, analysis or image manipulation. MathCode C++ is (from what I heard) a tool that expands upon Mathematica, by making it possible to compile Mathematica code into C++ source code. I haven't heard whether all functions of Mathematica are supported in this process, but it sounds really great.

Has anyone tried Mathematica or MathCode C++?
Sep 13, 2011 at 8:36am
I would never ever do Mathematica. Mathematics should not be subject to copyright restrictions!

If you need a general purpose mathematical system, use SAGE :) Also, SAGE has Cython, i.e. Python compiled down to C. In other words, you can translate SAGE code to C, exactly what you described for Mathematica.

And of course, if you are going to do representation theory of semisimple Lie algebras, use you should use my c++ code first and foremost ;)
Last edited on Sep 13, 2011 at 8:40am
Sep 13, 2011 at 9:20am
closed account (1vRz3TCk)
I would like a copy of Mathematica but it costs too much.
Sep 13, 2011 at 9:52am
My university provides access to mathematica through application servers, and I love it. I'm even thinking of buying it because it's much more convenient to have it on your own PC - and with 150€ for students the price isn't that outrageous. That's 3 good programming books.
Sep 13, 2011 at 10:09am
closed account (1vRz3TCk)
I have been given a demo of it by some PhD students and post Docs and it looks like it would be very useful. For me to get a legitimate copy I would have to go for the Home Edition at about £240 about 7 or 8 good programming books. I do find this side of it less than good as I will only want it for self education.

Am I correct in thinking that there tutorials and such in Mathematica to learn about various fields of Maths? It may be worth it if it does and they are good.
Sep 13, 2011 at 10:21am
Mathematica is self documenting, all the functions provided by Mathematica are explained in Mathematica as interactive Mathematica documents (notebooks). But I don't think there are math courses in it, and I wouldn't really see the point either cause Mathematica is aimed at aiding in tasks where you already have some idea of what you are doing.

Wolfram does provide some courses, but those are mostly aimed at how to use Mathematica to solve certain problems rather than explaining the problems.

http://www.wolfram.com/services/education/
Sep 13, 2011 at 2:53pm
I'm even thinking of buying it because it's much more convenient to have it on your own PC - and with 150€ for students the price isn't that outrageous


My scholarship as a mathematics student with good grades in Sofia University was 25 euros per month. That means that 10 years ago I would have to give 1/2 of my YEARLY income in order to have Mathematica.

Mathematica is clearly evil [Edit: agree with your arguments, it's not evil, but using it is a very bad choice] because it makes a wealthy part of the population locked in to their ultra-mega-expensive software. In other words, Mathematica locks-out more than half of mankind away from the rich enough to buy Mathematica (and naive enough to sacrifice their scientific work to the will of a company) .

Fortunately, the amount of such naive mathematicians (most of whom are from the older generations) will be decreasing, as more and more mathematicians will teach SAGE and other free/open software platforms in universities.
Last edited on Sep 13, 2011 at 4:15pm
Sep 13, 2011 at 3:03pm
Scholarships are roughly 300-400€ euro here, and again, I already have free access the Mathematica, I just happen to have the money required to buy it, it's convenient for me and I personally also think it's worth the money. Mathematica isn't "ultra expensive" it is, as I already said earlier, about 3 times the price of a book for students. And that's normal books, I have seen more expensive ones too. If you don't like mathematica and are happy using Sage, fine, but Wolfram isn't "evil".

PS: Anything that requires internet access is already locking out more than half of mankind. By that definition, SAGE is evil too :O
Sep 13, 2011 at 3:16pm
closed account (1vRz3TCk)
Mathematica is clearly evil because it makes a wealthy part of the population locked in to their ultra-mega-expensive software.
???

"XXX is evil because they charge YY money for their products.." that is such a dumb argument for anything.
Sep 13, 2011 at 4:26pm
I agree, "evil" was very wrong wording. Just using Mathematica is a very bad idea for several reasons.
1) You will have to pay to Wolfram research for the rest of your life in order to use your own(!) work.
2) If Wolfram goes bankrupt, out of business, etc. your Mathematica-based work goes to the trash. If I ever am on a voting committee how to spend mathematics' department money, I will vote two hands against using Mathematica. So would most of the colleagues of my generation. So, as far as income from Academia goes, Wolfram should not rely on support from us in the long term.
3) If you actually are in academics like I am, a big part of your time is occupied by teaching. If using SAGE, I can simply tell my students where to download it, and they can be using it in half an hour. You can't do that with Mathematica.

As far as point 2) is concerned SAGE will not go obsolete as fast as it is free/open source software. Also, the "big guys" are behind developing SAGE. This is a [Edit: trimmed] quote from http://www.sagemath.org/development-ack.html :


Financial and infrastructure support(SAGE)
- Enthought, Inc, Google, Microsoft Research (generously funding a native port of Sage to Microsoft Windows (2008)), The Heilbronn Institute and University of Bristol, National Science Foundation (US), University of Washington, Mary Gates Scholarship, Glenn Tarbox, Sun Microsystems, U.S. Department of Defense(!) <- didn't know about that!, Metamodul, Blastwave.org, GCC Compile Farm Project, The Beatrice Yormark Fund for Women in Mathematics
(workshop sponsors):
-MSRI, IPAM, Clay Mathematics Institute, Conseil Régional, Université Lorraine, Communauté Urbaine du Grand Nancy, University Nancy 1 Henri Poincaré, NRIA, GDR IM, Clay Mathematics Institute, MIT, Universités Aix-Marseille: I, II, III, CIRM (<-big guys) Centre International de Rencontres Mathématiques, FRUMAM, LIF Laboratoire d'Informatique Fondamentale de Marseille, CNRS, National Science Foundation, Pacific Institute for the Mathematical Sciences,
Mathematical Sciences Research Institute, GTEM under European Commission, Lorentz Center


With that much backing of SAGE, there is a non-zero chance that one day companies will value SAGE skills more than Mathematica skills ...


about 3 times the price of a book for students


I encourage all of my students to find their math books in www.gigapedia.com and download them for free. Of course, if they are very fond of paper, they can always buy the books (I do that with the books I use the most).
Last edited on Sep 13, 2011 at 4:53pm
Sep 13, 2011 at 4:34pm
Microsoft Research is generously funding a native port of Sage to Microsoft Windows (2008).
Any progress on that? Having to run a virtual machine just to use a mathematics program is preposterous.
Sep 13, 2011 at 5:04pm
Having to run a virtual machine just to use a mathematics program is preposterous


I told about SAGE to a Windows-using colleauge. He was done installing the virtual machine and was running SAGE on his laptop in no time at all. He is not a programmer; just a regular user (programmers are regular users too). I never installed SAGE on Windows myself, but he said it was as easy as it gets.

On the other hand, you can always install Linux ;)
[Edit:] In other words, it is a straightforward install, and your students can do it in half an hour. On the other hand, I wouldn't call paying 195 pounds for the Mathematica home edition a "straightforward" procedure (not to mention that if you are below 18 you might not have access to online payment methods).
Last edited on Sep 13, 2011 at 5:14pm
Sep 13, 2011 at 5:24pm
Erm, question about scholarships in Europe. Is 300 euros a year a decent amount for a university scholarship over there? I only ask because the cheapest university in the state were I live costs ~$6000 a semester total. (room and board included)
Sep 13, 2011 at 6:31pm
How easy or hard it is is beside the point. Why do I need to run a second OS on top of the one that's already loaded just to run this thing? Do they mean to tell me it's so hard to write cross-platform code that it's easier to just waste your users' resources?

Of course it is. That's the whole point of Java. *Rimshot*
Sep 13, 2011 at 6:50pm
300€ a month. And that's just the bonus for the "best" (left to the interpretation of the profs) students. You can also apply for governmental financial support. University itself is mostly* free here, you have to find some place to live yourself** though.

* mostly means 120€ per semester, half of which go into semester tickets for the local public transportations.
** in my case, freeloading at my parents place
Last edited on Sep 13, 2011 at 6:51pm
Sep 13, 2011 at 7:14pm
@helios,
I don't get this. Some programs it makes sense to write for a specific operating system, but the vast majority of programs should be cross-platform. It isn't even difficult to write platform-/OS-/compiler-independant code. Especially if you use something like CMake or GNU Autotools.
Sep 13, 2011 at 7:15pm
Do they mean to tell me it's so hard to write cross-platform code that it's easier to just waste your users' resources?


Well, SAGE is kinda... huge... it incorporates so many projects, that coordinating/putting them together is difficult; doing it in Linux doesn't translate easily to Windows. The downloadable distribution includes Python, a versioning system (not sure SVN or mercurial), a web server (SAGE runs as a web server), clearly must have some sort of a database for accounts, all the encryption needed for handling passwords, and I am pretty sure the entire gcc toolchain, the entire GAP4, the entire Macaulay2, the entire singular,... Inside the web-browser they display 3D graphics, so I am pretty sure they included some 3D tools in the mix.

I am not sure all the packages they include support Windows to begin with (For example, a colleague, the author of "barvinok", doesn't bother to compile for Windows (I am not even sure he has a windows machine).

The idea behind SAGE is: one download, one install. The biggest waste of time for a mathematician is having to go to some website and manually install some package. So SAGE bundles it all for you.

[Edit:] And last and not least, you don't need to install SAGE to use it online. Mathematica *does not* offer full functionality online. SAGE does. One can try it out here:
http://www.sagenb.org/login
You can directly use a gmail/yahoo/openid account to sign in, so you don't even need to create an account.
To test a fun function: create a workbook, type icosahedron(), press enter and watch 3d :)
Last edited on Sep 13, 2011 at 7:34pm
Sep 13, 2011 at 7:54pm
chrisname: Have you ever actually tried to make a medium-to-large cross-platform system? It's hard. Sloppy coding or not having portability as a design goal from the get-go makes it even harder.
There's even a trade-off of sorts between adding libraries to abstract from platform-specific details and actually increasing portability. In one case, I actually stayed away from Boost because the added complexity to the build process made it harder to maintain than just writing my own routines with conditional compilation.

And that's not even getting into libraries that outright lie about being cross-platform. For example, SDL implements blitting in such a way that its semantics with non-binary alpha depend on external code. Semantics that vary with the platform is the opposite of cross-platform and is much, much worse than not having the feature at all. The latter is at least predictable.

Sooner or later, you want to implement some feature and some system you're supporting does things a little differently, and you just have to use conditional compilation (if you want to do it right). It's a slippery slope from there.

tition: I'm aware of that. While not all of those packages may be easily portable, I'm sure most of them are. It would be nice to have the option of a "lite" version for Windows that's an actual port of those packages, so the people who don't need the rest can get something in between "nothing at all" and "a VM that loads things you don't need".
Sep 13, 2011 at 8:00pm
SAGE communicates with the other computer algebra systems it incorporates by [Edit: actually I don't know] calling them in separate processes (system calls i guess?). How consistent/inconsistent are Linux and Windows inter-process calls?
Last edited on Sep 13, 2011 at 8:09pm
Sep 13, 2011 at 8:10pm
I guess it would depend on the exact mechanism used, but I'm sure there's a Windows-equivalence for any Linux IPC method.
Windows even implements a subset of POSIX. Wikipedia says it's everything except pthreads (which are already implemented in a third party library), windows, RPCs, and sockets.
Pages: 12