[Tutor] determining whether a set is a group
Benoit Dupire
bdupire@seatech.fau.edu
Tue, 01 May 2001 15:25:55 -0400
Thank you for your answer.
A few years ago, iwas only doing mathematics and physics and the kind of exercice to
practice we got was like the following one:
a * b = a+b - a x b
is (Z, *) a group ?
Yes ? no ?
If no how can i modify it to make it a group ?
It would be interesting to make a computer program to solve this kinds of pb.
As you suggest it, i would use a subset, lets say -10 ; 10 (because 0, 1 are often
worth to try as a general rule ) and additionnally i would build a function, that
takes a variable and checks if it belongs to Z
Answer:
if b= 1, a * b = a+ b - a x b = a + 1 - a x 1 = 1
so a * 1 = 1 whatever 'a' is. so 1 has no inverse, i have to remove it from Z to
have a group....
But to make a computer think like that is not so easy... :o)
Benoit
Corran Webster wrote:
>
>
> As far as I can see, the best solution to the original problem (given
> a finite set and the Cayley matrix of an operation on the set, is it
> a group?) is a brute force checking of the axioms. For efficiency
> it's probably best use a dictionary to represent the matrix, rather
> than a list of lists, and for generality it's probably better to have
> the algortihm work with the operation as a function, rather than
> directly with the matrix, but I could be wrong.
>
> Eg. (untested code)
>
> def cayleyToOp(set, cayley):
> """Given a set and a Cayley matrix, returns a function which
> performs the operation on two elements."""
> matrix = {}
> for a in range(len(set)):
> for b in range(len(set)):
> matrix[(set[a], set[b])] = cayley[a][b]
> return lambda a, b, matrix=matrix: matrix[(a,b)]
>
> Z3 = [0, 1, 2]
> Z3Cayley = [[0,1,2], [1,2,0], [2,0,1]]
> Z3op = cayleyToOp(Z3, Z3Cayley)
>
> print Z3op(1,1)
> #should print 2
>
> of course Z3op could be more efficiently implimented as
>
> def Z3op(a, b):
> return (a+b) % 3
>
> which is why the group checking stuff will be more flexible if you
> allow functions.
>
> >Although i remember what a group is , i don't remember what groups are useful
> >for....... any math teachers?
>
> As it so happens, I teach math at UNLV. Groups typically come up in
> situations where there is symmetry of some sort and so can be used to
> describe the symmetry which is present. Knowing symmetries can help
> you find and classify solutions to concrete problems.
>
> They are also one of the fundamental building blocks of abstract
> algebra and most interesting algebraic systems involve some sort of
> group structure. The standard addition of numbers is an example of a
> group.
>
> Regards,
> Corran
>
> _______________________________________________
> Tutor maillist - Tutor@python.org
> http://mail.python.org/mailman/listinfo/tutor
--
Benoit Dupire
Graduate Student
----------------
I'd like to buy a new Boomerang. How can i get rid of the old one?