I know the initial post points to many resources at once. While this entry on our wall of voodoo may be slightly repetitive, I hope this is more focused and organized for the interested cybernaut. Rather than involving Sage and the text, Abstract Algebra: Theory and Applications, if one were inclined to dive right into GAP, the initial place to start would appear to be with the
Rainbolt/Gallian Lab Manual and the corresponding Gallian textbook,
Contemporary Abstract Algebra.
If one were to get to the point (early on in chapter 2 of text and manual) where they mention U(n) or ulist(n), this is a short 5-line function written in a text file. These "subroutines" are most accessible downloading from
the cengage brains site. Follow link SUBROUTINES and download the zip. Unpack it into the gap4r7 directory. I created a folder called ghacks and put them there. You just load the function in with a command at the gap prompt.
Assuming you are in Windows and installed gap at c:\gap4r7 and unzipped the subroutines into a folder called gapprogs:
Read("/cygdrive/c/gap4r7/gapprogs/ulist");
In Linux it would be like:
Read("/home/yourfolder/gap4r7/gapprogs/ulist");
This may help you understand the direction of the /. In Windows, your c:\gap4r7 path will be /cygdrive/c/gap4r7.
Don't be scared. Take a walk on the Wild Side. Take a walk on the WEIRD side.
The file ulist just contains the following:
ulist := function(n)
local s, i, o;
o := One(Integers mod n);
s := n -> Flitered( [ 1..n-1 ], i -> Gcd(i, n) = 1);
return s(n)*o
end;
- which is kind of intuitively pleasing ... gap, like python, is an interactive system that continuously executes a read-evaluate-print loop ...
As mentioned, early on in the lab manual, some conjectures can be easily made through discovering patterns with the various input to ulist by checking its size.
Size(ulist(n))
This post is not about the differences between Windows and UNIX-descendent Linux. Like Python, GAP works fine in Windows. I just wanted to make subtle things a little clearer to make for a smooth start. You almost get a sensation that can be described as "the Unixification of Microsoft" ... You can use GAP as a brilliant calculator at your fingertips.
OK, so, once you
install gap from gap-system.org, the above mentioned resources are a good place to start. This exercise is even helping me understand
the Stepanov text(s) as well, all at a comfortable pace as long as life doesn't throw me any curve balls.
Even
Group Explorer can help with the geometrical/intuitive understanding that our boy Schopenhauer may have appreciated. It installs easily on Windows. I haven't been able to build it in Linux yet because of some Qt header files ... but Group Explorer is not necessary. It's just a nice supplement to introducing oneself to concepts in Abstract Algebra.
Not to be corny and geeky, but I have a genuine appreciation for these people for making their pedagogical resources so freely available to those weirdos out here who are curious explorers of these realms ...
I only wish those who are harnessed in the salt mines can steal away the night and join me on this intellectual adventure.
By the way, not for nothing, but GAP stands for Groups, Algorithms, and Programming.
It was only on August 24th that my interest in Number Theory and Abstract Algebra was invigorated when I found William Steins "Elementary Number Theory". This was when I first learned about the totient function (Euler "phi" function which gives the number of coprimes). Like I said, early on in the above manual, this concept became much clearer. Even if you look at the gap code for the function ulist, you will notice the local expression s filters for values of i where Gcd(i, n) = 1. This means i and n are relatively prime ... the greatest common divisor is 1.
GAP also has ShowGcd() which actually does pretty much what I made the python code
xlgcd do, so it's rather stimulating in a very geeky and weird way.
When setting up environments to use mathematics software, many days can be filled with technicalities, but with patience and some miraculous feat to escape from one's harness, you might have a few days devoted to the pursuit of deeper understanding. This may be sweeter revenge than toppling empires!
Less handcuffs and harnesses; more notebooks, pencils, coffee & tobacco. Thank you!