A Computational Introduction to Number Theory and Algebra
Victor Shoup, New York University
Pub Date: 2009
ISBN 13: 9780521516440
Read this book
Conditions of Use
This text is an introduction to number theory and abstract algebra; based on its presentation, it appears appropriate for students coming from computer science. The book starts with basic properties of integers (e.g., divisibility, unique... read more
As promised by the title, the book gives a very nice overview of a side range of topics in number theory and algebra (primarily the former, but with quite a bit of attention to the latter as well), with special emphasis to the areas in which... read more
The text is so comprehensive that it feels overwhelming. The author wanted to include all of the mathematics required beyond a standard calculus sequence. However, the mathematical maturity required to read and learn from this text is quite... read more
Table of Contents
Chapter 1: Basic properties of the integers
Chapter 2: Congruences
Chapter 3: Computing with large integers
Chapter 4: Euclid's algorithm
Chapter 5: The distribution of primes
Chapter 6: Abelian groups
Chapter 7: Rings
Chapter 8: Finite and discrete probability distributions
Chapter 9: Probabilistic algorithms
Chapter 10: Probabilistic primality testing
Chapter 11: Finding generators and discrete logarithms inZ∗p
Chapter 12: Quadratic reciprocity and computing modular square roots
Chapter 13: Modules and vector spaces
Chapter 14: Matrices
Chapter 15: Subexponential-time discrete logarithms and factoring
Chapter 16: More rings
Chapter 17: Polynomial arithmetic and applications
Chapter 18: Finite Fields
Chapter 19: Linearly generated sequences and applications
Chapter 20: Algorithms for finite fields
Chapter 21: Deterministic primality testing
About the Book
All of the mathematics required beyond basic calculus is developed “from scratch.” Moreover, the book generally alternates between “theory” and “applications”: one or two chapters on a particular set of purely mathematical concepts are followed by one or two chapters on algorithms and applications; the mathematics provides the theoretical underpinnings for the applications, while the applications both motivate and illustrate the mathematics. Of course, this dichotomy between theory and applications is not perfectly maintained: the chapters that focus mainly on applications include the development of some of the mathematics that is specific to a particular application, and very occasionally, some of the chapters that focus mainly on mathematics include a discussion of related algorithmic ideas as well.
The mathematical material covered includes the basics of number theory (including unique factorization, congruences, the distribution of primes, and quadratic reciprocity) and of abstract algebra (including groups, rings, fields, and vector spaces). It also includes an introduction to discrete probability theory—this material is needed to properly treat the topics of probabilistic algorithms and cryptographic applications. The treatment of all these topics is more or less standard, except that the text only deals with commutative structures (i.e., abelian groups and commutative rings with unity) — this is all that is really needed for the purposes of this text, and the theory of these structures is much simpler and more transparent than that of more general, non-commutative structures.
- There are a few sections that are marked with a “(∗),” indicating that the material covered in that section is a bit technical, and is not needed else- where.
- There are many examples in the text, which form an integral part of the book, and should not be skipped.
- There are a number of exercises in the text that serve to reinforce, as well as to develop important applications and generalizations of, the material presented in the text.
- Some exercises are underlined. These develop important (but usually simple) facts, and should be viewed as an integral part of the book. It is highly recommended that the reader work these exercises, or at the very least, read and understand their statements.
- In solving exercises, the reader is free to use any previously stated results in the text, including those in previous exercises. However, except where otherwise noted, any result in a section marked with a “(∗),” or in §5.5, need not and should not be used outside the section in which it appears.
- There is a very brief “Preliminaries” chapter, which fixes a bit of notation and recalls a few standard facts. This should be skimmed over by the reader.
- There is an appendix that contains a few useful facts; where such a fact is used in the text, there is a reference such as “see §An,” which refers to the item labeled “An” in the appendix.
About the Contributors
Victor Shoup is a Professor in the Department of Computer Science at the Courant Institute of Mathematical Sciences, New York University.