EVSL  1.1.0
EigenValues Slicing Library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
Data Structures | Typedefs | Functions
evsl_cxsparse.c File Reference

Definitions used for cxsparse interface. More...

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "def.h"
#include "struct.h"
#include "CXSparse/Include/cs.h"
#include "internal_proto.h"
#include "evsl_direct.h"

Go to the source code of this file.

Data Structures

struct  _BSolDataDirect
 
struct  _ASBSolDataDirect
 

Typedefs

typedef struct _BSolDataDirect BSolDataDirect
 
typedef struct _ASBSolDataDirect ASBSolDataDirect
 

Functions

int SetupBSolDirect (csrMat *B, void **data)
 Setup the B-sol by computing the Cholesky factorization of B. More...
 
void BSolDirect (double *b, double *x, void *data)
 Solver function of B. More...
 
void LTSolDirect (double *b, double *x, void *data)
 Solver function of L^{T} x = L^{-T}*b. More...
 
void FreeBSolDirectData (void *data)
 Free solver data. More...
 
int SetupASIGMABSolDirect (csrMat *A, csrMat *BB, int num, complex double *zk, void **data)
 setup CXsparse solver for A - SIGMA B More...
 
void ASIGMABSolDirect (int n, double *br, double *bi, double *xr, double *xz, void *data)
 complex linear solver routine passed to evsl More...
 
void FreeASIGMABSolDirect (int num, void **data)
 free the data needed by CXSparse More...
 

Detailed Description

Definitions used for cxsparse interface.

Definition in file evsl_cxsparse.c.

Typedef Documentation

Function Documentation

void ASIGMABSolDirect ( int  n,
double *  br,
double *  bi,
double *  xr,
double *  xz,
void *  data 
)

complex linear solver routine passed to evsl

Parameters
nsize of the system
br,bivectors of length n, complex right-hand side (real and imaginary)
dataall data that are needed for solving the system
[out]xr,xzvectors of length n, complex solution (real and imaginary)
Warning
: This function MUST be of this prototype

Definition at line 324 of file evsl_cxsparse.c.

Referenced by main(), and set_asigmabsol_direct().

Here is the caller graph for this function:

void BSolDirect ( double *  b,
double *  x,
void *  data 
)

Solver function of B.

Definition at line 135 of file evsl_cxsparse.c.

Referenced by main(), and setup_bsol_direct().

Here is the caller graph for this function:

void FreeASIGMABSolDirect ( int  num,
void **  data 
)

free the data needed by CXSparse

Definition at line 352 of file evsl_cxsparse.c.

Referenced by free_asigmabsol_direct(), and main().

Here is the caller graph for this function:

void FreeBSolDirectData ( void *  data)

Free solver data.

Definition at line 165 of file evsl_cxsparse.c.

Referenced by free_bsol_direct(), and main().

Here is the caller graph for this function:

void LTSolDirect ( double *  b,
double *  x,
void *  data 
)

Solver function of L^{T} x = L^{-T}*b.

Definition at line 151 of file evsl_cxsparse.c.

Referenced by main(), and setup_bsol_direct().

Here is the caller graph for this function:

int SetupASIGMABSolDirect ( csrMat A,
csrMat BB,
int  num,
complex double *  zk,
void **  data 
)

setup CXsparse solver for A - SIGMA B

The setup invovles shifting the matrix A - SIGMA B and factorizing the shifted matrix The solver function and the data will be saved data Generally speaking, each pole can have a different solver

Parameters
Amatrix A
BBmatrix B, if NULL, it means B is identity
numthe number of SIGMA's
zkarray of SIGMA's of length num
dataall data that are needed for solving the system

Definition at line 190 of file evsl_cxsparse.c.

Referenced by main(), and setup_asigmabsol_direct().

Here is the caller graph for this function:

int SetupBSolDirect ( csrMat B,
void **  data 
)

Setup the B-sol by computing the Cholesky factorization of B.

Parameters
Bmatrix B
dataStruct which will be initialized

Definition at line 57 of file evsl_cxsparse.c.

Referenced by main(), and setup_bsol_direct().

Here is the caller graph for this function: