Hitting two targets: OO + group theory (pedagogy)

David C. Ullrich ullrich at math.okstate.edu
Sat Mar 3 11:32:27 EST 2001


On Sat, 03 Mar 2001 07:54:43 -0800, Kirby Urner
<urner at alumni.princeton.edu> wrote:

>ullrich at math.okstate.edu (David C. Ullrich) wrote:
>
[...]
>>Seems more interesting to me to start with a class
>>Group that includes stuff common to all groups, so
>>that a subclass can represent any group at all. If we're
>>going to implement what's above as part of a
>>"curriculum" then at least we should make it clear
>>that our sandbox is not "groups", it's a tiny part of
>>the category of all groups.
>
>Yes, just an example of a group.  In another essay, I 
>go with permutations, showing how these might be associated
>with "clubhouse codes" (exchanging letters for other 
>letters as in a Julius Caesar code).  I'd also like 
>to build on my OO + Polyhedra approach to get into 
>symmetry groups -- getting topics to connect around to
>other topics as much as feasible is what I mean by a
>"curriculum" (stuff connecting around in all 
>circumferential directions, to form a system -- the
>notion of circling-back is built right into the 
>etymology).
>
>I try to be fairly general in my approach to the 
>group of relatively prime integers under multiplication
>vis-a-vis modulus n in my little essay for 8th graders:
>
>   When we study group theory, we have a mnemonic 
>   that's helpful if you've studied the book of 
>   Genesis at least enough to know the story of 
>   Cain and Abel (use a search engine maybe).  Use 
>   the letters CAIN to stand for "Closure, Associative, 
>   Inverse, Neutral" -- and there you have the 
>   properties you need to call your set & operation 
>   a "group".
>
>   These properties are defined with respect to a set 
>   of elements, and an operation for relating them 
>   (we generally call the operation "multiplication", 
>   no matter what it actually does). If multiplication 
>   is not just associative, but commutative as well, 
>   then that's where Abel comes in -- we call it an 
>   Abelian Group.
>
>Probably there's some syntax that could be tightened
>up here too.

Some people would say that the reference to Genesis
is out of place here... probably you know that some
people would say that. Might be regarded as just
generally inappropriate - some other people might
think that the bit about Abel is misleading, since
"Abelian" _does_ refer to a man named Abel, but
not the one in Genesis.

But what the heck, now that W's in charge
we're not worrying about technicalities like
separation of church and state anymore.

But why not start with a class Group instead
of special cases? (Would be a class with a
__mul__ method that does nothing but raise
an exception "must implement __mul__ in
a subclass", an Id attribute, etc. I can't think
of anything offhand that Group would actually
_do_, but if we're bent on this OO-math thing
it seems like groups _should_ be descendants
of a class Group...)

>Thanks for your useful feedback.  Much appreciated.
>
>Kirby
>




More information about the Python-list mailing list