#include <stdlib.h>
#include <limits.h>
#include <math.h>
#include <stdio.h>
Go to the source code of this file.
Classes | |
struct | cs_dmperm_results |
struct | cs_numeric |
struct | cs_sparse |
struct | cs_symbolic |
Defines | |
#define | CS_COPYRIGHT "Copyright (c) Timothy A. Davis, 2006-2009" |
#define | CS_CSC(A) (A && (A->nz == -1)) |
#define | CS_DATE "Jan 20, 2009" /* CSparse release date */ |
#define | CS_FLIP(i) (-(i)-2) |
#define | CS_MARK(w, j) { w [j] = CS_FLIP (w [j]) ; } |
#define | CS_MARKED(w, j) (w [j] < 0) |
#define | CS_MAX(a, b) (((a) > (b)) ? (a) : (b)) |
#define | CS_MIN(a, b) (((a) < (b)) ? (a) : (b)) |
#define | CS_SUBSUB 3 |
#define | CS_SUBVER 2 |
#define | CS_TRIPLET(A) (A && (A->nz >= 0)) |
#define | CS_UNFLIP(i) (((i) < 0) ? CS_FLIP(i) : (i)) |
#define | CS_VER 2 /* CSparse Version 2.2.3 */ |
Typedefs | |
typedef struct cs_sparse | cs |
typedef struct cs_dmperm_results | csd |
typedef struct cs_numeric | csn |
typedef struct cs_symbolic | css |
Functions | |
cs * | cs_add (const cs *A, const cs *B, double alpha, double beta) |
int * | cs_amd (int order, const cs *A) |
void * | cs_calloc (int n, size_t size) |
csn * | cs_chol (const cs *A, const css *S) |
int | cs_cholsol (int order, const cs *A, double *b) |
cs * | cs_compress (const cs *T) |
int * | cs_counts (const cs *A, const int *parent, const int *post, int ata) |
double | cs_cumsum (int *p, int *c, int n) |
csd * | cs_dalloc (int m, int n) |
csd * | cs_ddone (csd *D, cs *C, void *w, int ok) |
csd * | cs_dfree (csd *D) |
int | cs_dfs (int j, cs *G, int top, int *xi, int *pstack, const int *pinv) |
csd * | cs_dmperm (const cs *A, int seed) |
cs * | cs_done (cs *C, void *w, void *x, int ok) |
int | cs_droptol (cs *A, double tol) |
int | cs_dropzeros (cs *A) |
int | cs_dupl (cs *A) |
int | cs_entry (cs *T, int i, int j, double x) |
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_fkeep (cs *A, int(*fkeep)(int, int, double, void *), void *other) |
void * | cs_free (void *p) |
int | cs_gaxpy (const cs *A, const double *x, double *y) |
int | cs_happly (const cs *V, int i, double beta, double *x) |
double | cs_house (double *x, double *beta, int n) |
int * | cs_idone (int *p, cs *C, void *w, int ok) |
int | cs_ipvec (const int *p, const double *b, double *x, int n) |
int | cs_leaf (int i, int j, const int *first, int *maxfirst, int *prevleaf, int *ancestor, int *jleaf) |
cs * | cs_load (FILE *f) |
int | cs_lsolve (const cs *L, double *x) |
int | cs_ltsolve (const cs *L, double *x) |
csn * | cs_lu (const cs *A, const css *S, double tol) |
int | cs_lusol (int order, const cs *A, double *b, double tol) |
void * | cs_malloc (int n, size_t size) |
int * | cs_maxtrans (const cs *A, int seed) |
cs * | cs_multiply (const cs *A, const cs *B) |
csn * | cs_ndone (csn *N, cs *C, void *w, void *x, int ok) |
csn * | cs_nfree (csn *N) |
double | cs_norm (const cs *A) |
cs * | cs_permute (const cs *A, const int *pinv, const int *q, int values) |
int * | cs_pinv (const int *p, int n) |
int * | cs_post (const int *parent, int n) |
int | cs_print (const cs *A, int brief) |
int | cs_pvec (const int *p, const double *b, double *x, int n) |
csn * | cs_qr (const cs *A, const css *S) |
int | cs_qrsol (int order, const cs *A, double *b) |
int * | cs_randperm (int n, int seed) |
int | cs_reach (cs *G, const cs *B, int k, int *xi, const int *pinv) |
void * | cs_realloc (void *p, int n, size_t size, int *ok) |
int | cs_scatter (const cs *A, int j, double beta, int *w, double *x, int mark, cs *C, int nz) |
csd * | cs_scc (cs *A) |
css * | cs_schol (int order, const cs *A) |
css * | cs_sfree (css *S) |
cs * | cs_spalloc (int m, int n, int nzmax, int values, int triplet) |
cs * | cs_spfree (cs *A) |
int | cs_sprealloc (cs *A, int nzmax) |
int | cs_spsolve (cs *G, const cs *B, int k, int *xi, double *x, const int *pinv, int lo) |
css * | cs_sqr (int order, const cs *A, int qr) |
cs * | cs_symperm (const cs *A, const int *pinv, int values) |
int | cs_tdfs (int j, int k, int *head, const int *next, int *post, int *stack) |
cs * | cs_transpose (const cs *A, int values) |
int | cs_updown (cs *L, int sigma, const cs *C, const int *parent) |
int | cs_usolve (const cs *U, double *x) |
int | cs_utsolve (const cs *U, double *x) |
#define CS_COPYRIGHT "Copyright (c) Timothy A. Davis, 2006-2009" |
Definition at line 14 of file src/csparse/cs.h.
Definition at line 13 of file src/csparse/cs.h.
#define CS_FLIP | ( | i | ) | (-(i)-2) |
Definition at line 137 of file src/csparse/cs.h.
Definition at line 140 of file src/csparse/cs.h.
#define CS_MARKED | ( | w, | |
j | |||
) | (w [j] < 0) |
Definition at line 139 of file src/csparse/cs.h.
#define CS_MAX | ( | a, | |
b | |||
) | (((a) > (b)) ? (a) : (b)) |
Definition at line 135 of file src/csparse/cs.h.
#define CS_MIN | ( | a, | |
b | |||
) | (((a) < (b)) ? (a) : (b)) |
Definition at line 136 of file src/csparse/cs.h.
#define CS_SUBSUB 3 |
Definition at line 12 of file src/csparse/cs.h.
#define CS_SUBVER 2 |
Definition at line 11 of file src/csparse/cs.h.
#define CS_TRIPLET | ( | A | ) | (A && (A->nz >= 0)) |
Definition at line 142 of file src/csparse/cs.h.
Definition at line 138 of file src/csparse/cs.h.
#define CS_VER 2 /* CSparse Version 2.2.3 */ |
Definition at line 10 of file src/csparse/cs.h.
typedef struct cs_dmperm_results csd |
typedef struct cs_numeric csn |
typedef struct cs_symbolic css |
void* cs_calloc | ( | int | n, |
size_t | size | ||
) |
Definition at line 16 of file cs_malloc.c.
int cs_cholsol | ( | int | order, |
const cs * | A, | ||
double * | b | ||
) |
Definition at line 3 of file cs_cholsol.c.
cs* cs_compress | ( | const cs * | T | ) |
Definition at line 3 of file cs_compress.c.
Definition at line 17 of file cs_counts.c.
double cs_cumsum | ( | int * | p, |
int * | c, | ||
int | n | ||
) |
Definition at line 3 of file cs_cumsum.c.
Definition at line 68 of file cs_dmperm.c.
int cs_droptol | ( | cs * | A, |
double | tol | ||
) |
Definition at line 6 of file cs_droptol.c.
int cs_dropzeros | ( | cs * | A | ) |
Definition at line 6 of file cs_dropzeros.c.
Definition at line 3 of file cs_entry.c.
Definition at line 3 of file cs_ereach.c.
Definition at line 3 of file cs_etree.c.
Definition at line 3 of file cs_fkeep.c.
void* cs_free | ( | void * | p | ) |
Definition at line 22 of file cs_malloc.c.
Definition at line 3 of file cs_gaxpy.c.
Definition at line 3 of file cs_happly.c.
double cs_house | ( | double * | x, |
double * | beta, | ||
int | n | ||
) |
Definition at line 4 of file cs_house.c.
int cs_ipvec | ( | const int * | p, |
const double * | b, | ||
double * | x, | ||
int | n | ||
) |
Definition at line 3 of file cs_ipvec.c.
int cs_leaf | ( | int | i, |
int | j, | ||
const int * | first, | ||
int * | maxfirst, | ||
int * | prevleaf, | ||
int * | ancestor, | ||
int * | jleaf | ||
) |
Definition at line 3 of file cs_lsolve.c.
int cs_ltsolve | ( | const cs * | L, |
double * | x | ||
) |
Definition at line 3 of file cs_ltsolve.c.
Definition at line 3 of file cs_lusol.c.
void* cs_malloc | ( | int | n, |
size_t | size | ||
) |
Definition at line 10 of file cs_malloc.c.
int* cs_maxtrans | ( | const cs * | A, |
int | seed | ||
) |
Definition at line 44 of file cs_maxtrans.c.
cs* cs_multiply | ( | const cs * | A, |
const cs * | B | ||
) |
Definition at line 3 of file cs_multiply.c.
cs* cs_permute | ( | const cs * | A, |
const int * | pinv, | ||
const int * | q, | ||
int | values | ||
) |
Definition at line 3 of file cs_permute.c.
Definition at line 3 of file cs_print.c.
int cs_pvec | ( | const int * | p, |
const double * | b, | ||
double * | x, | ||
int | n | ||
) |
Definition at line 3 of file cs_qrsol.c.
int* cs_randperm | ( | int | n, |
int | seed | ||
) |
Definition at line 5 of file cs_randperm.c.
Definition at line 4 of file cs_reach.c.
void* cs_realloc | ( | void * | p, |
int | n, | ||
size_t | size, | ||
int * | ok | ||
) |
Definition at line 29 of file cs_malloc.c.
int cs_scatter | ( | const cs * | A, |
int | j, | ||
double | beta, | ||
int * | w, | ||
double * | x, | ||
int | mark, | ||
cs * | C, | ||
int | nz | ||
) |
Definition at line 3 of file cs_scatter.c.
Definition at line 3 of file cs_schol.c.
cs* cs_spalloc | ( | int | m, |
int | n, | ||
int | nzmax, | ||
int | values, | ||
int | triplet | ||
) |
int cs_sprealloc | ( | cs * | A, |
int | nzmax | ||
) |
int cs_spsolve | ( | cs * | G, |
const cs * | B, | ||
int | k, | ||
int * | xi, | ||
double * | x, | ||
const int * | pinv, | ||
int | lo | ||
) |
Definition at line 3 of file cs_spsolve.c.
cs* cs_symperm | ( | const cs * | A, |
const int * | pinv, | ||
int | values | ||
) |
Definition at line 3 of file cs_symperm.c.
int cs_tdfs | ( | int | j, |
int | k, | ||
int * | head, | ||
const int * | next, | ||
int * | post, | ||
int * | stack | ||
) |
cs* cs_transpose | ( | const cs * | A, |
int | values | ||
) |
Definition at line 3 of file cs_transpose.c.
Definition at line 3 of file cs_updown.c.
Definition at line 3 of file cs_usolve.c.
int cs_utsolve | ( | const cs * | U, |
double * | x | ||
) |
Definition at line 3 of file cs_utsolve.c.