Mathematica 6 Launched
Ed Pegg writes "Wolfram Research has just released Mathematica 6. That link, in addition to the usual 'dramatic breakthrough' material, has an amazing flash banner that simultaneously shows a thousand mathematical demonstrations all at once. The animations came from the Wolfram Demonstrations Project, a free service with 1200+ dynamically interactive examples of math, science, and physics, all with code. For the product itself, much is new or improved, with built-in math databases, improved visualizations, and more."
check out SAGE: http://modular.math.washington.edu/sage/
From the section on 3D improvements, a whole one click away from the summary-linked page:
"Seamless optimization with graphics hardware on all computer platforms."
"I don't know what this does but the pictures are cool"
Engineering is the art of compromise.
Ah, if you are looking at VTK based software, you should look at MayaVi. It lets you do some fantastic scientific visualization and has a neat GUI, too. And oh, you can also do some really cool CFD stuff with it. Check out the screenshots.
Back in the day, I used to be friends with the guy who did this stuff (met him at one of the LUGs). Turns out that he's now a prof at one of the better schools in India.
Anyway, Mathematica rocks, too. There is a lot more that you can do and it has some pretty neat capabilities. Besides, the strength of Mathematica is not merely the engine, it is the libraries and the wealth of demos and code out there.
"Does it run Linux in Rule 110?"
--
Mathematica is an absolutely fantastic package. The symbol manipulation (derivaties, integration, etc.) are outstanding, the graphing is rich (though the options are obscure), and the data-manipulation is great. It's a very useful tool when doing serious engineering and science, plus it's fun to play around with.
However, I recently ran into one of those "top 10 reasons why proprietary software is annoying" situations. I hadn't used Mathematica in awhile, and wanted to go back to some old code and re-run some analysis. However in the meantime I had migrated from Windows to Linux. No problem--the install disk has the installer for Windows, Linux, and Mac all in one. Great. So I install it in Linux and then get the annoying "you must register this product to use it." (On Windows it gives you two weeks before locking out, but in Linux it won't open unless you enter the code, which changes with each new hardware installation.) The online automatic registration said I had to contact them via email. So I did. Eventually got the reactivation code. Turns out it didn't run properly on Linux. The controls were clunky and I couldn't get individuals block to execute (though I could re-execute an entire workbook.) Okay, no problem--I have a Mac laptop. So I load it up there. Then I have to go through the reactivation process again. Another email, more waiting. Eventually get it running.
My point is that I had alot of difficulty getting my (legitimately purchased) copy of Mathematica to actually work for me. I was in a hurry and just wanted to run some code quickly. This 10-minute operation turned into a 4-day ordeal, at the end of which I was very frustrated. It really reminded me the great advantages of programming in standards-based languages, that have open-source implementations. If the code had been written in python (using the Gnu Scientific Library), I would have been able to run it without hassles, and I could send the code to others, knowing that installing Python (on the OS of their choice) was always easy.
I don't want to turn this into a stereotypical OSS vs. proprietary rant... but this very recent experience with Mathematica has left a bad taste in my mouth--and I was previously very much a Mathematica evangelist!
Mathematica has a killer engine (kernel), but a lousy UI, and it costs a shocking amount of money. Mathematica was one of the first pieces of software to scan your computer's MAC address and serial number while you entered the activation key, so it could not be installed on more than one computer (this after the $250-$1000 price tag). A student can get the castrated $250 version, but the real version is considerably pricier. Wolfram's treatment of his users is as distrustful as Micro-Suck.
Why can't the FOSS community beat Wolfram at this? Octave, Maxima, Yacas; they all fail miserably in comparison. The UI for Yacas is so idiotic that the function that transposes a matrix is Transpose[], a nine-character entry for an operation that a real mathematician may use a few hundred times in a given program. At least Mathematica is smart enough to use T (or at least it was when I last used it, at 4.0). Why can't we do better than this?
The best UI of any CAS was the UI for the built-in graphing calculator for Mac OS 9. The current version, NuCalc, is available for Mac and Windows, but it is proprietary, and there is no plan for a Linux/UNIX version. The FOSS community can put a UI like NuCalc over a Maxima engine, use MathML and/or LaTeX for the syntax (like LaTeX input, MathML output). Use code from GNU TeXmacs for the UI, but include the beautiful way that NuCalc simplifies fractions and radicals (and algebraic equations) by clicking on them with the mouse. Brilliant. And possible. Future generations of math and physics and engineering grad students will thank us.
"Indeed, it is wise never to consider any form of electronic data as final." --Arnold Robbins
I hope they fixed the horrible bugs with the exponential integrals. IIRC this one was completely wrong
} ]
Integrate[Exp[-a*x+i*b*x]/(x^2+y^2),{x,0,infinity
Maple can't do them either, so it's not like I'm just bagging Mathematica. Exponential integrals have a branch cut in the complex plane and the programmers never seemed understand it. Not that Mathematica was capable of simplifying the resulting sum of logarithms, because it wasn't, but at least it could give you something correct.
Here's wishing for the best from a program that doesn't get supported with bug patches. I reported this years ago. Yeah it's a bug, but no it won't get fixed in my copy. Why would I upgrade otherwise?
For other open source options, see Comparison of computer algebra systems on Wikipedia.
Why? Because when it does its symbolic algebra thing, it largely acts as a black box. You've got no idea how it got its answers. So you can't rely on it.
So, if you're using it to figure out any symbolic algebra out that's part of research that you're later going to publish, at best it's useful for finding things which you then have to show by hand anyway.
Any sufficiently advanced technology is indistinguishable from a rigged demo
--Andy Finkel (J. Klass?)
While you're checking out Mathematica, consider taking a look at the major open source computer algebra projects:
Axiom: http://wiki.axiom-developer.org/ (formerly known as Scratchpad) was developed at IBM as a commercial system, sold to NAG, and released a few years ago as an open source program.
and
Maxima: http://maxima.sf.net/ (descended from the pre-commercial Macsyma codebase) was maintained by William Schelter for many years and he obtained permission to release it as open source. Sadly, he passed away a few years later but the Maxima project has grown and now has many active contributors.
They won't have the glitzy graphics or army of specialized packages Mathematica boasts, but they also don't cost $1500 and (theoretically) can be audited for correctness all the way down to their foundations. I regard the latter as very important for people trying to do scientific research with computer algebra tools, and what's more no commercial company is required for their survival (the story of Macsyma is a very good object lesson.)
Maxima is the more "engineering" oriented of the two systems and will probably make more sense to Mathematica inclined users - it can use gnuplot, run on Windows and has a decent GUI called wxMaxima: http://wxmaxima.sf.net./ Axiom is more oriented towards being "strong" mathematically - it takes more getting used to and has very ambitious goals for long term mathematical research. It is attempting to become a literate program in the tradition of Knuth's TeX system. It doesn't currently have the interfaces to familiar tools the way Maxima does.
Both systems are already very powerful and while there are many bugs to work out progress is being made. If you're shopping around for a CAS and are interested in open source systems, I highly recommend checking them out.
(Bias disclosure - I have been a (minor) member of the Maxima project and am currently interested in/doing a little work on/with Axiom, in case the URL in my info doesn't give it away.)
"I object to doing things that computers can do." -- Olin Shivers, lispers.org
It's easy to get around that. Just do a PhD.