Group Theory for Beginners

25 views
Skip to first unread message

kirby urner

unread,
Nov 11, 2015, 11:54:27 PM11/11/15
to mathf...@googlegroups.com

I think the common wisdom is that the transition from arithmetic to algebra is marked by an increase in non-numeric symbolization, by which I mean, those "variables" creep in, like x and y.  

I'm certainly not arguing with that characterization, however I think there's another way in which "letters" (as opposed to "numbers") infuse STEM:  as a "type" of object.  

Integers, floats, decimals, fractions (i.e. rationals q/p where q,p are in Z), complex numbers... and then come strings, with methods of their own.  It's not just about 'X' representing some number, it's about some number, expressed in hexadecimals, representing 'X'.

Books such as Godel, Escher, Bach by Douglas Hofstadter helped integrate arithmetic operations like 2 + 2 = 4, with string concatenation, like '2' + '2' = '22'.  DNA / RNA is lexical. It has an alphabet.  Amino acids are like words.  The literally make up the "structured text" of our cells.  Biology is looking less like number crunching and more like word processing these days.

In a recent thread here on mathfuture, on keeping bases other than ten in commonly available curricula, I underlined ASCII and Unicode as world standards worth knowing about.  

My call to focus on hexadecimals should actually hearten those who fear "number crunching" and/or suffer from "math anxiety" as hexadecimals point a way free of numbers, into text, into Shakespeare, Coleridge and Poe.  Hexadecimals take us deeper into the Humanities.

When I start a new class in Python, a first thing I might say is:  "you maybe have bought into the stereotype that computers are primarily about 'crunching numbers' but I think what you'll find is they're just as concerned with operations on text".  

Such operations as pattern matching with regular expressions, ala grep.  It's not just about numbers, it's about lexical content.  The tree structure we most interact with, besides real trees, is our computer's filesystem.  In our (social) networks, we're literally the nodes.  Math R Us.

To recap, as we climb higher on the STEM ladder, letters invade mathematics in two ways: as symbols for free-to-vary numeric values in algebra, and as a type in their own right, with operations of their own, in computer science.

In recognition of the importance of letters, text, non-numeric or semi-numerical algorithms, I like to focus on "encoding and encrypting" as a bridge topic, a way of going back and forth, between numerical and only somewhat numerical content.

For example, I'll talk about "permutations" like from group theory, as "mappings" of letters to letters, the column A-Z to A-Z again in random order (throw in the space as another character, to make it more fun, harder to decode).  

'A' -> 'C'
'B' -> 'Q'
'C' -> 'R' 
...

and like that.  Some random permutation, a function, one to one.  

What's that good for, besides learning about the dictionary as a data structure?

Why encrypting of course.  

Run a phrase "the rain in spain stays mainly in the plain".upper() through that "permuter" and you have your ciphertext out the back.  

Very weak encryption true, but useful in learning to program, and in learning what a "permutation" means.

Did you know permutations may be multiplied?  

That's the next step.  If A -> C in P0, and C -> K in P1, then in P0 * P1, A -> K i.e. to multiply is to compose.  In Python, we may literally repurpose the * operator to this end.

We like to say "multiply" because that implies "powering" is possible (i.e. ** in Python).

We can raise P0 to the nth power, multiplying by itself.  

How long till it cycles back and becomes the original permutation? WIll that happen?

There's a theorem about that.  

Something about the LCM of the lengths of the subcycles.  What's a subcycle? [1]

We're doing group theory now, nothing fancy, but certainly worthy of math credit.  This isn't just some computer science "elective" we're doing.

I'm currently teaching this content to adults in California.  It's like a call in radio show in that I can unmute their microphones.  We also have a chat window.  Mostly they're watching my REPL and following along.[2]   I have them grab the Anaconda distro and we use Spyder instead of Eclipse.

This way of teaching is quite different and complementary to what I do with O'Reilly School. The asynchronous teaching I do is about evaluating individual student work, leading to earning a certificate.  The synchronous stuff, the real time class, is more just informational with the students invited to follow along during four hour meetups.  We have labs.  They can share their screen with the group of about twenty.  

We've played with similar tools here, Maria a pioneer.

No I'm not using Google Classroom (some of you may remember my expressions of interest in that new technology a few weeks back -- I'm still interested).

The J language is natively steeped in group theory, with primitive operators for working with permutations.[3]  J was influential as I developed my approach to teaching STEM topics with Python over the years.

Kirby



kirby urner

unread,
Nov 19, 2015, 2:47:11 PM11/19/15
to mathf...@googlegroups.com
FYI.

Here's a link to recently published Python code for a Permutation class, per the posting (abbreviated) below.
There's been no discussion yet (edu-sig is pretty quiet these days).

Kirby

On Wed, Nov 11, 2015 at 8:54 PM, kirby urner <kirby...@gmail.com> wrote (one typo fixed):

<< SNIP >>
 
For example, I'll talk about "permutations" like from group theory, as "mappings" of letters to letters, the column A-Z to A-Z again in random order (throw in the space as another character, to make it more fun, harder to decode).  

'A' -> 'C'
'B' -> 'Q'
'C' -> 'R' 
...

and like that.  Some random permutation, a function, one to one.  

What's that good for, besides learning about the dictionary as a data structure?

Why encrypting of course.  

Run a phrase "the rain in spain stays mainly in the plain".upper() through that "permuter" and you have your ciphertext out the back.  

Very weak encryption true, but useful in learning to program, and in learning what a "permutation" means.

Did you know permutations may be multiplied?  

That's the next step.  If A -> C in P0, and C -> K in P1, then in P0 * P1, A -> K i.e. to multiply is to compose.  In Python, we may literally repurpose the * operator to this end.

We like to say "multiply" because that implies "powering" is possible (i.e. ** in Python).

We can raise P0 to the nth power, multiplying by itself.  

How long till it cycles back and becomes the original permutation? Will that happen?

kirby urner

unread,
Nov 20, 2015, 5:13:43 PM11/20/15
to mathf...@googlegroups.com

This group theory stuff and the polyedrons with their duals stuff (another thread) all connects of course:

http://www.unitaryflow.com/2009/06/polyhedra-and-groups.html

Another cool bridge between branches of STEM.

Kirby
Reply all
Reply to author
Forward
0 new messages