src/colamd/README
author Alpar Juttner <alpar@cs.elte.hu>
Sun, 05 Dec 2010 17:35:23 +0100
changeset 2 4c8956a7bdf4
permissions -rw-r--r--
Set up CMAKE build environment
alpar@1
     1
NOTE: Files in this subdirectory are NOT part of the GLPK package, but
alpar@1
     2
      are used with GLPK.
alpar@1
     3
alpar@1
     4
      The original code was modified according to GLPK requirements by
alpar@1
     5
      Andrew Makhorin <mao@gnu.org>.
alpar@1
     6
************************************************************************
alpar@1
     7
COLAMD/SYMAMD Version 2.7, Copyright (C) 1998-2007, Timothy A. Davis,
alpar@1
     8
All Rights Reserved.
alpar@1
     9
alpar@1
    10
Description:
alpar@1
    11
alpar@1
    12
   colamd:  an approximate minimum degree column ordering algorithm,
alpar@1
    13
            for LU factorization of symmetric or unsymmetric matrices,
alpar@1
    14
            QR factorization, least squares, interior point methods for
alpar@1
    15
            linear programming problems, and other related problems.
alpar@1
    16
alpar@1
    17
   symamd:  an approximate minimum degree ordering algorithm for
alpar@1
    18
            Cholesky factorization of symmetric matrices.
alpar@1
    19
alpar@1
    20
Purpose:
alpar@1
    21
alpar@1
    22
   Colamd computes a permutation Q such that the Cholesky factorization
alpar@1
    23
   of (AQ)'(AQ) has less fill-in and requires fewer floating point
alpar@1
    24
   operations than A'A.  This also provides a good ordering for sparse
alpar@1
    25
   partial pivoting methods, P(AQ) = LU, where Q is computed prior to
alpar@1
    26
   numerical factorization, and P is computed during numerical
alpar@1
    27
   factorization via conventional partial pivoting with row
alpar@1
    28
   interchanges.  Colamd is the column ordering method used in SuperLU,
alpar@1
    29
   part of the ScaLAPACK library.  It is also available as built-in
alpar@1
    30
   function in MATLAB Version 6, available from MathWorks, Inc.
alpar@1
    31
   (http://www.mathworks.com).  This routine can be used in place of
alpar@1
    32
   colmmd in MATLAB.
alpar@1
    33
alpar@1
    34
   Symamd computes a permutation P of a symmetric matrix A such that
alpar@1
    35
   the Cholesky factorization of PAP' has less fill-in and requires
alpar@1
    36
   fewer floating point operations than A.  Symamd constructs a matrix
alpar@1
    37
   M such that M'M has the same nonzero pattern of A, and then orders
alpar@1
    38
   the columns of M using colmmd.  The column ordering of M is then
alpar@1
    39
   returned as the row and column ordering P of A.
alpar@1
    40
alpar@1
    41
Authors:
alpar@1
    42
alpar@1
    43
   The authors of the code itself are Stefan I. Larimore and Timothy A.
alpar@1
    44
   Davis (davis at cise.ufl.edu), University of Florida.  The algorithm
alpar@1
    45
   was developed in collaboration with John Gilbert, Xerox PARC, and
alpar@1
    46
   Esmond Ng, Oak Ridge National Laboratory.
alpar@1
    47
alpar@1
    48
Acknowledgements:
alpar@1
    49
alpar@1
    50
   This work was supported by the National Science Foundation, under
alpar@1
    51
   grants DMS-9504974 and DMS-9803599.
alpar@1
    52
alpar@1
    53
License:
alpar@1
    54
alpar@1
    55
   This library is free software; you can redistribute it and/or
alpar@1
    56
   modify it under the terms of the GNU Lesser General Public License
alpar@1
    57
   as published by the Free Software Foundation; either version 2.1 of
alpar@1
    58
   the License, or (at your option) any later version.
alpar@1
    59
alpar@1
    60
   This library is distributed in the hope that it will be useful,
alpar@1
    61
   but WITHOUT ANY WARRANTY; without even the implied warranty of
alpar@1
    62
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
alpar@1
    63
   Lesser General Public License for more details.
alpar@1
    64
alpar@1
    65
   You should have received a copy of the GNU Lesser General Public
alpar@1
    66
   License along with this library; if not, write to the Free Software
alpar@1
    67
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
alpar@1
    68
   USA.
alpar@1
    69
alpar@1
    70
   Permission is hereby granted to use or copy this program under the
alpar@1
    71
   terms of the GNU LGPL, provided that the Copyright, this License,
alpar@1
    72
   and the Availability of the original version is retained on all
alpar@1
    73
   copies.  User documentation of any code that uses this code or any
alpar@1
    74
   modified version of this code must cite the Copyright, this License,
alpar@1
    75
   the Availability note, and "Used by permission."  Permission to
alpar@1
    76
   modify the code and to distribute modified code is granted, provided
alpar@1
    77
   the Copyright, this License, and the Availability note are retained,
alpar@1
    78
   and a notice that the code was modified is included.
alpar@1
    79
alpar@1
    80
   COLAMD is also available under alternate licenses, contact T. Davis
alpar@1
    81
   for details.
alpar@1
    82
alpar@1
    83
Availability:
alpar@1
    84
alpar@1
    85
   The colamd/symamd library is available at:
alpar@1
    86
alpar@1
    87
   http://www.cise.ufl.edu/research/sparse/colamd/
alpar@1
    88
alpar@1
    89
References:
alpar@1
    90
alpar@1
    91
   T. A. Davis, J. R. Gilbert, S. Larimore, E. Ng, An approximate
alpar@1
    92
   column minimum degree ordering algorithm, ACM Transactions on
alpar@1
    93
   Mathematical Software, vol. 30, no. 3., pp. 353-376, 2004.
alpar@1
    94
alpar@1
    95
   T. A. Davis, J. R. Gilbert, S. Larimore, E. Ng, Algorithm 836:
alpar@1
    96
   COLAMD, an approximate column minimum degree ordering algorithm, ACM
alpar@1
    97
   Transactions on Mathematical Software, vol. 30, no. 3., pp. 377-380,
alpar@1
    98
   2004.