skip to main content

Algorithm 837: AMD, an approximate minimum degree ordering algorithm

Published:01 September 2004Publication History
Skip Abstract Section

Abstract

AMD is a set of routines that implements the approximate minimum degree ordering algorithm to permute sparse matrices prior to numerical factorization. There are versions written in both C and Fortran 77. A MATLAB interface is included.

Skip Supplemental Material Section

Supplemental Material

References

  1. Amestoy, P. R., Davis, T. A., and Duff, I. S. 1996. An approximate minimum degree ordering algorithm. SIAM J. Matrix Anal. Applic. 17, 4, 886--905. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Davis, T. A., Gilbert, J. R., Larimore, S. I., and Ng, E. G. 2004. A column approximate minimum degree ordering algorithm. ACM Trans. Math. Softw. 30, 3 (Sept.), 000--000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. George, A. and Liu, J. W. H. 1989. The evolution of the minimum degree ordering algorithm. SIAM Rev. 31, 1, 1--19. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Hendrickson, B. and Rothberg, E. 1999. Improving the runtime and quality of nested dissection ordering. SIAM J. Sci. Comput. 20, 468--489. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. HSL. 2002. HSL 2002: A collection of Fortran codes for large scale scientific computation. http://www.cse.clrc.ac.uk/nag/hsl.Google ScholarGoogle Scholar
  6. Karypis, G. and Kumar, V. 1998. A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM J. Sci. Comput. 20, 359--392. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Pellegrini, F., Roman, J., and Amestoy, P. 2000. Hybridizing nested dissection and halo approximate minimum degree for efficient sparse matrix ordering. Concurrency: Practice and Experience 12, 68--84.Google ScholarGoogle Scholar
  8. Rothberg, E. and Eisenstat, S. C. 1998. Node selection strategies for bottom-up sparse matrix orderings. SIAM J. Matrix Anal. Applic. 19, 3, 682--695. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Schulz, J. 2001. Towards a tighter coupling of bottom-up and top-down sparse matrix ordering methods. BIT 41, 4, 800--841.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Algorithm 837: AMD, an approximate minimum degree ordering algorithm

        Recommendations

        Reviews

        Peter C. Patton

        Algorithm 837, called AMD, is a set of routines in C and FORTRAN 77 for preordering a sparse matrix prior to numerical factorization. It finds a permutation matrix, P , for the Cholesky factorization of a matrix, A , into its factors, L and L T ; that is, PAP T = LL T . The point is to do the factorization with less zeros than a straight Cholesky factorization of A , and this solution is much faster than other methods. It does not try to find the minimum degree ordering, but is satisfied to find the approximate minimum degree, in the interest of time. Rather than keep track of the exact degree of the ordering, the algorithm finds an upper bound on the degree that is easier (and faster) to compute. To call the algorithm from MATLAB, one simply writes p=amd(A) to find the permutation vector p , and then calls the Cholesky factorization with chol(A(p,p)) . In C, the C-callable AMD library consists of five user-callable routines and an included file ( #include "amd.h" ). Two FORTRAN versions are provided, but, unlike the C version, they require a symmetric nonzero pattern in A , with no diagonal entries present. This is a clearly written paper that explains everything the prospective user of Algorithm 837 needs to know. Online Computing Reviews Service

        Access critical reviews of Computing literature here

        Become a reviewer for Computing Reviews.

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM Transactions on Mathematical Software
          ACM Transactions on Mathematical Software  Volume 30, Issue 3
          September 2004
          152 pages
          ISSN:0098-3500
          EISSN:1557-7295
          DOI:10.1145/1024074
          Issue’s Table of Contents

          Copyright © 2004 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 September 2004
          Published in toms Volume 30, Issue 3

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader