Dir€ct M€thods
for Spars€
Lin€ar S4st€mS
fUndam€ntals ot Algorithms
Editor-in-Chief: Nicholas J. Higham, University of Manchester
The SIAM series on Fundamentals of Algorithms publishes monographs on state-of-the-art
numerical methods to provide the reader with sufficient knowledge to choose the appropriate
method for a given application and to aid the reader in understanding the limitations of each
method. The monographs focus on numerical methods and algorithms to solve specific classes of
problems and are written for researchers, practitioners, and students.
The goal of the series is to produce a collection of short books, written by experts on numerical
methods, that include an explanation of each method and a summary of theoretical background.
What distinguishes a book in this series is both its emphasis on explaining how to best choose
a method, algorithm, or software package to solve a specific type of problem and its descrip
tions of when a given algorithm or method succeeds or fails.
Editorial Board
Peter Benner
Technische Universitat Chemnitz
John R. Gilbert
University of California, Santa Barbara
Michael T. Heath
University of Illinois-Urbana-Champaign
C. T. Kelley
North Carolina State University
Cleve Moler
The MathWorks, Inc.
James G. Nagy
Emory University
Dianne P. O'Leary
University of Maryland
Robert D. Russell
Simon Fraser University
Robert D. Skeel
Purdue University
Danny Sorensen
Rice University
Andrew J. Wathen
Oxford University
Henry Wolkowicz
University of Waterloo
Series Volumes
Davis, T. A.
Kelley, C. T.
Direct Methods for Sparse Linear Systems
Solving Nanlinear Equations with Newton's Method
Timoth4 A. Davis
Univ€rsih., of f'lorida
f'lorida
Goin€svi11€,
Dir€ct M€thods
for Spors€
Lin€or S4St€mS
•
SJ.aJ1L
Society for Industrial and Applied Mathematics
Philadelphia
Copyright © 2006 by Society for Industrial and Applied Mathematics.
10 9 8 7 6 5 4 3 2 1
All rights reserved. Printed in the United States of America. No part of this book may be
reproduced, stored, or transmitted in any manner without the written permission of the publisher.
For information, write to the Society for Industrial and Applied Mathematics, 3600 University City
Science Center, Philadelphia, PA 19104-2688 USA.
Trademarked names may be used in this book without the inclusion of a trademark symbol. These
names are used in an editorial context only; no infringement of trademark is intended.
Maple is a registered trademark of Waterloo Maple, Inc.
MATLAB is a registered trademark of The MathWorks, Inc. For MAHAB product information, please
contact The MathWorks, Inc., 3 Apple Hill Drive, Natick, MA 01760-2098 USA,
508-647-7000, Fax: 508-647-7101, info@mathworks.com, www.mathworks.com
No warranties, expressed or implied, are made by the publisher, author, and their employers that the
programs contained in this volume are free of error. They should not be relied on as the sole basis to
solve a problem whose incorrect solution could result in injury to person or property. If the programs
are employed in such a manner, it is at the user's own risk and the publisher, author, and their
employers disclaim all liability for such misuse.
The algorithms presented in this book were developed with support from various sources, including
Sandia National laboratory, the National Science Foundation (ASC-9111263, DMS-9223088,
DMS-9504974, DMS-9803599, and CCR-0203720), The MathWorks, Inc., and the University of Rorida.
Library of Congress Cataloging-in-Publication Data
Davis, Timothy A.
Direct methods for sparse linear systems / Timothy A. Davis.
p. em. -
(Fundamentals of algorithms)
Includes bibliographical references and index.
ISBN-13: 978-0-898716-13-9 (pbk.)
ISBN-10: 0-89871-613-6 (pbk.)
1. Sparse matrices. 2. Linear systems.
I. Title.
QA188.0386 2006
512.9'434-dc22
ISBN-13: 978-0-898716-13-9
ISBN-10: 0-89871-613-6
•
SJaJ1L is a registered trademark.
2006044387
For Connie, Emily, and Timothy J. ('TJ")
This page intentionally left blank
Contents
Preface
1
2
3
4
Introduction
1.1
1.2
1.3
.
.
.
Linear algebra .
.
Graph theory, algorithms, and data structures
.
Further reading .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Basic algorithms
2.1
Sparse matrix data structures
2.2
Matrix-vector multiplication
2.3
Utilities...
2.4
Triplet form .
.
Transpose..........
2.5
2.6
Summing up duplicate entries
Removing entries from a matrix
2.7
2.8
Matrix multiplication
2.9
Matrix addition ..
2.10
Vector permutation
2.11 Matrix permutation
2.12 Matrix norm . . . .
2.13
2.14
2.15
2.16
Exercises
Reading a matrix from a file
Printing a matrix . . . .
Sparse matrix collections
Further reading
.
Solving triangular systems
3.1
3.2
3.3
Exercises
A dense right-hand side.
A sparse right-hand side
Further reading
.
Cholesky factorization
4.1
Elimination tree .
VII
xi
1
2
4
6
7
7
9
10
12
14
15
16
17
19
20
21
22
23
23
24
24
24
27
27
29
35
35
37
38