OT: excellent book on information theory

Anton Vredegoor anton.vredegoor at gmail.com
Thu Jan 19 07:57:06 EST 2006


Juho Schultz wrote:

> Last month I spent about an hour trying to explain why
> a*2.5e-8 = x
> raises a SyntaxError and why it should be written
> x = a*2.5e-8
> The guy who wrote the 1st line has MSc in Physics from Cambridge (UK).
> In mathematics, there is no difference between the two lines.

Some time ago I tried to 'sell' Python to a mathematician. The crucial
point was that it was not (in standard Python) possible to have a matrix
A and a matrix B and then do for example:

A = A * B

and have a matrix multiplication performed. Since the whole conversation
started because there was a need to use this notation for a standard
mathematics course this didn't result in adopting Python for it.

Meanwhile there has been some progress in Python use there, and of
course there are specialized Python packages that enable this kind of
notation, but it remains true that there *is* an abyss between computer
science and mathematics. Mathematics should change ;-) 

But that doesn't mean that I wouldn't like standard Python to have A*B 
for matrices.

The problem is that so called 'conventional' mathematical notations
leave many options for interpretation, depending on the context and on
mutual understanding between mathematicians, excluding
non-mathematicians very effectively.

A (Python) interpreter has no such problems and will allow precise
inspection of what is meant by a piece of code. It has additional
advantages in that it can function as a kind of "mathematical
spellchecker" for people like me who often miscode things.

Some mathematicians I know can write formulas page after page, while I,
if I were to write (or read) a page of formulas there would be at least
one mistake throwing me of course for the rest of the document, so that
I would need to go back again and again. 

Does that make me a bad mathematician or does it signify that
mathematical notation should change? For me the answer is clear, but
that could be because I can't read the stuff without the documentation,
and the documentation (mathematics) is considered to be known to
everyone (with a math education of course) but I doubt if that is really
the case and, even if it were the case it doesn't imply that being
explicit (in giving the procedures in computer and human readable form
at the same time, for example in Python) wouldn't be even better.

Anton



More information about the Python-list mailing list