15 #ifdef MATLAB_MEX_FILE 21 #define CS_DATE "Nov 30, 2009" 22 #define CS_COPYRIGHT "Copyright (c) Timothy A. Davis, 2006-2009" 36 cs *
cs_add (
const cs *A,
const cs *B,
double alpha,
double beta) ;
41 int cs_gaxpy (
const cs *A,
const double *
x,
double *y) ;
43 int cs_lusol (
int order,
const cs *A,
double *b,
double tol) ;
47 int cs_qrsol (
int order,
const cs *A,
double *b) ;
90 int *
cs_amd (
int order,
const cs *A) ;
96 int cs_ipvec (
const int *
p,
const double *b,
double *
x,
int n) ;
100 cs *
cs_permute (
const cs *A,
const int *pinv,
const int *q,
int values) ;
102 int cs_pvec (
const int *
p,
const double *b,
double *
x,
int n) ;
107 int cs_updown (
cs *L,
int sigma,
const cs *C,
const int *parent) ;
116 int *
cs_counts (
const cs *A,
const int *parent,
const int *post,
int ata) ;
118 int cs_dfs (
int j,
cs *G,
int top,
int *xi,
int *pstack,
const int *pinv) ;
119 int cs_ereach (
const cs *A,
int k,
const int *parent,
int *s,
int *w) ;
121 int cs_fkeep (
cs *A,
int (*fkeep) (
int,
int,
double,
void *),
void *other) ;
122 double cs_house (
double *
x,
double *beta,
int n) ;
123 int cs_leaf (
int i,
int j,
const int *first,
int *maxfirst,
int *prevleaf,
124 int *ancestor,
int *jleaf) ;
126 int *
cs_post (
const int *parent,
int n) ;
128 int cs_reach (
cs *G,
const cs *B,
int k,
int *xi,
const int *pinv) ;
129 int cs_scatter (
const cs *A,
int j,
double beta,
int *w,
double *
x,
int mark,
133 const int *pinv,
int lo) ;
134 int cs_tdfs (
int j,
int k,
int *head,
const int *next,
int *post,
143 #define CS_MAX(a,b) (((a) > (b)) ? (a) : (b)) 144 #define CS_MIN(a,b) (((a) < (b)) ? (a) : (b)) 145 #define CS_FLIP(i) (-(i)-2) 146 #define CS_UNFLIP(i) (((i) < 0) ? CS_FLIP(i) : (i)) 147 #define CS_MARKED(w,j) (w [j] < 0) 148 #define CS_MARK(w,j) { w [j] = CS_FLIP (w [j]) ; } 149 #define CS_CSC(A) (A && (A->nz == -1)) 150 #define CS_TRIPLET(A) (A && (A->nz >= 0))
css * cs_sqr(int order, const cs *A, int qr)
int cs_lusol(int order, const cs *A, double *b, double tol)
int cs_reach(cs *G, const cs *B, int k, int *xi, const int *pinv)
csn * cs_chol(const cs *A, const css *S)
int cs_lsolve(const cs *L, double *x)
size_t size(const MATRIXLIKE &m, const int dim)
struct cs_dmperm_results csd
cs * cs_spalloc(int m, int n, int nzmax, int values, int triplet)
int cs_ltsolve(const cs *L, double *x)
csn * cs_qr(const cs *A, const css *S)
cs * cs_done(cs *C, void *w, void *x, int ok)
cs * cs_symperm(const cs *A, const int *pinv, int values)
cs * cs_permute(const cs *A, const int *pinv, const int *q, int values)
int cs_droptol(cs *A, double tol)
csd * cs_dalloc(int m, int n)
csd * cs_dmperm(const cs *A, int seed)
int * cs_post(const int *parent, int n)
int cs_fkeep(cs *A, int(*fkeep)(int, int, double, void *), void *other)
double cs_house(double *x, double *beta, int n)
int cs_qrsol(int order, const cs *A, double *b)
int cs_ipvec(const int *p, const double *b, double *x, int n)
cs * cs_transpose(const cs *A, int values)
int cs_usolve(const cs *U, double *x)
int cs_dfs(int j, cs *G, int top, int *xi, int *pstack, const int *pinv)
int cs_print(const cs *A, int brief)
int cs_happly(const cs *V, int i, double beta, double *x)
int cs_sprealloc(cs *A, int nzmax)
int cs_ereach(const cs *A, int k, const int *parent, int *s, int *w)
int * cs_etree(const cs *A, int ata)
int cs_utsolve(const cs *U, double *x)
int cs_leaf(int i, int j, const int *first, int *maxfirst, int *prevleaf, int *ancestor, int *jleaf)
int * cs_maxtrans(const cs *A, int seed)
int * cs_idone(int *p, cs *C, void *w, int ok)
int cs_entry(cs *T, int i, int j, double x)
cs * cs_add(const cs *A, const cs *B, double alpha, double beta)
double cs_norm(const cs *A)
int cs_scatter(const cs *A, int j, double beta, int *w, double *x, int mark, cs *C, int nz)
void * cs_calloc(int n, size_t size)
int cs_pvec(const int *p, const double *b, double *x, int n)
double cs_cumsum(int *p, int *c, int n)
cs * cs_multiply(const cs *A, const cs *B)
int cs_tdfs(int j, int k, int *head, const int *next, int *post, int *stack)
cs * cs_compress(const cs *T)
csd * cs_ddone(csd *D, cs *C, void *w, int ok)
void * cs_malloc(int n, size_t size)
int cs_cholsol(int order, const cs *A, double *b)
void * cs_realloc(void *p, int n, size_t size, int *ok)
int * cs_amd(int order, const cs *A)
int * cs_pinv(const int *p, int n)
csn * cs_ndone(csn *N, cs *C, void *w, void *x, int ok)
int cs_gaxpy(const cs *A, const double *x, double *y)
csn * cs_lu(const cs *A, const css *S, double tol)
css * cs_schol(int order, const cs *A)
int cs_spsolve(cs *G, const cs *B, int k, int *xi, double *x, const int *pinv, int lo)
int * cs_randperm(int n, int seed)
int cs_updown(cs *L, int sigma, const cs *C, const int *parent)
int * cs_counts(const cs *A, const int *parent, const int *post, int ata)