#include <stdlib.h>
#include <limits.h>
#include <math.h>
#include <stdio.h>
Go to the source code of this file.
Classes | |
struct | row_matrix |
struct | cs_symbolic |
struct | csr_numeric |
struct | csr_dmperm_results |
Defines | |
#define | CS_MAX(a, b) (((a) > (b)) ? (a) : (b)) |
#define | CS_MIN(a, b) (((a) < (b)) ? (a) : (b)) |
#define | CS_FLIP(i) (-(i)-2) |
#define | CS_UNFLIP(i) (((i) < 0) ? CS_FLIP(i) : (i)) |
#define | CS_MARKED(w, j) (w [j] < 0) |
#define | CS_MARK(w, j) { w [j] = CS_FLIP (w [j]) ; } |
#define | CS_CSC(A) (A && (A->nz == -1)) |
#define | CS_TRIPLET(A) (A && (A->nz >= 0)) |
Typedefs | |
typedef struct row_matrix | csr |
typedef struct cs_symbolic | css |
typedef struct csr_numeric | csrn |
typedef struct csr_dmperm_results | csrd |
Functions | |
csr * | csr_add (const csr *A, const csr *B, double alpha, double beta) |
csr * | csr_multiply (const csr *A, const csr *B) |
double | csr_norm (const csr *A) |
int | csr_print (const csr *A, int brief) |
csr * | csr_transpose (const csr *A, int values) |
void * | csr_realloc (void *p, int n, size_t size, int *ok) |
csr * | csr_spalloc (int m, int n, int nzmax, int values, int triplet) |
csr * | csr_spfree (csr *A) |
int | csr_sprealloc (csr *A, int nzmax) |
int * | csr_amd (int order, const csr *A) |
int | csr_droptol (csr *A, double tol) |
int | csr_dropzeros (csr *A) |
int | csr_lsolve (const csr *L, double *x) |
csrn * | csr_lu (const csr *A, const css *S, double tol) |
csr * | csr_permute (const csr *A, const int *pinv, const int *q, int values) |
css * | csr_sqr (int order, const csr *A) |
int | csr_usolve (const csr *U, double *x) |
css * | csr_sfree (css *S) |
csrd * | csr_dfree (csrd *D) |
csrn * | csr_nfree (csrn *N) |
double | csr_cumsum (int *p, int *c, int n) |
int | csr_dfs (int j, csr *G, int top, int *xi, int *pstack, const int *pinv) |
int | csr_reach (csr *G, const csr *B, int k, int *xi, const int *pinv) |
int | csr_scatter (const csr *A, int j, double beta, int *w, double *x, int mark, csr *C, int nz) |
csrd * | csr_scc (csr *A) |
int | csr_spsolve (csr *G, const csr *B, int k, int *xi, double *x, const int *pinv, int up) |
int | csr_tdfs (int j, int k, int *head, const int *next, int *post, int *stack) |
csrd * | csr_dalloc (int m, int n) |
csrd * | csr_ddone (csrd *D, csr *C, void *w, int ok) |
csr * | csr_done (csr *C, void *w, void *x, int ok) |
int * | csr_idone (int *p, csr *C, void *w, int ok) |
csrn * | csr_ndone (csrn *N, csr *C, void *w, void *x, int ok) |
int | csr_fkeep (csr *A, int(*fkeep)(int, int, double, void *), void *other) |
#define CS_CSC | ( | A | ) | (A && (A->nz == -1)) |
#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_TRIPLET | ( | A | ) | (A && (A->nz >= 0)) |
#define CS_UNFLIP | ( | i | ) | (((i) < 0) ? CS_FLIP(i) : (i)) |
typedef struct row_matrix csr |
typedef struct csr_dmperm_results csrd |
typedef struct csr_numeric csrn |
typedef struct cs_symbolic css |
int* csr_amd | ( | int | order, | |
const csr * | A | |||
) |
double csr_cumsum | ( | int * | p, | |
int * | c, | |||
int | n | |||
) |
csrd* csr_dalloc | ( | int | m, | |
int | n | |||
) |
int csr_dfs | ( | int | j, | |
csr * | G, | |||
int | top, | |||
int * | xi, | |||
int * | pstack, | |||
const int * | pinv | |||
) |
int csr_droptol | ( | csr * | A, | |
double | tol | |||
) |
int csr_dropzeros | ( | csr * | A | ) |
int csr_fkeep | ( | csr * | A, | |
int(*)(int, int, double, void *) | fkeep, | |||
void * | other | |||
) |
int* csr_idone | ( | int * | p, | |
csr * | C, | |||
void * | w, | |||
int | ok | |||
) |
int csr_lsolve | ( | const csr * | L, | |
double * | x | |||
) |
double csr_norm | ( | const csr * | A | ) |
int csr_print | ( | const csr * | A, | |
int | brief | |||
) |
void* csr_realloc | ( | void * | p, | |
int | n, | |||
size_t | size, | |||
int * | ok | |||
) |
int csr_scatter | ( | const csr * | A, | |
int | j, | |||
double | beta, | |||
int * | w, | |||
double * | x, | |||
int | mark, | |||
csr * | C, | |||
int | nz | |||
) |
csr* csr_spalloc | ( | int | m, | |
int | n, | |||
int | nzmax, | |||
int | values, | |||
int | triplet | |||
) |
int csr_sprealloc | ( | csr * | A, | |
int | nzmax | |||
) |
int csr_tdfs | ( | int | j, | |
int | k, | |||
int * | head, | |||
const int * | next, | |||
int * | post, | |||
int * | stack | |||
) |
int csr_usolve | ( | const csr * | U, | |
double * | x | |||
) |