The open source platform for numerical computation
2007-06-05 07:43阅读:
商业数学软件非常昂贵,
Mathematica,
Maple和
Matlab强
大易用,但价格也让多数人望而却步,虽然它们出于教育目的向教师和学生提供了便宜(或功能不全)的版本。但是最不利的是它们都是私有软件,对于科学研究这
样需要共享数据的领域会有很大限制。因此一些可替代的开源数学软件是值得去使用的。以下是从符号计算,数值计算和统计分析领域挑选的
3类可替代开源软件。
' 1. Maxima:可替代Maple的符号处理软件,一个开源多平台工具,wxMaxima则是它的图形界面版本。
2.Scilab:功能最接近Matlab的开源数值计算软件,与Matlab兼容。
3.R语言:R是一种用于统计分析领域的程序设计语言和软件开发环境。可替代商业软件S-Plus。'
Mathematical software can be very expensive. Programs like
Mathematica
,
Maple and
Matlab are
incredibly powerful, flexible and usually well documented and
supported. Their price tags however are a big let down for many
people, even if there are cheap (in some cases crippled) versions
available for educational purposes (if you are a student or a
teacher). The secondary disadvantages are those caused by the fact
that such programs are proprietary. This can also affect or limit a
“sharing oriented” environment like the academic and research
fields.In this short article I propose well known programs that
will give you a lot of flexibility and math crunching fun. All of
them have advantages and drawbacks and none of them can be
considered perfect or infallible, but I consider them some of the
best available today in their respective categories. They are
rather general purpose softwares, but there are plenty of other
specialized open source programs if you have specific needs. I’ve
chosen one program for each of the 3 macro categories: symbolic,
numeric and statistical computing, but you can expect quite a bit
of overlapping and shared functionalities. Try the three of them,
try the suggested alternatives and settle with the ones that you
like and that meet your needs the best.
1. Maxima
A general purpose
CAS
(Computer Algebra System) is a program that’s able to perform
symbolic manipulation for the resolution of common problems. As a
matter of fact, modern CAS covers an extremely wide range of
functionalities.
Maple is a
prime example of a commercial CAS software. In this category I’d
say that
Maxima is an
excellent open source cross platform tool.
wxMaxima
is a good GUI version (possibly the best one on Windows), but other
front-ends exist. The 3D plot below was generated by Maxima.

Valuable mentions are:
2. Scilab
Matlab is the
standard for numerical computing, but there are a few clones and
valid alternatives that are entirely free.
Scilab is the closest that you can get
to Matlab without spending a penny. It’s very compatible with
Matlab (albeit not 100%) but it’s really flexible, powerful and
comes with a Matlab converter and Scicos which is a block diagram
modeler and simulator.

Valid
alternatives are:
3. R
For statistical computing and analysis in the Open Source world, it
doesn’t get any better than
R. It is
a programming language and environment that enables you to do
pretty much anything that the commercial software (
S-Plus) does. It is so
widely adopted that it can be considered a standard in the
field.

As usual,
please feel free to share your experiences and add your suggestions
to enrich the discussion.