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 Finite and discrete probability distributions
- 7 Probabilistic algorithms
- 8 Abelian groups
- 9 Rings
- 10 Probabilistic primality testing
- 11 Finding generators and discrete logarithms in
- 12 Quadratic residues and quadratic reciprocity
- 13 Computational problems related to quadratic residues
- 14 Modules and vector spaces
- 15 Matrices
- 16 Subexponential-time discrete logarithms and factoring
- 17 More rings
- 18 Polynomial arithmetic and applications
- 19 Linearly generated sequences and applications
- 20 Finite fields
- 21 Algorithms for finite fields
- 22 Deterministic primality testing
- Appendix: Some useful facts
- Bibliography
- Index of notation
- Index
15 - Matrices
Published online by Cambridge University Press: 05 June 2012
- 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 Finite and discrete probability distributions
- 7 Probabilistic algorithms
- 8 Abelian groups
- 9 Rings
- 10 Probabilistic primality testing
- 11 Finding generators and discrete logarithms in
- 12 Quadratic residues and quadratic reciprocity
- 13 Computational problems related to quadratic residues
- 14 Modules and vector spaces
- 15 Matrices
- 16 Subexponential-time discrete logarithms and factoring
- 17 More rings
- 18 Polynomial arithmetic and applications
- 19 Linearly generated sequences and applications
- 20 Finite fields
- 21 Algorithms for finite fields
- 22 Deterministic primality testing
- Appendix: Some useful facts
- Bibliography
- Index of notation
- Index
Summary
In this chapter, we discuss basic definitions and results concerning matrices. We shall start out with a very general point of view, discussing matrices whose entries lie in an arbitrary ring R. Then we shall specialize to the case where the entries lie in a field F, where much more can be said.
One of the main goals of this chapter is to discuss “Gaussian elimination,” which is an algorithm that allows us to efficiently compute bases for the image and kernel of an F-linear map.
In discussing the complexity of algorithms for matrices over a ring R, we shall treat a ring R as an “abstract data type,” so that the running times of algorithms will be stated in terms of the number of arithmetic operations in R. If R is a finite ring, such as ℤm, we can immediately translate this into a running time on a RAM (in later chapters, we will discuss other finite rings and efficient algorithms for doing arithmetic in them).
If R is, say, the field of rational numbers, a complete running time analysis would require an additional analysis of the sizes of the numbers that appear in the execution of the algorithm. We shall not attempt such an analysis here—however, we note that all the algorithms discussed in this chapter do in fact run in polynomial time when R = ℚ, assuming we represent rational numbers as fractions in lowest terms. Another possible approach for dealing with rational numbers is to use floating point approximations.
- Type
- Chapter
- Information
- A Computational Introduction to Number Theory and Algebra , pp. 316 - 335Publisher: Cambridge University PressPrint publication year: 2005