[Edu-sig] [Tutor] school physics/math courses

Edward Cherlin echerlin at gmail.com
Sun Oct 19 01:57:54 CEST 2008


On Sat, Oct 18, 2008 at 9:06 AM, bob gailer <bgailer at gmail.com> wrote:
> Edward Cherlin wrote:
>>
>> [snip]
>>
>> As a teacher, I know very well what it means. Some representations are
>> easier to understand, or easier to work with, or easier to learn from.
>> Various thinkers, including Babbage, Whitehead, and Iverson, have
>> commented on the effects of the way we represent problems on our
>> ability to think about them, and not only they but luminaries from
>> Fibonacci to Einstein have labored to invent or teach new notations
>> and representations.
>>
>
> I'm glad to see Iverson amongst Babbage and Whitehead.

Turing Award lecture, Notation as a Tool of Thought.

> In 1974 I was
> introduced to his invention: APL. That transformed how I thought about
> problems and expressed algorithms. I still wish for some way to bring some
> of that magic into Python.

See NumPy and SciPy, which used APL for some design ideas. If we can
get some people together on this idea, we can add more APL to Python.

Perl6 will have some of this, but that's a knotty business that I am
staying out of.

I'm working on getting a GPLed APL for the OLPC XO. Arthur Whitney is
writing one. I was the founder of I-APL, Ltd, and Managing Editor of
APL News for Springer-Verlag. I have the copyrights on Iverson's
textbooks for Arithmetic, Algebra, and Calculus, and intend to put
them out under Creative Commons licenses.

I need to recruit more people--mathematicians, teachers, APLers, and
others--to work on these projects.

> I found it interesting to hear (in the migration to Python 3) that the
> Python reduce function was not used a lot or well understood. I certainly
> use and understand it.

> A brief tutorial for any who have read this far and are curious: In
> Python one may combine the elements of a list using sum() (if the
> sum is desired). For other functions one uses reduce. To get the
> product of the elements of a list Y: reduce(operator.mul, Y). In APL
> reduce is / and multiply is x so one writes x/Y. (Classic APL had only
> upper case for names).

And underscored upper-case. Y̲

The XO has a ×÷ key, so we can write this correctly: ×/Y

   ÷/3 4
0.75


> I can write and comprehend x/Y much faster than the wordy equivalent.
>
> And Y can  be an array of 0 or more dimensions. +/Y computes the "row sum"
> giving an array of one less dimensions*. So if Y were:
> 1 2 3
> 4 5 6
> the row sum is 6 15.
> * if the number of dimensions is 0 (a "scalar" value) the result is the
> scalar value unchanged.

We also have primitives for matrix products, evaluating polynomials,
matrix inverse, least squares, and a good deal more. Most people hate
APL, because it exposes the math inherent in programming, and most
people assume that for that reason they cannot learn APL. However,
Iverson wrote his Arithmetic textbook for an IBM-funded experiment in
using APL as the math notation in an elementary school.

> --
> Bob Gailer
> Chapel Hill NC 919-636-4239
>
> When we take the time to be aware of our feelings and needs we have more
> satisfying interactions with others.

That's what we call meditation in Buddhism.

> Nonviolent Communication provides tools for this awareness.
>
> As a coach and trainer I can assist you in learning this process.
>
> What is YOUR biggest relationship challenge?
>
>



-- 
Silent Thunder (默雷/धर्ममेघशब्दगर्ज ) is my name
And Children are my nation.
The Cosmos is my dwelling place,
The Truth my destination.


More information about the Edu-sig mailing list