![]() |
EVSL
1.1.0
EigenValues Slicing Library
|
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... | |
Definitions used for cxsparse interface.
Definition in file evsl_cxsparse.c.
| typedef struct _ASBSolDataDirect ASBSolDataDirect |
| typedef struct _BSolDataDirect BSolDataDirect |
| void ASIGMABSolDirect | ( | int | n, |
| double * | br, | ||
| double * | bi, | ||
| double * | xr, | ||
| double * | xz, | ||
| void * | data | ||
| ) |
complex linear solver routine passed to evsl
| n | size of the system | |
| br,bi | vectors of length n, complex right-hand side (real and imaginary) | |
| data | all data that are needed for solving the system | |
| [out] | xr,xz | vectors of length n, complex solution (real and imaginary) |
Definition at line 324 of file evsl_cxsparse.c.
Referenced by main(), and set_asigmabsol_direct().

| 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().

| 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().

| void FreeBSolDirectData | ( | void * | data | ) |
Free solver data.
Definition at line 165 of file evsl_cxsparse.c.
Referenced by free_bsol_direct(), and main().

| 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().

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
| A | matrix A |
| BB | matrix B, if NULL, it means B is identity |
| num | the number of SIGMA's |
| zk | array of SIGMA's of length num |
| data | all data that are needed for solving the system |
Definition at line 190 of file evsl_cxsparse.c.
Referenced by main(), and setup_asigmabsol_direct().

| int SetupBSolDirect | ( | csrMat * | B, |
| void ** | data | ||
| ) |
Setup the B-sol by computing the Cholesky factorization of B.
| B | matrix B |
| data | Struct which will be initialized |
Definition at line 57 of file evsl_cxsparse.c.
Referenced by main(), and setup_bsol_direct().

1.8.6