Help for seq-comp starters

19 views
Skip to first unread message

Peter Luschny

unread,
Dec 1, 2010, 1:07:17 PM12/1/10
to seqcomp
Some contributors to the OEIS are not familiar with a
computing environment, yet contribute excellent sequences.
Some of those wish (as I know by private correspondence) to
learn more about programming or using math programs.

I can only encourage this. The benefit is a multiple one.

(1) I think that the fun of playing with and exploring sequences
definitely increases if you use some software.

(2) It will sharpen the definitions of sequences and thus
make OEIS contributions more easy to understand and applied
by others.

(3) It would certainly make the job of the OEIS-editors easier.

So my question is:

| What kind of software do you recommend to a person with
| no or little computational experience and being mainly
| interested in applying it to the exploration of sequences?

M. Hasler

unread,
Dec 7, 2010, 7:54:24 PM12/7/10
to seqcomp
> | What kind of software do you recommend to a person with
> | no or little computational experience and being mainly
> | interested in applying it to the exploration of sequences?

I'd recommend PARI/gp :
- available for free at pari.math.u-bordeaux.fr
- easily installed
- quite well documented
- simple to use (just write f(x,y) = ... to define a function;
well, maybe you have to get used to the fact that control
structures are written in functional notation: for(i=1,n,...)
if(a=b, ..., ...) etc, and string manipulation is extremely
poorly supported)
- quite powerful in speed

If you have free access to Maple, then this can be an interesting
alternative:
the user interface (based on "worksheets") is more convenient,
and programming is still quite intuitive and very close to standard
mathematical notation
e.g. you would say f := x -> x*sin(x) ; to define a function
S := {1,2,3} to define a set,
v := [1,2,3] to define a list or vector, etc.
One interesting feature of Maple is the "code generator" package,
which can optimize (especially numerical) expressions and procedures
and create C code from procedures written in Maple, if more speed is
needed.)

Another all-purpose "lightweight" free software package is GIAC/Xcas,
which has several "compatibility" modes (among others, for Maple
syntax). But it is not specifically designed for Number theory and
less comfortable than Maple.

SAGE seems to be a promising project for the future, but if your
computer has limited ressources, it may be a bit slow to launch & run,
and quite memory consuming (also on the hard disk).
I think it's usage is also a bit less intuitive (but maybe I'm just
getting older...).

Maximilian

Peter Luschny

unread,
Dec 7, 2010, 8:43:19 PM12/7/10
to seqcomp
On 8 Dez., 01:54, "M. Hasler" wrote:

> > | What kind of software do you recommend to a person with
> > | no or little computational experience and being mainly
> > | interested in applying it to the exploration of sequences?

> I'd recommend PARI/gp :
> - available for free at pari.math.u-bordeaux.fr
> - easily installed
> - quite well documented
> - simple to use (just write f(x,y) = ... to define a function;
>   well, maybe you have to get used to the fact that control
>   structures are written in functional notation: for(i=1,n,...)
>   if(a=b, ..., ...) etc, and string manipulation is extremely
>   poorly supported)
> - quite powerful in speed

Complementary: Read Paul Zimmermann:
"The Ups and Downs of PARI/GP in the last 20 years".
(Found on the web, name of the pdf: Henri.pdf)

My personal recommendation is below.
Best you just try it. It is free, it is Python 3.1
based, and so it has a natural upgrade path
to SAGE if you really need more later.

http://www.mathgui.de/

Enjoy, Peter

Psychedelic Geometry

unread,
Dec 8, 2010, 3:50:47 PM12/8/10
to seqcomp
I´m on maths just for fun, I´m not a professional programmer but I´ve
been using computers since 1982 (when I was 14), but if somebody wants
to learn some computing language, I recommend:


1) Search if there are many job positions that require that language,
specially if you need to pay the food you eat.

2) Try to learn concepts: Funcional programming, Object Oriented
Prog., Algorithmica, Numerical Analysis ... Because nobody knows wich
languages are the going to create in the next 5 years, and you are
going to need to learn more and more new things, but you must be sure
that your concepts and philosophy will remain. (see point number 1)

3) It is better to have a general idea of many languages that to focus
yourself deeply in one of them, If you have to work in a specific
proyect you will apply your concepts and you will learn deeply the
details.

With this ideas in mind, my recommendations and warns are:

a) PARI/GP it is the best option if you intend to do a numerical
research, like a math article for a scientific magazine about,
for example, Number Theory. It is very very fast and free.
The main problem with PARI is that you are going to use imperative
programming (old fashioned FORTRAN style) and you are not going to
pass for functional or Object Oriented Programming, so you are not
going to be able to go further on Java, C++ or Python, see point 1.

b) One of the more professional languages, also free, very well
documented with many libraries and multiprecision arithmetic is
Python, now I´m learning it (since last week), because I intend to
create some artificial vision proyect of my own. Python looks a very
very nice language, and there are many job positions for it. With
Python you are going to use all programming philosophies that you are
going to need for the rest of your life.

c) Other software like Mathematica or Maple, are not very much nedeed
by the market (you just try to look for a job on the internet),
specially in Spain, and specially if you are a professor in an spanish
university, and they are going to pay your salary despite of what you
do. If you need to "investigate" you can order your scholars to do
everything and after if they want to pass the subject they must put
your name in the article to get the points they give, because you
publish a lot of "science", then the subvention they gave for
scientific investigation is yours.

d) SAGE is a Frankstein monster, the idea is nice but the monster is
very monstruous: You need a computer exclusively for it, and you are
going to need learning the other languages, so it is no good idea to
begin with SAGE.

I don´t know how to program Maple, but actually I´ve use Mathematica
very often it help me to see things, many graphics, many features... I
think that everbody should try this commercial software just to know
it exists. I feel very comfortable with Mathematica but you better try
b) or a) first and remember point 2)

Cheers, Enrique.

Peter Luschny

unread,
Jan 12, 2011, 5:10:20 PM1/12/11
to seqcomp
> Psychedelic Geometry wrote:
> a) PARI/GP it is the best option if you intend to do a numerical
> research, like a math article for a scientific magazine about,
> for example, Number Theory. [..]
> b) One of the more professional languages, also free, very well
> documented with many libraries and multiprecision arithmetic is
> Python, [...]
> d) SAGE is a Frankstein monster, the idea is nice but the monster is
> very monstruous: You need a computer exclusively for it, and you are
> going to need learning the other languages, so it is no good idea to
> begin with SAGE.

Let me start with SAGE. I do not know what it takes to get
SAGE running on a Linux-based system if it is not preinstalled,
but with regard to Windows you are certainly right: the SAGE
monster and Windows do not fit well. I once tried to install
it under a virtual machine: it was a nightmare and the
result disappointing.

But I am here to tell you that things for Windows user have
changed: Sage-Live is here [1]. Today I downloaded the iso-file
and after burning it on a CD I was in less then 3 minutes on
a full fledged SAGE system with no further hassle whatsoever.
On the left hand side of the screen the SAGE tutorial on
functional programming and on the right hand side a notebook
in which I typed my beginners Python.

I can definitely recommend to a Windows user to get Sage-Live.
And if you want to use PARI/GP: no problem, this is integrated
into SAGE.

So the monster is tamed down to a Goliath on a CD. On the other
hand, David MathGuide [2] is also here and I have heard that soon a
new version will come up, using MathJax [3] and with better
support for English. For the beginner still the entrance-system
to programming math with Python, I think.

In any case, it will be interesting to watch the further
development of David and Goliath this year!

Cheers, Peter

[1] http://groups.google.com/group/sage-windows/browse_thread/thread/e8acf96cbe805f35
[2] http://www.mathgui.de/
[3] MathJax in the next version comes with color. Here a preview :)
http://www.luschny.de/math/tex/MathJaxColor.html
Reply all
Reply to author
Forward
0 new messages