[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Scientific computing newbie



On 1/13/07, Hero_xbd!.RRR <heroxbd@sohu.com> wrote:

[...]
Could you please recommend some tutorials on how to establish a
scientific computing environment, esp. for physicists and
mathematicians, for study and research?
And what packages are best for starting?

Or some advice for me to avoid useless and time-consuming
trying-and-discarding newbie loops?

Trying and discarding is fundamental to research, but you have to
design experiments that will teach you something.  Writing your own
scientific language is the best way to learn, and there are lots of
open source examples to draw from.

Science is full of small communities consisting of a group of people
who work in the same area and often exchange software tools along with
preprints, etc.  In a given area there may be more than one such
community, depending on personalities, etc.  Eventually you will find
yourself a member of some such community and will want to use the same
software as others in the community.  Meanwhile, it is good to learn a
few general purpose high-level languages so you will have some
perspective and insight.  Every scientist should have some experience
with the S-plus language (R is a good free implementation), the matlab
language (octave is a good free implementation), and maple (maxima has
some of Maple's capabilities, but the language is quite different).

In certain fields you will encounter other general purpose tools:

Mathematica -- combines a matrix language with symbolic manipulation
and good graphics.

IDL (interactive data language) -- close relative to matlab, but
emphasises image processing and supports more data types than
most languages, so is good for low level interfaces to oddball formats

APL -- powerful and influentical language, not widely used but can't
be avoided in some fields and can do amazing things in the hands of an
expert.

The free packages mentioned above use lisp, C, C++, and Fortran, so if
you are interested in the internal workings of these, you will need
some basic skills with all 4 languages as well as tools such as bison
and yacc or antlr.  Scheme (a lisp dialect), however, is the place to
start learning programming concepts (look at MIT's introductory
courses).

--
George N. White III <aa056@chebucto.ns.ca>
Head of St. Margarets Bay, Nova Scotia



Reply to: