TBCI Numerical high perf. C++ Library 2.8.0
zsp_defs.h File Reference

Sparse matrix types and function prototypes (complex double) for the SuperLU solver. More...

#include "tbci/superlu/Cnames.h"
#include "tbci/superlu/supermatrix.h"
#include "tbci/superlu/dcomplex.h"
Include dependency graph for zsp_defs.h:

Go to the source code of this file.

Classes

struct  GlobalLU_t
struct  factor_param_t
struct  mem_usage_t

Macros

#define NO_MARKER   3
#define NUM_TEMPV(m, w, t, b)

Enumerations

enum  MemType { LUSUP , UCOL , LSUB , USUB }
enum  stack_end_t { HEAD , TAIL }
enum  LU_space_t { SYSTEM , USER }

Functions

void zgssv (SuperMatrix *, int *, int *, SuperMatrix *, SuperMatrix *, SuperMatrix *, int *)
void zgssvx (char *, char *, char *, SuperMatrix *, factor_param_t *, int *, int *, int *, char *, double *, double *, SuperMatrix *, SuperMatrix *, void *, int, SuperMatrix *, SuperMatrix *, double *, double *, double *, double *, mem_usage_t *, int *)
void zCreate_CompCol_Matrix (SuperMatrix *, int, int, int, doublecomplex *, int *, int *, Stype_t, Dtype_t, Mtype_t)
void zCopy_CompCol_Matrix (SuperMatrix *, SuperMatrix *)
void zCreate_Dense_Matrix (SuperMatrix *, int, int, doublecomplex *, int, Stype_t, Dtype_t, Mtype_t)
void zCreate_SuperNode_Matrix (SuperMatrix *, int, int, int, doublecomplex *, int *, int *, int *, int *, int *, Stype_t, Dtype_t, Mtype_t)
void zCopy_Dense_Matrix (int, int, doublecomplex *, int, doublecomplex *, int)
void Destroy_SuperMatrix_Store (SuperMatrix *)
void Destroy_CompCol_Matrix (SuperMatrix *)
void Destroy_SuperNode_Matrix (SuperMatrix *)
void Destroy_CompCol_Permuted (SuperMatrix *)
void Destroy_Dense_Matrix (SuperMatrix *)
void zallocateA (int, int, doublecomplex **, int **, int **)
void StatInit (int, int)
void StatFree ()
void get_perm_c (int, SuperMatrix *, int *)
void sp_preorder (char *, SuperMatrix *, int *, int *, SuperMatrix *)
int sp_coletree (int *, int *, int *, int, int, int *)
void zgstrf (char *, SuperMatrix *, double, double, int, int, int *, void *, int, int *, int *, SuperMatrix *, SuperMatrix *, int *)
void relax_snode (int, int *, int, int *, int *)
int zsnode_dfs (const int, const int, const int *, const int *, const int *, int *, int *, GlobalLU_t *)
int zsnode_bmod (const int, const int, const int, doublecomplex *, doublecomplex *, GlobalLU_t *)
void zpanel_dfs (const int, const int, const int, SuperMatrix *, int *, int *, doublecomplex *, int *, int *, int *, int *, int *, int *, int *, GlobalLU_t *)
void zpanel_bmod (const int, const int, const int, const int, doublecomplex *, doublecomplex *, int *, int *, GlobalLU_t *)
int zcolumn_dfs (const int, const int, int *, int *, int *, int *, int *, int *, int *, int *, int *, GlobalLU_t *)
int zcolumn_bmod (const int, const int, doublecomplex *, doublecomplex *, int *, int *, int, GlobalLU_t *)
int zcopy_to_ucol (int, int, int *, int *, int *, doublecomplex *, GlobalLU_t *)
int zpivotL (const int, const double, int *, int *, int *, int *, int *, GlobalLU_t *)
void zpruneL (const int, const int *, const int, const int, const int *, const int *, int *, GlobalLU_t *)
void resetrep_col (const int, const int *, int *)
void countnz (const int, int *, int *, int *, GlobalLU_t *)
void fixupL (const int, const int *, GlobalLU_t *)
int spcoletree (int *, int *, int *, int, int, int *)
int * TreePostorder (int, int *)
void zreadmt (int *, int *, int *, doublecomplex **, int **, int **)
void zGenXtrue (int, int, doublecomplex *, int)
void zFillRHS (char *, int, doublecomplex *, int, SuperMatrix *, SuperMatrix *)
void zgstrs (char *, SuperMatrix *, SuperMatrix *, int *, int *, SuperMatrix *, int *)
void zgsequ (SuperMatrix *, double *, double *, double *, double *, double *, int *)
void zlaqgs (SuperMatrix *, double *, double *, double, double, double, char *)
void zgscon (char *, SuperMatrix *, SuperMatrix *, double, double *, int *)
double zPivotGrowth (int, SuperMatrix *, int *, SuperMatrix *, SuperMatrix *)
void zgsrfs (char *, SuperMatrix *, SuperMatrix *, SuperMatrix *, int *, int *, char *, double *, double *, SuperMatrix *, SuperMatrix *, double *, double *, int *)
int sp_ztrsv (char *, char *, char *, SuperMatrix *, SuperMatrix *, doublecomplex *, int *)
int sp_zgemv (char *, doublecomplex, SuperMatrix *, doublecomplex *, int, doublecomplex, doublecomplex *, int)
int sp_zgemm (char *, char *, int, int, int, doublecomplex, SuperMatrix *, doublecomplex *, int, doublecomplex, doublecomplex *, int)
void superlu_abort_and_exit (char *)
void * superlu_malloc (int)
void superlu_free (void *)
int zLUMemInit (char *, void *, int, int, int, int, int, SuperMatrix *, SuperMatrix *, GlobalLU_t *, int **, doublecomplex **)
void SetIWork (int, int, int, int *, int **, int **, int **, int **, int **, int **, int **)
void zSetRWork (int, int, doublecomplex *, doublecomplex **, doublecomplex **)
void zLUWorkFree (int *, doublecomplex *, GlobalLU_t *)
int zLUMemXpand (int, int, MemType, int *, GlobalLU_t *)
int * intMalloc (int)
int * intCalloc (int)
doublecomplexdoublecomplexMalloc (int)
doublecomplexdoublecomplexCalloc (int)
double * doubleMalloc (int)
double * doubleCalloc (int)
int memory_usage ()
int zQuerySpace (SuperMatrix *, SuperMatrix *, int, mem_usage_t *)
void zCompRow_to_CompCol (int, int, int, doublecomplex *, int *, int *, doublecomplex **, int **, int **)
double SuperLU_timer_ ()
int sp_ienv (int)
int lsame_ (char *, char *)
int xerbla_ (char *, int *)
void ifill (int *, int, int)
void zfill (doublecomplex *, int, doublecomplex)
void inf_norm_error (int, SuperMatrix *, doublecomplex *)
void snode_profile (int, int *)
void super_stats (int, int *)
void PrintSumm (char *, int, int, int)
void PrintPerf (SuperMatrix *, SuperMatrix *, mem_usage_t *, doublecomplex, doublecomplex, doublecomplex *, doublecomplex *, char *)
void zPrint_CompCol_Matrix (char *, SuperMatrix *)
void zPrint_SuperNode_Matrix (char *, SuperMatrix *)
void zPrint_Dense_Matrix (char *, SuperMatrix *)
void print_lu_col (char *, int, int, int *, GlobalLU_t *)
void print_panel_seg (int, int, int, int, int *, int *)
void check_tempv (int, doublecomplex *)
void check_repfnz (int, int, int, int *)

Detailed Description

Sparse matrix types and function prototypes (complex double) for the SuperLU solver.

Definition in file zsp_defs.h.

Macro Definition Documentation

◆ NO_MARKER

#define NO_MARKER   3

Definition at line 34 of file zsp_defs.h.

◆ NUM_TEMPV

#define NUM_TEMPV ( m,
w,
t,
b )
Value:
( MAX(m, (t + b)*w) )
#define MAX(a, b)
Definition basics.h:656
F_TMatrix< T > b
Definition f_matrix.h:736

Definition at line 35 of file zsp_defs.h.

Enumeration Type Documentation

◆ LU_space_t

enum LU_space_t
Enumerator
SYSTEM 
USER 

Definition at line 39 of file zsp_defs.h.

◆ MemType

enum MemType
Enumerator
LUSUP 
UCOL 
LSUB 
USUB 

Definition at line 37 of file zsp_defs.h.

◆ stack_end_t

Enumerator
HEAD 
TAIL 

Definition at line 38 of file zsp_defs.h.

Function Documentation

◆ check_repfnz()

void check_repfnz ( int ,
int ,
int ,
int *  )
extern

◆ check_tempv()

void check_tempv ( int ,
doublecomplex *  )
extern

References doublecomplex.

◆ countnz()

void countnz ( const int ,
int * ,
int * ,
int * ,
GlobalLU_t *  )
extern

◆ Destroy_CompCol_Matrix()

void Destroy_CompCol_Matrix ( SuperMatrix * )
extern

◆ Destroy_CompCol_Permuted()

void Destroy_CompCol_Permuted ( SuperMatrix * )
extern

◆ Destroy_Dense_Matrix()

void Destroy_Dense_Matrix ( SuperMatrix * )
extern

◆ Destroy_SuperMatrix_Store()

void Destroy_SuperMatrix_Store ( SuperMatrix * )
extern

◆ Destroy_SuperNode_Matrix()

void Destroy_SuperNode_Matrix ( SuperMatrix * )
extern

◆ doubleCalloc()

double * doubleCalloc ( int )
extern

◆ doublecomplexCalloc()

doublecomplex * doublecomplexCalloc ( int )
extern

References doublecomplex.

◆ doublecomplexMalloc()

doublecomplex * doublecomplexMalloc ( int )
extern

References doublecomplex.

◆ doubleMalloc()

double * doubleMalloc ( int )
extern

◆ fixupL()

void fixupL ( const int ,
const int * ,
GlobalLU_t *  )
extern

◆ get_perm_c()

void get_perm_c ( int ,
SuperMatrix * ,
int *  )
extern

◆ ifill()

void ifill ( int * ,
int ,
int  )
extern

◆ inf_norm_error()

void inf_norm_error ( int ,
SuperMatrix * ,
doublecomplex *  )
extern

References doublecomplex.

◆ intCalloc()

int * intCalloc ( int )
extern

◆ intMalloc()

int * intMalloc ( int )
extern

◆ lsame_()

int lsame_ ( char * ,
char *  )
extern

◆ memory_usage()

int memory_usage ( )
extern

◆ print_lu_col()

void print_lu_col ( char * ,
int ,
int ,
int * ,
GlobalLU_t *  )
extern

◆ print_panel_seg()

void print_panel_seg ( int ,
int ,
int ,
int ,
int * ,
int *  )
extern

◆ PrintPerf()

void PrintPerf ( SuperMatrix * ,
SuperMatrix * ,
mem_usage_t * ,
doublecomplex ,
doublecomplex ,
doublecomplex * ,
doublecomplex * ,
char *  )
extern

References doublecomplex.

◆ PrintSumm()

void PrintSumm ( char * ,
int ,
int ,
int  )
extern

◆ relax_snode()

void relax_snode ( int ,
int * ,
int ,
int * ,
int *  )
extern

◆ resetrep_col()

void resetrep_col ( const int ,
const int * ,
int *  )
extern

◆ SetIWork()

void SetIWork ( int ,
int ,
int ,
int * ,
int ** ,
int ** ,
int ** ,
int ** ,
int ** ,
int ** ,
int **  )
extern

◆ snode_profile()

void snode_profile ( int ,
int *  )
extern

◆ sp_coletree()

int sp_coletree ( int * ,
int * ,
int * ,
int ,
int ,
int *  )
extern

◆ sp_ienv()

int sp_ienv ( int )
extern

◆ sp_preorder()

void sp_preorder ( char * ,
SuperMatrix * ,
int * ,
int * ,
SuperMatrix *  )
extern

◆ sp_zgemm()

int sp_zgemm ( char * ,
char * ,
int ,
int ,
int ,
doublecomplex ,
SuperMatrix * ,
doublecomplex * ,
int ,
doublecomplex ,
doublecomplex * ,
int  )
extern

References doublecomplex.

◆ sp_zgemv()

int sp_zgemv ( char * ,
doublecomplex ,
SuperMatrix * ,
doublecomplex * ,
int ,
doublecomplex ,
doublecomplex * ,
int  )
extern

References doublecomplex.

◆ sp_ztrsv()

int sp_ztrsv ( char * ,
char * ,
char * ,
SuperMatrix * ,
SuperMatrix * ,
doublecomplex * ,
int *  )
extern

References doublecomplex.

◆ spcoletree()

int spcoletree ( int * ,
int * ,
int * ,
int ,
int ,
int *  )
extern

◆ StatFree()

void StatFree ( )
extern

◆ StatInit()

void StatInit ( int ,
int  )
extern

◆ super_stats()

void super_stats ( int ,
int *  )
extern

◆ superlu_abort_and_exit()

void superlu_abort_and_exit ( char * )
extern

◆ superlu_free()

void superlu_free ( void * )
extern

◆ superlu_malloc()

void * superlu_malloc ( int )
extern

◆ SuperLU_timer_()

double SuperLU_timer_ ( )
extern

◆ TreePostorder()

int * TreePostorder ( int ,
int *  )
extern

◆ xerbla_()

int xerbla_ ( char * ,
int *  )
extern

◆ zallocateA()

void zallocateA ( int ,
int ,
doublecomplex ** ,
int ** ,
int **  )
extern

References doublecomplex.

◆ zcolumn_bmod()

int zcolumn_bmod ( const int ,
const int ,
doublecomplex * ,
doublecomplex * ,
int * ,
int * ,
int ,
GlobalLU_t *  )
extern

References doublecomplex.

◆ zcolumn_dfs()

int zcolumn_dfs ( const int ,
const int ,
int * ,
int * ,
int * ,
int * ,
int * ,
int * ,
int * ,
int * ,
int * ,
GlobalLU_t *  )
extern

◆ zCompRow_to_CompCol()

void zCompRow_to_CompCol ( int ,
int ,
int ,
doublecomplex * ,
int * ,
int * ,
doublecomplex ** ,
int ** ,
int **  )
extern

References doublecomplex.

◆ zCopy_CompCol_Matrix()

void zCopy_CompCol_Matrix ( SuperMatrix * ,
SuperMatrix *  )
extern

◆ zCopy_Dense_Matrix()

void zCopy_Dense_Matrix ( int ,
int ,
doublecomplex * ,
int ,
doublecomplex * ,
int  )
extern

References doublecomplex.

◆ zcopy_to_ucol()

int zcopy_to_ucol ( int ,
int ,
int * ,
int * ,
int * ,
doublecomplex * ,
GlobalLU_t *  )
extern

References doublecomplex.

◆ zCreate_CompCol_Matrix()

void zCreate_CompCol_Matrix ( SuperMatrix * ,
int ,
int ,
int ,
doublecomplex * ,
int * ,
int * ,
Stype_t ,
Dtype_t ,
Mtype_t  )
extern

References doublecomplex.

Referenced by lu_solve(), and lu_solve().

◆ zCreate_Dense_Matrix()

void zCreate_Dense_Matrix ( SuperMatrix * ,
int ,
int ,
doublecomplex * ,
int ,
Stype_t ,
Dtype_t ,
Mtype_t  )
extern

References doublecomplex.

Referenced by lu_solve(), and lu_solve().

◆ zCreate_SuperNode_Matrix()

void zCreate_SuperNode_Matrix ( SuperMatrix * ,
int ,
int ,
int ,
doublecomplex * ,
int * ,
int * ,
int * ,
int * ,
int * ,
Stype_t ,
Dtype_t ,
Mtype_t  )
extern

References doublecomplex.

◆ zfill()

void zfill ( doublecomplex * ,
int ,
doublecomplex  )
extern

References doublecomplex.

◆ zFillRHS()

void zFillRHS ( char * ,
int ,
doublecomplex * ,
int ,
SuperMatrix * ,
SuperMatrix *  )
extern

References doublecomplex.

◆ zGenXtrue()

void zGenXtrue ( int ,
int ,
doublecomplex * ,
int  )
extern

References doublecomplex.

◆ zgscon()

void zgscon ( char * ,
SuperMatrix * ,
SuperMatrix * ,
double ,
double * ,
int *  )
extern

◆ zgsequ()

void zgsequ ( SuperMatrix * ,
double * ,
double * ,
double * ,
double * ,
double * ,
int *  )
extern

◆ zgsrfs()

void zgsrfs ( char * ,
SuperMatrix * ,
SuperMatrix * ,
SuperMatrix * ,
int * ,
int * ,
char * ,
double * ,
double * ,
SuperMatrix * ,
SuperMatrix * ,
double * ,
double * ,
int *  )
extern

◆ zgssv()

void zgssv ( SuperMatrix * ,
int * ,
int * ,
SuperMatrix * ,
SuperMatrix * ,
SuperMatrix * ,
int *  )
extern

Referenced by lu_solve(), and lu_solve().

◆ zgssvx()

void zgssvx ( char * ,
char * ,
char * ,
SuperMatrix * ,
factor_param_t * ,
int * ,
int * ,
int * ,
char * ,
double * ,
double * ,
SuperMatrix * ,
SuperMatrix * ,
void * ,
int ,
SuperMatrix * ,
SuperMatrix * ,
double * ,
double * ,
double * ,
double * ,
mem_usage_t * ,
int *  )
extern

◆ zgstrf()

void zgstrf ( char * ,
SuperMatrix * ,
double ,
double ,
int ,
int ,
int * ,
void * ,
int ,
int * ,
int * ,
SuperMatrix * ,
SuperMatrix * ,
int *  )
extern

◆ zgstrs()

void zgstrs ( char * ,
SuperMatrix * ,
SuperMatrix * ,
int * ,
int * ,
SuperMatrix * ,
int *  )
extern

◆ zlaqgs()

void zlaqgs ( SuperMatrix * ,
double * ,
double * ,
double ,
double ,
double ,
char *  )
extern

◆ zLUMemInit()

int zLUMemInit ( char * ,
void * ,
int ,
int ,
int ,
int ,
int ,
SuperMatrix * ,
SuperMatrix * ,
GlobalLU_t * ,
int ** ,
doublecomplex **  )
extern

References doublecomplex.

◆ zLUMemXpand()

int zLUMemXpand ( int ,
int ,
MemType ,
int * ,
GlobalLU_t *  )
extern

◆ zLUWorkFree()

void zLUWorkFree ( int * ,
doublecomplex * ,
GlobalLU_t *  )
extern

References doublecomplex.

◆ zpanel_bmod()

void zpanel_bmod ( const int ,
const int ,
const int ,
const int ,
doublecomplex * ,
doublecomplex * ,
int * ,
int * ,
GlobalLU_t *  )
extern

References doublecomplex.

◆ zpanel_dfs()

void zpanel_dfs ( const int ,
const int ,
const int ,
SuperMatrix * ,
int * ,
int * ,
doublecomplex * ,
int * ,
int * ,
int * ,
int * ,
int * ,
int * ,
int * ,
GlobalLU_t *  )
extern

References doublecomplex.

◆ zPivotGrowth()

double zPivotGrowth ( int ,
SuperMatrix * ,
int * ,
SuperMatrix * ,
SuperMatrix *  )
extern

◆ zpivotL()

int zpivotL ( const int ,
const double ,
int * ,
int * ,
int * ,
int * ,
int * ,
GlobalLU_t *  )
extern

◆ zPrint_CompCol_Matrix()

void zPrint_CompCol_Matrix ( char * ,
SuperMatrix *  )
extern

◆ zPrint_Dense_Matrix()

void zPrint_Dense_Matrix ( char * ,
SuperMatrix *  )
extern

◆ zPrint_SuperNode_Matrix()

void zPrint_SuperNode_Matrix ( char * ,
SuperMatrix *  )
extern

◆ zpruneL()

void zpruneL ( const int ,
const int * ,
const int ,
const int ,
const int * ,
const int * ,
int * ,
GlobalLU_t *  )
extern

◆ zQuerySpace()

int zQuerySpace ( SuperMatrix * ,
SuperMatrix * ,
int ,
mem_usage_t *  )
extern

Referenced by lu_solve(), and lu_solve().

◆ zreadmt()

void zreadmt ( int * ,
int * ,
int * ,
doublecomplex ** ,
int ** ,
int **  )
extern

References doublecomplex.

◆ zSetRWork()

void zSetRWork ( int ,
int ,
doublecomplex * ,
doublecomplex ** ,
doublecomplex **  )
extern

References doublecomplex.

◆ zsnode_bmod()

int zsnode_bmod ( const int ,
const int ,
const int ,
doublecomplex * ,
doublecomplex * ,
GlobalLU_t *  )
extern

References doublecomplex.

◆ zsnode_dfs()

int zsnode_dfs ( const int ,
const int ,
const int * ,
const int * ,
const int * ,
int * ,
int * ,
GlobalLU_t *  )
extern