Book contents
- Frontmatter
- Contents
- Preface
- Preliminaries
- 1 Basic properties of the integers
- 2 Congruences
- 3 Computing with large integers
- 4 Euclid's algorithm
- 5 The distribution of primes
- 6 Abelian groups
- 7 Rings
- 8 Finite and discrete probability distributions
- 9 Probabilistic algorithms
- 10 Probabilistic primality testing
- 11 Finding generators and discrete logarithms in ℤ*p
- 12 Quadratic reciprocity and computing modular square roots
- 13 Modules and vector spaces
- 14 Matrices
- 15 Subexponential-time discrete logarithms and factoring
- 16 More rings
- 17 Polynomial arithmetic and applications
- 18 Linearly generated sequences and applications
- 19 Finite fields
- 20 Algorithms for finite fields
- 21 Deterministic primality testing
- Appendix: Some useful facts
- Bibliography
- Index of notation
- Index
Preface
Published online by Cambridge University Press: 05 February 2015
- Frontmatter
- Contents
- Preface
- Preliminaries
- 1 Basic properties of the integers
- 2 Congruences
- 3 Computing with large integers
- 4 Euclid's algorithm
- 5 The distribution of primes
- 6 Abelian groups
- 7 Rings
- 8 Finite and discrete probability distributions
- 9 Probabilistic algorithms
- 10 Probabilistic primality testing
- 11 Finding generators and discrete logarithms in ℤ*p
- 12 Quadratic reciprocity and computing modular square roots
- 13 Modules and vector spaces
- 14 Matrices
- 15 Subexponential-time discrete logarithms and factoring
- 16 More rings
- 17 Polynomial arithmetic and applications
- 18 Linearly generated sequences and applications
- 19 Finite fields
- 20 Algorithms for finite fields
- 21 Deterministic primality testing
- Appendix: Some useful facts
- Bibliography
- Index of notation
- Index
Summary
Number theory and algebra play an increasingly significant role in computing and communications, as evidenced by the striking applications of these subjects to such fields as cryptography and coding theory. My goal in writing this book was to provide an introduction to number theory and algebra, with an emphasis on algorithms and applications, that would be accessible to a broad audience. In particular, I wanted to write a book that would be appropriate for typical students in computer science or mathematics who have some amount of general mathematical experience, but without presuming too much specific mathematical knowledge.
Prerequisites. The mathematical prerequisites are minimal: no particular mathematical concepts beyond what is taught in a typical undergraduate calculus sequence are assumed.
The computer science prerequisites are also quite minimal: it is assumed that the reader is proficient in programming, and has had some exposure to the analysis of algorithms, essentially at the level of an undergraduate course on algorithms and data structures.
Even though it is mathematically quite self contained, the text does presuppose that the reader is comfortable with mathematical formalism and also has some experience in reading and writing mathematical proofs. Readers may have gained such experience in computer science courses such as algorithms, automata or complexity theory, or some type of “discrete mathematics for computer science students” course. They also may have gained such experience in undergraduate mathematics courses, such as abstract or linear algebra.
- Type
- Chapter
- Information
- A Computational Introduction to Number Theory and Algebra , pp. x - xiiiPublisher: Cambridge University PressPrint publication year: 2008