1function p = cs_amd (A,order)                                               %#ok
2%CS_AMD approximate minimum degree ordering.
3%   p = cs_amd(A) finds a minimum degree ordering of A+A'
4%   p = cs_amd(A,order):
5%       order = 1:  same as cs_amd(A)
6%       order = 2:  minimum degree ordering of S'*S where S = A except that
7%                   "dense" rows of A are removed from S (a dense row has
8%                   10*sqrt(n) or more entries where n = size(A,2)).  Similar
9%                   to p = colamd(A), except that colamd does not form A'*A
10%                   explicitly.
11%       order = 3:  minimum degree ordering of A'*A.  Similar to colamd(A,[n m])
12%                   where [m n] = size(A), except that colamd does not form A'*A
13%                   explicitly.
14%   Example:
15%       Prob = ssget ('HB/bcsstk01') ; A = Prob.A ;
16%       p = cs_amd (A) ;
17%       nnz (chol (A))
18%       nnz (chol (A (p,p)))
19%
20%   See also AMD, COLAMD, SYMAMD.
21
22% Copyright 2006-2012, Timothy A. Davis, http://www.suitesparse.com
23
24error ('cs_amd mexFunction not found') ;
25