edu.ufl.cise.amd.tdouble
Class Damd

java.lang.Object
  extended by edu.ufl.cise.amd.tdouble.Damd
Direct Known Subclasses:
Damd_internal

public class Damd
extends Object

AMD finds a symmetric ordering P of a matrix A so that the Cholesky factorization of P*A*P' has fewer nonzeros and takes less work than the Cholesky factorization of A. If A is not symmetric, then it performs its ordering on the matrix A+A'. Two sets of user-callable routines are provided, one for int integers and the other for UF_long integers. The method is based on the approximate minimum degree algorithm, discussed in Amestoy, Davis, and Duff, "An approximate degree ordering algorithm", SIAM Journal of Matrix Analysis and Applications, vol. 17, no. 4, pp. 886-905, 1996. This package can perform both the AMD ordering (with aggressive absorption), and the AMDBAR ordering (without aggressive absorption) discussed in the above paper. This package differs from the Fortran codes discussed in the paper: (1) it can ignore "dense" rows and columns, leading to faster run times (2) it computes the ordering of A+A' if A is not symmetric (3) it is followed by a depth-first post-ordering of the assembly tree (or supernodal elimination tree)


Field Summary
static int AMD_AGGRESSIVE
          do aggressive absorption if Control [1] != 0
static int AMD_CONTROL
          size of Control array
static String AMD_DATE
           
static int AMD_debug
          default is no debug printing
static int AMD_DEFAULT_AGGRESSIVE
          do aggressive absorption by default
static double AMD_DEFAULT_DENSE
          default "dense" degree 10*sqrt(n)
static int AMD_DENSE
          "dense" if degree > Control [0] * sqrt (n)
static int AMD_DMAX
          max nz.
static int AMD_INFO
          size of Info array
static int AMD_INVALID
           
static int AMD_LNZ
          approx.
static int AMD_MAIN_VERSION
           
static int AMD_MEMORY
          amount of memory used by AMD
static int AMD_N
          A is n-by-n
static int AMD_NCMPA
          number of garbage collections in AMD
static int AMD_NDENSE
          number of "dense" rows/columns in A
static int AMD_NDIV
          number of fl.
static int AMD_NMULTSUBS_LDL
          number of fl.
static int AMD_NMULTSUBS_LU
          number of fl.
static int AMD_NZ
          number of nonzeros in A
static int AMD_NZ_A_PLUS_AT
          nz in A+A'
static int AMD_NZDIAG
          # of entries on diagonal
static int AMD_OK
           
static int AMD_OK_BUT_JUMBLED
           
static int AMD_OUT_OF_MEMORY
           
static int AMD_STATUS
          return value of amd_order and amd_l_order
static int AMD_SUB_VERSION
           
static int AMD_SUBSUB_VERSION
           
static int AMD_SYMMETRY
          symmetry of pattern (1 is sym., 0 is unsym.)
static int AMD_VERSION
           
 
Constructor Summary
Damd()
           
 
Method Summary
static int AMD_VERSION_CODE(int main, int sub)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

AMD_debug

public static int AMD_debug
default is no debug printing


AMD_CONTROL

public static final int AMD_CONTROL
size of Control array

See Also:
Constant Field Values

AMD_INFO

public static final int AMD_INFO
size of Info array

See Also:
Constant Field Values

AMD_DENSE

public static final int AMD_DENSE
"dense" if degree > Control [0] * sqrt (n)

See Also:
Constant Field Values

AMD_AGGRESSIVE

public static final int AMD_AGGRESSIVE
do aggressive absorption if Control [1] != 0

See Also:
Constant Field Values

AMD_DEFAULT_DENSE

public static final double AMD_DEFAULT_DENSE
default "dense" degree 10*sqrt(n)

See Also:
Constant Field Values

AMD_DEFAULT_AGGRESSIVE

public static final int AMD_DEFAULT_AGGRESSIVE
do aggressive absorption by default

See Also:
Constant Field Values

AMD_STATUS

public static final int AMD_STATUS
return value of amd_order and amd_l_order

See Also:
Constant Field Values

AMD_N

public static final int AMD_N
A is n-by-n

See Also:
Constant Field Values

AMD_NZ

public static final int AMD_NZ
number of nonzeros in A

See Also:
Constant Field Values

AMD_SYMMETRY

public static final int AMD_SYMMETRY
symmetry of pattern (1 is sym., 0 is unsym.)

See Also:
Constant Field Values

AMD_NZDIAG

public static final int AMD_NZDIAG
# of entries on diagonal

See Also:
Constant Field Values

AMD_NZ_A_PLUS_AT

public static final int AMD_NZ_A_PLUS_AT
nz in A+A'

See Also:
Constant Field Values

AMD_NDENSE

public static final int AMD_NDENSE
number of "dense" rows/columns in A

See Also:
Constant Field Values

AMD_MEMORY

public static final int AMD_MEMORY
amount of memory used by AMD

See Also:
Constant Field Values

AMD_NCMPA

public static final int AMD_NCMPA
number of garbage collections in AMD

See Also:
Constant Field Values

AMD_LNZ

public static final int AMD_LNZ
approx. nz in L, excluding the diagonal

See Also:
Constant Field Values

AMD_NDIV

public static final int AMD_NDIV
number of fl. point divides for LU and LDL'

See Also:
Constant Field Values

AMD_NMULTSUBS_LDL

public static final int AMD_NMULTSUBS_LDL
number of fl. point (*,-) pairs for LDL'

See Also:
Constant Field Values

AMD_NMULTSUBS_LU

public static final int AMD_NMULTSUBS_LU
number of fl. point (*,-) pairs for LU

See Also:
Constant Field Values

AMD_DMAX

public static final int AMD_DMAX
max nz. in any column of L, incl. diagonal

See Also:
Constant Field Values

AMD_OK

public static final int AMD_OK
See Also:
Constant Field Values

AMD_OUT_OF_MEMORY

public static final int AMD_OUT_OF_MEMORY
See Also:
Constant Field Values

AMD_INVALID

public static final int AMD_INVALID
See Also:
Constant Field Values

AMD_OK_BUT_JUMBLED

public static final int AMD_OK_BUT_JUMBLED
See Also:
Constant Field Values

AMD_DATE

public static final String AMD_DATE
See Also:
Constant Field Values

AMD_MAIN_VERSION

public static final int AMD_MAIN_VERSION
See Also:
Constant Field Values

AMD_SUB_VERSION

public static final int AMD_SUB_VERSION
See Also:
Constant Field Values

AMD_SUBSUB_VERSION

public static final int AMD_SUBSUB_VERSION
See Also:
Constant Field Values

AMD_VERSION

public static final int AMD_VERSION
Constructor Detail

Damd

public Damd()
Method Detail

AMD_VERSION_CODE

public static int AMD_VERSION_CODE(int main,
                                   int sub)


Copyright © 2012. All Rights Reserved.