Matrix  $Rev: 3071 $ at $LastChangedDate: 2015-03-26 15:35:47 +0100 (Thu, 26 Mar 2015) $
cs.h File Reference
#include <stdlib.h>
#include <limits.h>
#include <math.h>
#include <stdio.h>
#include <stddef.h>
#include <R_ext/Print.h>
#include <R_ext/Random.h>
Include dependency graph for cs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  cs_dmperm_results
 
struct  cs_numeric
 
struct  cs_sparse
 
struct  cs_symbolic
 

Macros

#define CS_COPYRIGHT   "Copyright (c) Timothy A. Davis, 2006-2013"
 
#define CS_CSC(A)   (A && (A->nz == -1))
 
#define CS_DATE   "April 16, 2013" /* 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   2
 
#define CS_SUBVER   1
 
#define CS_TRIPLET(A)   (A && (A->nz >= 0))
 
#define CS_UNFLIP(i)   (((i) < 0) ? CS_FLIP(i) : (i))
 
#define CS_VER   3 /* CSparse Version */
 
#define csi   int
 
#define printf   Rprintf
 

Typedefs

typedef struct cs_sparse cs
 
typedef struct cs_dmperm_results csd
 
typedef struct cs_numeric csn
 
typedef struct cs_symbolic css
 

Functions

cscs_add (const cs *A, const cs *B, double alpha, double beta)
 
csics_amd (csi order, const cs *A)
 
void * cs_calloc (csi n, size_t size)
 
csncs_chol (const cs *A, const css *S)
 
csi cs_cholsol (csi order, const cs *A, double *b)
 
cscs_compress (const cs *T)
 
csics_counts (const cs *A, const csi *parent, const csi *post, csi ata)
 
double cs_cumsum (csi *p, csi *c, csi n)
 
csdcs_dalloc (csi m, csi n)
 
csdcs_ddone (csd *D, cs *C, void *w, csi ok)
 
csdcs_dfree (csd *D)
 
csi cs_dfs (csi j, cs *G, csi top, csi *xi, csi *pstack, const csi *pinv)
 
csdcs_dmperm (const cs *A, csi seed)
 
cscs_done (cs *C, void *w, void *x, csi ok)
 
csi cs_droptol (cs *A, double tol)
 
csi cs_dropzeros (cs *A)
 
csi cs_dupl (cs *A)
 
csi cs_entry (cs *T, csi i, csi j, double x)
 
csi cs_ereach (const cs *A, csi k, const csi *parent, csi *s, csi *w)
 
csics_etree (const cs *A, csi ata)
 
csi cs_fkeep (cs *A, csi(*fkeep)(csi, csi, double, void *), void *other)
 
void * cs_free (void *p)
 
csi cs_gaxpy (const cs *A, const double *x, double *y)
 
csi cs_happly (const cs *V, csi i, double beta, double *x)
 
double cs_house (double *x, double *beta, csi n)
 
csics_idone (csi *p, cs *C, void *w, csi ok)
 
csi cs_ipvec (const csi *p, const double *b, double *x, csi n)
 
csi cs_leaf (csi i, csi j, const csi *first, csi *maxfirst, csi *prevleaf, csi *ancestor, csi *jleaf)
 
cscs_load (FILE *f)
 
csi cs_lsolve (const cs *L, double *x)
 
csi cs_ltsolve (const cs *L, double *x)
 
csncs_lu (const cs *A, const css *S, double tol)
 
csi cs_lusol (csi order, const cs *A, double *b, double tol)
 
void * cs_malloc (csi n, size_t size)
 
csics_maxtrans (const cs *A, csi seed)
 
cscs_multiply (const cs *A, const cs *B)
 
csncs_ndone (csn *N, cs *C, void *w, void *x, csi ok)
 
csncs_nfree (csn *N)
 
double cs_norm (const cs *A)
 
cscs_permute (const cs *A, const csi *pinv, const csi *q, csi values)
 
csics_pinv (const csi *p, csi n)
 
csics_post (const csi *parent, csi n)
 
csi cs_print (const cs *A, csi brief)
 
csi cs_pvec (const csi *p, const double *b, double *x, csi n)
 
csncs_qr (const cs *A, const css *S)
 
csi cs_qrsol (csi order, const cs *A, double *b)
 
csics_randperm (csi n, csi seed)
 
csi cs_reach (cs *G, const cs *B, csi k, csi *xi, const csi *pinv)
 
void * cs_realloc (void *p, csi n, size_t size, csi *ok)
 
csi cs_scatter (const cs *A, csi j, double beta, csi *w, double *x, csi mark, cs *C, csi nz)
 
csdcs_scc (cs *A)
 
csscs_schol (csi order, const cs *A)
 
csscs_sfree (css *S)
 
cscs_spalloc (csi m, csi n, csi nzmax, csi values, csi triplet)
 
cscs_spfree (cs *A)
 
csi cs_sprealloc (cs *A, csi nzmax)
 
csi cs_spsolve (cs *G, const cs *B, csi k, csi *xi, double *x, const csi *pinv, csi lo)
 
csscs_sqr (csi order, const cs *A, csi qr)
 
cscs_symperm (const cs *A, const csi *pinv, csi values)
 
csi cs_tdfs (csi j, csi k, csi *head, const csi *next, csi *post, csi *stack)
 
cscs_transpose (const cs *A, csi values)
 
csi cs_updown (cs *L, csi sigma, const cs *C, const csi *parent)
 
csi cs_usolve (const cs *U, double *x)
 
csi cs_utsolve (const cs *U, double *x)
 

Macro Definition Documentation

#define CS_COPYRIGHT   "Copyright (c) Timothy A. Davis, 2006-2013"

Definition at line 20 of file cs.h.

Referenced by cs_print().

#define CS_DATE   "April 16, 2013" /* CSparse release date */

Definition at line 19 of file cs.h.

Referenced by cs_print().

#define CS_FLIP (   i)    (-(i)-2)

Definition at line 153 of file cs.h.

Referenced by cs_amd().

#define CS_MARK (   w,
 
)    { w [j] = CS_FLIP (w [j]) ; }

Definition at line 156 of file cs.h.

Referenced by cs_dfs(), cs_ereach(), cs_reach(), and cs_scc().

#define CS_MARKED (   w,
 
)    (w [j] < 0)

Definition at line 155 of file cs.h.

Referenced by cs_dfs(), cs_ereach(), cs_reach(), and cs_scc().

#define CS_MAX (   a,
 
)    (((a) > (b)) ? (a) : (b))

Definition at line 151 of file cs.h.

Referenced by cs_amd(), cs_calloc(), cs_entry(), cs_malloc(), cs_norm(), cs_realloc(), cs_spalloc(), and cs_symperm().

#define CS_MIN (   a,
 
)    (((a) < (b)) ? (a) : (b))

Definition at line 152 of file cs.h.

Referenced by cs_amd(), cs_maxtrans(), cs_symperm(), cs_updown(), and init_ata().

#define CS_SUBSUB   2

Definition at line 18 of file cs.h.

Referenced by cs_print().

#define CS_SUBVER   1

Definition at line 17 of file cs.h.

Referenced by cs_print().

#define CS_TRIPLET (   A)    (A && (A->nz >= 0))

Definition at line 158 of file cs.h.

Referenced by cs_compress(), cs_entry(), and cs_sprealloc().

#define CS_UNFLIP (   i)    (((i) < 0) ? CS_FLIP(i) : (i))

Definition at line 154 of file cs.h.

Referenced by cs_dfs().

#define CS_VER   3 /* CSparse Version */

Definition at line 16 of file cs.h.

Referenced by cs_print().

#define printf   Rprintf

Definition at line 12 of file cs.h.

Typedef Documentation

typedef struct cs_sparse cs
typedef struct cs_dmperm_results csd
typedef struct cs_numeric csn
typedef struct cs_symbolic css

Function Documentation

cs* cs_add ( const cs A,
const cs B,
double  alpha,
double  beta 
)

Definition at line 3 of file cs.c.

References cs_calloc(), CS_CSC, cs_done(), cs_malloc(), cs_scatter(), cs_spalloc(), cs_sprealloc(), csi, cs_sparse::i, cs_sparse::m, cs_sparse::n, cs_sparse::p, and cs_sparse::x.

Referenced by cs_amd(), and Matrix_as_cs().

Here is the call graph for this function:

Here is the caller graph for this function:

csi* cs_amd ( csi  order,
const cs A 
)

Definition at line 45 of file cs.c.

References cs_add(), CS_CSC, cs_diag(), cs_fkeep(), CS_FLIP, cs_idone(), cs_malloc(), CS_MAX, CS_MIN, cs_multiply(), cs_spfree(), cs_sprealloc(), cs_tdfs(), cs_transpose(), cs_wclear(), csi, cs_sparse::i, cs_sparse::m, cs_sparse::n, cs_sparse::nzmax, and cs_sparse::p.

Referenced by cs_schol(), and cs_sqr().

Here is the call graph for this function:

Here is the caller graph for this function:

void* cs_calloc ( csi  n,
size_t  size 
)

Definition at line 1142 of file cs.c.

References CS_MAX.

Referenced by cs_add(), cs_chol(), cs_compress(), cs_dalloc(), cs_lu(), cs_maxtrans(), cs_multiply(), cs_qr(), cs_qrsol(), cs_schol(), cs_spalloc(), cs_sqr(), cs_symperm(), and cs_transpose().

Here is the caller graph for this function:

csn* cs_chol ( const cs A,
const css S 
)

Definition at line 393 of file cs.c.

References c, cs_symbolic::cp, cs_calloc(), CS_CSC, cs_ereach(), cs_malloc(), cs_ndone(), cs_spalloc(), cs_symperm(), csi, cs_sparse::i, cs_numeric::L, cs_sparse::n, cs_sparse::p, cs_symbolic::parent, cs_symbolic::pinv, and cs_sparse::x.

Referenced by cs_cholsol().

Here is the call graph for this function:

Here is the caller graph for this function:

csi cs_cholsol ( csi  order,
const cs A,
double *  b 
)

Definition at line 450 of file cs.c.

References cs_chol(), CS_CSC, cs_free(), cs_ipvec(), cs_lsolve(), cs_ltsolve(), cs_malloc(), cs_nfree(), cs_pvec(), cs_schol(), cs_sfree(), csi, cs_numeric::L, cs_sparse::n, and cs_symbolic::pinv.

Here is the call graph for this function:

cs* cs_compress ( const cs T)

Definition at line 475 of file cs.c.

References cs_calloc(), cs_cumsum(), cs_done(), cs_spalloc(), CS_TRIPLET, csi, cs_sparse::i, cs_sparse::m, cs_sparse::n, cs_sparse::nz, cs_sparse::p, and cs_sparse::x.

Here is the call graph for this function:

csi* cs_counts ( const cs A,
const csi parent,
const csi post,
csi  ata 
)

Definition at line 510 of file cs.c.

References CS_CSC, cs_idone(), cs_leaf(), cs_malloc(), cs_transpose(), csi, HEAD, cs_sparse::i, init_ata(), cs_sparse::m, cs_sparse::n, NEXT, and cs_sparse::p.

Referenced by cs_schol(), and cs_sqr().

Here is the call graph for this function:

Here is the caller graph for this function:

double cs_cumsum ( csi p,
csi c,
csi  n 
)

Definition at line 556 of file cs.c.

References csi.

Referenced by cs_compress(), cs_schol(), cs_symperm(), and cs_transpose().

Here is the caller graph for this function:

csd* cs_dalloc ( csi  m,
csi  n 
)

Definition at line 1969 of file cs.c.

References cs_calloc(), cs_dfree(), cs_malloc(), csi, cs_dmperm_results::p, cs_dmperm_results::q, cs_dmperm_results::r, and cs_dmperm_results::s.

Referenced by cs_dmperm(), and cs_scc().

Here is the call graph for this function:

Here is the caller graph for this function:

csd* cs_ddone ( csd D,
cs C,
void *  w,
csi  ok 
)

Definition at line 2018 of file cs.c.

References cs_dfree(), cs_free(), and cs_spfree().

Referenced by cs_dmperm(), and cs_scc().

Here is the call graph for this function:

Here is the caller graph for this function:

csd* cs_dfree ( csd D)

Definition at line 1982 of file cs.c.

References cs_free(), cs_dmperm_results::p, cs_dmperm_results::q, cs_dmperm_results::r, and cs_dmperm_results::s.

Referenced by cs_dalloc(), cs_ddone(), and cs_dmperm().

Here is the call graph for this function:

Here is the caller graph for this function:

csi cs_dfs ( csi  j,
cs G,
csi  top,
csi xi,
csi pstack,
const csi pinv 
)

Definition at line 572 of file cs.c.

References CS_CSC, CS_MARK, CS_MARKED, CS_UNFLIP, csi, cs_sparse::i, and cs_sparse::p.

Referenced by cs_reach(), and cs_scc().

Here is the caller graph for this function:

cs* cs_done ( cs C,
void *  w,
void *  x,
csi  ok 
)

Definition at line 1993 of file cs.c.

References cs_free(), and cs_spfree().

Referenced by cs_add(), cs_compress(), cs_multiply(), cs_permute(), cs_symperm(), and cs_transpose().

Here is the call graph for this function:

Here is the caller graph for this function:

csi cs_droptol ( cs A,
double  tol 
)

Definition at line 753 of file cs.c.

References cs_fkeep(), and cs_tol().

Here is the call graph for this function:

csi cs_dropzeros ( cs A)

Definition at line 761 of file cs.c.

References cs_fkeep(), and cs_nonzero().

Referenced by dgCMatrix_QR(), and install_lu().

Here is the call graph for this function:

Here is the caller graph for this function:

csi cs_dupl ( cs A)

Definition at line 766 of file cs.c.

References CS_CSC, cs_free(), cs_malloc(), cs_sprealloc(), csi, cs_sparse::i, cs_sparse::m, cs_sparse::n, cs_sparse::p, and cs_sparse::x.

Here is the call graph for this function:

csi cs_entry ( cs T,
csi  i,
csi  j,
double  x 
)

Definition at line 799 of file cs.c.

References CS_MAX, cs_sprealloc(), CS_TRIPLET, cs_sparse::i, cs_sparse::m, cs_sparse::n, cs_sparse::nz, cs_sparse::nzmax, cs_sparse::p, and cs_sparse::x.

Referenced by cs_load().

Here is the call graph for this function:

Here is the caller graph for this function:

csi cs_ereach ( const cs A,
csi  k,
const csi parent,
csi s,
csi w 
)

Definition at line 811 of file cs.c.

References CS_CSC, CS_MARK, CS_MARKED, csi, cs_sparse::i, cs_sparse::n, and cs_sparse::p.

Referenced by cs_chol().

Here is the caller graph for this function:

csi* cs_etree ( const cs A,
csi  ata 
)

Definition at line 833 of file cs.c.

References CS_CSC, cs_idone(), cs_malloc(), csi, cs_sparse::i, cs_sparse::m, cs_sparse::n, and cs_sparse::p.

Referenced by cs_schol(), and cs_sqr().

Here is the call graph for this function:

Here is the caller graph for this function:

csi cs_fkeep ( cs A,
csi(*)(csi, csi, double, void *)  fkeep,
void *  other 
)

Definition at line 862 of file cs.c.

References CS_CSC, cs_sprealloc(), csi, cs_sparse::i, cs_sparse::n, cs_sparse::p, and cs_sparse::x.

Referenced by cs_amd(), cs_dmperm(), cs_droptol(), and cs_dropzeros().

Here is the call graph for this function:

Here is the caller graph for this function:

void* cs_free ( void *  p)
csi cs_gaxpy ( const cs A,
const double *  x,
double *  y 
)

Definition at line 886 of file cs.c.

References CS_CSC, csi, cs_sparse::i, cs_sparse::n, cs_sparse::p, and cs_sparse::x.

csi cs_happly ( const cs V,
csi  i,
double  beta,
double *  x 
)

Definition at line 902 of file cs.c.

References CS_CSC, csi, cs_sparse::i, cs_sparse::p, and cs_sparse::x.

Referenced by cs_qr(), cs_qrsol(), and sparseQR_Qmult().

Here is the caller graph for this function:

double cs_house ( double *  x,
double *  beta,
csi  n 
)

Definition at line 921 of file cs.c.

References csi.

Referenced by cs_qr().

Here is the caller graph for this function:

csi* cs_idone ( csi p,
cs C,
void *  w,
csi  ok 
)

Definition at line 2001 of file cs.c.

References cs_free(), cs_spfree(), and csi.

Referenced by cs_amd(), cs_counts(), cs_etree(), cs_maxtrans(), and cs_post().

Here is the call graph for this function:

Here is the caller graph for this function:

csi cs_ipvec ( const csi p,
const double *  b,
double *  x,
csi  n 
)

Definition at line 942 of file cs.c.

References csi.

Referenced by cs_cholsol(), cs_lusol(), cs_qrsol(), dgCMatrix_matrix_solve(), sparseQR_coef(), and sparseQR_Qmult().

Here is the caller graph for this function:

csi cs_leaf ( csi  i,
csi  j,
const csi first,
csi maxfirst,
csi prevleaf,
csi ancestor,
csi jleaf 
)

Definition at line 950 of file cs.c.

References csi.

Referenced by cs_counts().

Here is the caller graph for this function:

cs* cs_load ( FILE *  f)

Definition at line 971 of file cs.c.

References cs_entry(), cs_spalloc(), cs_spfree(), and csi.

Here is the call graph for this function:

csi cs_lsolve ( const cs L,
double *  x 
)

Definition at line 985 of file cs.c.

References CS_CSC, csi, cs_sparse::i, cs_sparse::n, cs_sparse::p, and cs_sparse::x.

Referenced by cs_cholsol(), cs_lusol(), dgCMatrix_matrix_solve(), and dtCMatrix_matrix_solve().

Here is the caller graph for this function:

csi cs_ltsolve ( const cs L,
double *  x 
)

Definition at line 1002 of file cs.c.

References CS_CSC, csi, cs_sparse::i, cs_sparse::n, cs_sparse::p, and cs_sparse::x.

Referenced by cs_cholsol().

Here is the caller graph for this function:

csn* cs_lu ( const cs A,
const css S,
double  tol 
)

Definition at line 1019 of file cs.c.

References cs_calloc(), CS_CSC, cs_malloc(), cs_ndone(), cs_spalloc(), cs_sprealloc(), cs_spsolve(), csi, cs_sparse::i, cs_numeric::L, cs_symbolic::lnz, cs_sparse::n, cs_sparse::nzmax, cs_sparse::p, cs_numeric::pinv, cs_symbolic::q, cs_numeric::U, cs_symbolic::unz, and cs_sparse::x.

Referenced by cs_lusol(), and install_lu().

Here is the call graph for this function:

Here is the caller graph for this function:

csi cs_lusol ( csi  order,
const cs A,
double *  b,
double  tol 
)

Definition at line 1104 of file cs.c.

References CS_CSC, cs_free(), cs_ipvec(), cs_lsolve(), cs_lu(), cs_malloc(), cs_nfree(), cs_sfree(), cs_sqr(), cs_usolve(), csi, cs_numeric::L, cs_sparse::n, cs_numeric::pinv, cs_symbolic::q, and cs_numeric::U.

Here is the call graph for this function:

void* cs_malloc ( csi  n,
size_t  size 
)
csi* cs_maxtrans ( const cs A,
csi  seed 
)

Definition at line 1204 of file cs.c.

References cs_augment(), cs_calloc(), CS_CSC, cs_free(), cs_idone(), cs_malloc(), CS_MIN, cs_randperm(), cs_transpose(), csi, cs_sparse::i, cs_sparse::m, cs_sparse::n, and cs_sparse::p.

Referenced by cs_dmperm().

Here is the call graph for this function:

Here is the caller graph for this function:

cs* cs_multiply ( const cs A,
const cs B 
)

Definition at line 1254 of file cs.c.

References cs_calloc(), CS_CSC, cs_done(), cs_malloc(), cs_scatter(), cs_spalloc(), cs_sprealloc(), csi, cs_sparse::i, cs_sparse::m, cs_sparse::n, cs_sparse::nzmax, cs_sparse::p, and cs_sparse::x.

Referenced by cs_amd().

Here is the call graph for this function:

Here is the caller graph for this function:

csn* cs_ndone ( csn N,
cs C,
void *  w,
void *  x,
csi  ok 
)

Definition at line 2009 of file cs.c.

References cs_free(), cs_nfree(), and cs_spfree().

Referenced by cs_chol(), cs_lu(), and cs_qr().

Here is the call graph for this function:

Here is the caller graph for this function:

csn* cs_nfree ( csn N)

Definition at line 1946 of file cs.c.

References cs_numeric::B, cs_free(), cs_spfree(), cs_numeric::L, cs_numeric::pinv, and cs_numeric::U.

Referenced by cs_cholsol(), cs_lusol(), cs_ndone(), cs_qrsol(), dgCMatrix_QR(), and install_lu().

Here is the call graph for this function:

Here is the caller graph for this function:

double cs_norm ( const cs A)

Definition at line 1288 of file cs.c.

References CS_CSC, CS_MAX, csi, cs_sparse::n, cs_sparse::p, and cs_sparse::x.

Referenced by cs_print().

Here is the caller graph for this function:

cs* cs_permute ( const cs A,
const csi pinv,
const csi q,
csi  values 
)

Definition at line 1302 of file cs.c.

References CS_CSC, cs_done(), cs_spalloc(), csi, cs_sparse::i, cs_sparse::m, cs_sparse::n, cs_sparse::p, and cs_sparse::x.

Referenced by cs_dmperm(), and cs_sqr().

Here is the call graph for this function:

Here is the caller graph for this function:

csi* cs_pinv ( const csi p,
csi  n 
)
csi* cs_post ( const csi parent,
csi  n 
)

Definition at line 1336 of file cs.c.

References cs_idone(), cs_malloc(), cs_tdfs(), and csi.

Referenced by cs_schol(), and cs_sqr().

Here is the call graph for this function:

Here is the caller graph for this function:

csi cs_print ( const cs A,
csi  brief 
)

Definition at line 1359 of file cs.c.

References CS_COPYRIGHT, CS_DATE, cs_norm(), CS_SUBSUB, CS_SUBVER, CS_VER, csi, cs_sparse::i, cs_sparse::m, cs_sparse::n, cs_sparse::nz, cs_sparse::nzmax, cs_sparse::p, and cs_sparse::x.

Here is the call graph for this function:

csi cs_pvec ( const csi p,
const double *  b,
double *  x,
csi  n 
)

Definition at line 1397 of file cs.c.

References csi.

Referenced by cs_cholsol(), cs_qrsol(), dgCMatrix_matrix_solve(), and sparseQR_Qmult().

Here is the caller graph for this function:

csn* cs_qr ( const cs A,
const css S 
)
csi cs_qrsol ( csi  order,
const cs A,
double *  b 
)

Definition at line 1477 of file cs.c.

References cs_numeric::B, cs_calloc(), CS_CSC, cs_free(), cs_happly(), cs_ipvec(), cs_nfree(), cs_pvec(), cs_qr(), cs_sfree(), cs_spfree(), cs_sqr(), cs_transpose(), cs_usolve(), cs_utsolve(), csi, cs_numeric::L, cs_sparse::m, cs_symbolic::m2, cs_sparse::n, cs_symbolic::pinv, cs_symbolic::q, and cs_numeric::U.

Referenced by dgCMatrix_qrsol().

Here is the call graph for this function:

Here is the caller graph for this function:

csi* cs_randperm ( csi  n,
csi  seed 
)

Definition at line 1531 of file cs.c.

References cs_malloc(), and csi.

Referenced by cs_maxtrans().

Here is the call graph for this function:

Here is the caller graph for this function:

csi cs_reach ( cs G,
const cs B,
csi  k,
csi xi,
const csi pinv 
)

Definition at line 1553 of file cs.c.

References CS_CSC, cs_dfs(), CS_MARK, CS_MARKED, csi, cs_sparse::i, cs_sparse::n, and cs_sparse::p.

Referenced by cs_spsolve().

Here is the call graph for this function:

Here is the caller graph for this function:

void* cs_realloc ( void *  p,
csi  n,
size_t  size,
csi ok 
)

Definition at line 1155 of file cs.c.

References CS_MAX.

Referenced by cs_sprealloc().

Here is the caller graph for this function:

csi cs_scatter ( const cs A,
csi  j,
double  beta,
csi w,
double *  x,
csi  mark,
cs C,
csi  nz 
)

Definition at line 1570 of file cs.c.

References CS_CSC, csi, cs_sparse::i, cs_sparse::p, and cs_sparse::x.

Referenced by cs_add(), cs_multiply(), and cs_qr().

Here is the caller graph for this function:

csd* cs_scc ( cs A)

Definition at line 1591 of file cs.c.

References CS_CSC, cs_dalloc(), cs_ddone(), cs_dfs(), cs_malloc(), CS_MARK, CS_MARKED, cs_transpose(), csi, cs_sparse::n, cs_dmperm_results::nb, cs_sparse::p, cs_dmperm_results::p, and cs_dmperm_results::r.

Referenced by cs_dmperm().

Here is the call graph for this function:

Here is the caller graph for this function:

css* cs_schol ( csi  order,
const cs A 
)

Definition at line 1631 of file cs.c.

References c, cs_symbolic::cp, cs_amd(), cs_calloc(), cs_counts(), CS_CSC, cs_cumsum(), cs_etree(), cs_free(), cs_malloc(), cs_pinv(), cs_post(), cs_sfree(), cs_spfree(), cs_symperm(), csi, cs_symbolic::lnz, cs_sparse::n, cs_symbolic::parent, cs_symbolic::pinv, and cs_symbolic::unz.

Referenced by cs_cholsol().

Here is the call graph for this function:

Here is the caller graph for this function:

css* cs_sfree ( css S)

Definition at line 1957 of file cs.c.

References cs_symbolic::cp, cs_free(), cs_symbolic::leftmost, cs_symbolic::parent, cs_symbolic::pinv, and cs_symbolic::q.

Referenced by cs_cholsol(), cs_lusol(), cs_qrsol(), cs_schol(), cs_sqr(), dgCMatrix_QR(), and install_lu().

Here is the call graph for this function:

Here is the caller graph for this function:

cs* cs_spalloc ( csi  m,
csi  n,
csi  nzmax,
csi  values,
csi  triplet 
)

Definition at line 1907 of file cs.c.

References cs_calloc(), cs_malloc(), CS_MAX, cs_spfree(), csi, cs_sparse::i, cs_sparse::m, cs_sparse::n, cs_sparse::nz, cs_sparse::nzmax, cs_sparse::p, and cs_sparse::x.

Referenced by cs_add(), cs_chol(), cs_compress(), cs_load(), cs_lu(), cs_multiply(), cs_permute(), cs_qr(), cs_symperm(), cs_transpose(), and csp_eye().

Here is the call graph for this function:

Here is the caller graph for this function:

cs* cs_spfree ( cs A)

Definition at line 1936 of file cs.c.

References cs_free(), cs_sparse::i, cs_sparse::p, and cs_sparse::x.

Referenced by cs_amd(), cs_bfs(), cs_ddone(), cs_done(), cs_idone(), cs_load(), cs_ndone(), cs_nfree(), cs_qrsol(), cs_schol(), cs_spalloc(), cs_sqr(), dgCMatrix_QR(), install_lu(), Matrix_as_cs(), and Matrix_cs_to_SEXP().

Here is the call graph for this function:

Here is the caller graph for this function:

csi cs_sprealloc ( cs A,
csi  nzmax 
)

Definition at line 1922 of file cs.c.

References CS_CSC, cs_realloc(), CS_TRIPLET, csi, cs_sparse::i, cs_sparse::n, cs_sparse::nz, cs_sparse::nzmax, cs_sparse::p, and cs_sparse::x.

Referenced by cs_add(), cs_amd(), cs_dupl(), cs_entry(), cs_fkeep(), cs_lu(), and cs_multiply().

Here is the call graph for this function:

Here is the caller graph for this function:

csi cs_spsolve ( cs G,
const cs B,
csi  k,
csi xi,
double *  x,
const csi pinv,
csi  lo 
)

Definition at line 1656 of file cs.c.

References CS_CSC, cs_reach(), csi, cs_sparse::i, cs_sparse::n, cs_sparse::p, and cs_sparse::x.

Referenced by cs_lu(), and dtCMatrix_sparse_solve().

Here is the call graph for this function:

Here is the caller graph for this function:

css* cs_sqr ( csi  order,
const cs A,
csi  qr 
)

Definition at line 1740 of file cs.c.

References cs_symbolic::cp, cs_amd(), cs_calloc(), cs_counts(), CS_CSC, cs_etree(), cs_free(), cs_permute(), cs_post(), cs_sfree(), cs_spfree(), cs_vcount(), csi, cs_symbolic::lnz, cs_sparse::n, cs_sparse::p, cs_symbolic::parent, cs_symbolic::q, and cs_symbolic::unz.

Referenced by cs_lusol(), cs_qrsol(), dgCMatrix_QR(), and install_lu().

Here is the call graph for this function:

Here is the caller graph for this function:

cs* cs_symperm ( const cs A,
const csi pinv,
csi  values 
)

Definition at line 1769 of file cs.c.

References cs_calloc(), CS_CSC, cs_cumsum(), cs_done(), CS_MAX, CS_MIN, cs_spalloc(), csi, cs_sparse::i, cs_sparse::n, cs_sparse::p, and cs_sparse::x.

Referenced by cs_chol(), and cs_schol().

Here is the call graph for this function:

Here is the caller graph for this function:

csi cs_tdfs ( csi  j,
csi  k,
csi head,
const csi next,
csi post,
csi stack 
)

Definition at line 1807 of file cs.c.

References csi.

Referenced by cs_amd(), and cs_post().

Here is the caller graph for this function:

cs* cs_transpose ( const cs A,
csi  values 
)

Definition at line 1830 of file cs.c.

References cs_calloc(), CS_CSC, cs_cumsum(), cs_done(), cs_spalloc(), csi, cs_sparse::i, cs_sparse::m, cs_sparse::n, cs_sparse::p, and cs_sparse::x.

Referenced by cs_amd(), cs_bfs(), cs_counts(), cs_maxtrans(), cs_qrsol(), cs_scc(), dgCMatrix_QR(), install_lu(), and Matrix_as_cs().

Here is the call graph for this function:

Here is the caller graph for this function:

csi cs_updown ( cs L,
csi  sigma,
const cs C,
const csi parent 
)

Definition at line 1854 of file cs.c.

References CS_CSC, cs_free(), cs_malloc(), CS_MIN, csi, cs_sparse::i, cs_sparse::n, cs_sparse::p, and cs_sparse::x.

Here is the call graph for this function:

csi cs_usolve ( const cs U,
double *  x 
)

Definition at line 1890 of file cs.c.

References CS_CSC, csi, cs_sparse::i, cs_sparse::n, cs_sparse::p, and cs_sparse::x.

Referenced by cs_lusol(), cs_qrsol(), dgCMatrix_matrix_solve(), dtCMatrix_matrix_solve(), and sparseQR_coef().

Here is the caller graph for this function:

csi cs_utsolve ( const cs U,
double *  x 
)

Definition at line 2025 of file cs.c.

References CS_CSC, csi, cs_sparse::i, cs_sparse::n, cs_sparse::p, and cs_sparse::x.

Referenced by cs_qrsol().

Here is the caller graph for this function: