PREFACE vii there just didn't seem to be much interesting that one could say about them without going deeply either into the theory of simple algebras or into homological algebra. Somewhat similarly, I decided not to discuss injective modules. It would have taken considerable effort just to prove that they exist in most cases, and there did not seem much that one could do with them without going into areas of ring theory beyond what I wished to discuss. Also, I did not discuss fully the characterization of finitely generated modules over PIDs, but I did include what seem to be the two most important special cases: the fundamental theorem forfiniteabelian groups and the fact that torsion-free, finitely generated modules over PIDs are free. Some of my inclusions (for example, the Berlekamp factorization algorithm and character theory) may seem too specialized for a book of this sort. I discussed the factorization algorithm for polynomials over finite fields, for instance, mostly because I think it is a really slick idea, but also because computer algebra software has become widely available recently, and it seemed that students of "theoretical" algebra ought to receive at least a glimpse of the sort of algorithms that underlie these programs. I included some character theory (Chapter 15 and part of Chapter 28) partly because it provides nice applications of some of the theory, but also, I must admit, because that is my own primary research interest. I also had to make decisions about notation. I suspect that the most controversial are those concerning functions and function composition. To me (and I think to most group theorists) it seems more natural to write "fg" rather than "g/" to denote the result of doing first function / and then function g. It did not seem wise to use left-to-right composition in the group theory chapters and then to switch and use right-to-left notation in the rest of the book, and so I decided to make consistency a high priority. Since I am a group theorist (and group theory is thefirsttopic in the book), I elected to use left-to-right composition everywhere. Customarily, when functions are composed left-to-right, the name ofthe function is written to therightof the argument. A critic of my left-to-right composition chal- lenged my claim to consistency by betting that I did not write (x)sin and (y)(d/dx) to denote the sine ofx or the derivative of y with respect to x. He wasright,of course. Like most mathematicians, I write most functions on the left. Nevertheless, I always (in this book at least) compose left-to-right. By my notational scheme, therefore, the following silly looking equation is technically correct: f(g(x)) = (gf)(x). In order to avoid such strange looking formulas, I take the view that the function name may be written on either side of its argument, whichever is most convenient at the moment. In contexts where function composition is important, I nearly always choose to put the function name on the right, but I am perfectly comfortable in writing sin(x), since we are not generally interested in compositions of trigonometric functions. No information is lost by allowing the same function to appear sometimes on the left and sometimes on therightbecause the composition rule is always left-to-right and is independent of how the function is written. Another of my decisions that will not meet with universal approval is that by my definition, rings have unity elements. There are a few places where this is not a good idea: one cannot conveniently state the theorem, for example, that a right artinian "ring" with no nonzero nilpotent ideals must have a unity. Most of the time,

Purchased from American Mathematical Society for the exclusive use of nofirst nolast (email unknown) Copyright 1994 American Mathematical Society. Duplication prohibited. Please report unauthorized use to cust-serv@ams.org. Thank You! Your purchase supports the AMS' mission, programs, and services for the mathematical community.