dBPACK_defs.f90 File Reference

Data Types

type  d_bpack_defs::d_grid
 **** hierarchical process d_grid associated with one process node in the process tree (used for parallel recursive LR compression) More...
 
type  d_bpack_defs::d_procgroup
 **** process groups/nodes in the process tree More...
 
type  d_bpack_defs::d_proctree
 **** binary process tree More...
 
type  d_bpack_defs::d_dat_pack
 **** data packet containing 3 integers and 1 real(kind=8) More...
 
type  d_bpack_defs::d_commquant1d
 **** communication buffer for all to all communication More...
 
type  d_bpack_defs::d_basisgroup
 **** cluster of points/indices More...
 
type  d_bpack_defs::d_nil_md
 **** near-interaction d_list More...
 
type  d_bpack_defs::d_nil_onelevel_md
 **** near-interaction d_list of all groups at one level More...
 
type  d_bpack_defs::d_vectorsblock
 **** input and output vectors for applying a Bplus at one level More...
 
type  d_bpack_defs::d_vectorsblock_onel
 **** input and output vectors for applying a Bplus at all levels More...
 
type  d_bpack_defs::d_vectorset
 **** a vector used to extract one element of a butterfly More...
 
type  d_bpack_defs::d_acaquant
 **** information used for one ACA iteration More...
 
type  d_bpack_defs::d_butterflymatrix
 **** one rank*rank butterfly block More...
 
type  d_bpack_defs::d_butterflyindex
 **** index set for one butterfly block More...
 
type  d_bpack_defs::d_butterfly_skel
 **** keep track of skeleton columns and rows for one butterfly level More...
 
type  d_bpack_defs::d_butterfly_skel_md
 **** keep track of skeleton columns and rows for one butterfly level More...
 
type  d_bpack_defs::d_butterfly_kerl
 **** one interior factor More...
 
type  d_bpack_defs::d_butterfly_kerl_md
 **** one interior factor at level l (L: l=1,level_butterflyL. R: l=1:level_butterflyR) More...
 
type  d_bpack_defs::d_butterfly_uv
 **** one outter most factor More...
 
type  d_bpack_defs::d_butterfly_uv_md
 **** one outter most factor More...
 
type  d_bpack_defs::d_iarray
 **** a derived type containing an integer array More...
 
type  d_bpack_defs::d_intersect
 **** intersections of a block row and column More...
 
type  d_bpack_defs::d_intersect_md
 **** subtensor of a full tensor More...
 
type  d_bpack_defs::d_zfpquant
 **** ZFP quantity (used for arrays of ZFP compressed data) More...
 
type  d_bpack_defs::d_matrixblock
 **** butterfly or LR structure More...
 
type  d_bpack_defs::d_matrixblock_md
 **** butterfly or LR structure in tensor format More...
 
type  d_bpack_defs::d_onelplus
 **** one layer in a Bplus More...
 
type  d_bpack_defs::d_onelplus_md
 **** one layer in a Bplus More...
 
type  d_bpack_defs::d_blockplus
 **** Bplus structure More...
 
type  d_bpack_defs::d_blockplus_md
 **** Bplus structure More...
 
type  d_bpack_defs::d_bdiag
 **** Structure holding block-diagonal approximations as the Schultz initial guess More...
 
type  d_bpack_defs::d_schulz_operand
 **** Structure holding operand in Schulz iteration More...
 
type  d_bpack_defs::d_cascadingfactors
 **** One level in BPACK More...
 
type  d_bpack_defs::d_hobf
 **** HODLR/HODBF structure More...
 
type  d_bpack_defs::d_hmat
 **** Hmatrix structure More...
 
type  d_bpack_defs::d_hssbf
 **** HSS structure More...
 
type  d_bpack_defs::d_hssbf_md
 **** HSS_MD structure More...
 
type  d_bpack_defs::d_svd_quant
 
type  d_bpack_defs::d_bmatrix
 
type  d_bpack_defs::d_randomblock
 **** intermidate vectors for applying a butterfly More...
 
type  d_bpack_defs::d_butterfly_vec
 **** intermidate vectors for applying a butterfly More...
 
type  d_bpack_defs::d_hoption
 **** BPACK solver options More...
 
type  d_bpack_defs::d_hstat
 **** statistics More...
 
type  d_bpack_defs::d_mesh
 **** quantities related to geometries, meshes, unknowns and points More...
 
type  d_bpack_defs::d_kernelquant
 **** quantities related to specific matrix kernels More...
 
type  d_bpack_defs::d_quant_bmat
 
type  d_bpack_defs::d_block_ptr
 **** a derived type containing a pointer to a block More...
 
type  d_bpack_defs::d_ipair
 *** a derived type for a pair of integers More...
 
interface  d_bpack_defs::d_BMatVec
 
interface  d_bpack_defs::d_Zelem
 
interface  d_bpack_defs::d_Zelem_block
 
interface  d_bpack_defs::d_F_Zelem
 interface of user-defined element evaluation routine in Fortran. m,n represents indices in natural order More...
 
interface  d_bpack_defs::d_F_Zelem_MD
 interface of user-defined element evaluation routine in Fortran. m,n represents (multi-dimensional) indices in natural order More...
 
interface  d_bpack_defs::d_F_Dist
 interface of user-defined distance computation routine in Fortran. m,n represents indices in natural order More...
 
interface  d_bpack_defs::d_F_Compressibility
 interface of user-defined compressibility routine in Fortran. groupm,groupn represents groups in the permuted order More...
 
interface  d_bpack_defs::d_F_Zelem_block
 interface of user-defined element extraction routine in Fortran. allrows,allcols represents indices in natural order More...
 
interface  d_bpack_defs::d_C_Zelem
 interface of user-defined element evaluation routine in C. m,n represents indices in natural order More...
 
interface  d_bpack_defs::d_C_Zelem_MD
 interface of user-defined element evaluation routine in C. m,n represents indices in natural order More...
 
interface  d_bpack_defs::d_C_Dist
 interface of user-defined distance computation routine in C. m,n represents indices in natural order More...
 
interface  d_bpack_defs::d_C_Compressibility
 interface of user-defined distance compressibility routine in C. groupm,groupn represents groups in the permuted order More...
 
interface  d_bpack_defs::d_C_Compressibility_MD
 interface of user-defined distance compressibility routine in C. groupm,groupn represents groups (multi-dimensional) in the permuted order More...
 
interface  d_bpack_defs::d_C_Zelem_block
 interface of user-defined element extraction routine in C. allrows,allcols represents indices in natural order More...
 
interface  d_bpack_defs::d_HMatVec
 
interface  d_bpack_defs::d_HMatVec_MD
 
interface  d_bpack_defs::d_F_HMatVec
 interface of user-defined HODLR/HODBF/H-LR/H-BF MatVec routine in Fortran. More...
 
interface  d_bpack_defs::d_F_HMatVec_MD
 interface of user-defined HODLR/HODBF/H-LR/H-BF MatVec (tensor) routine in Fortran. More...
 
interface  d_bpack_defs::d_C_HMatVec
 interface of user-defined HODLR/HODBF/H-LR/H-BF MatVec routine in C. More...
 
interface  d_bpack_defs::d_C_HMatVec_MD
 interface of user-defined HODLR/HODBF/H-LR/H-BF MatVec (tensor) routine in C. More...
 
interface  d_bpack_defs::d_C_BMatVec
 interface of user-defined Block MatVec routine in C. More...
 

Modules

module  d_bpack_defs
 

Functions/Subroutines

subroutine d_bpack_defs::d_iarray_finalizer (lst)
 deallocate all entries of an d_iarray More...
 

Variables

integer, parameter d_bpack_defs::bpack_major_version = 3
 **** the version numbers are automatically replaced with those defined in CMakeList.txt More...
 
integer, parameter d_bpack_defs::bpack_minor_version = 2
 
integer, parameter d_bpack_defs::bpack_patch_version = 0
 
real(kind=8), parameter d_bpack_defs::bpack_pi = 4d0*atan(1d0)
 **** common parameters More...
 
complex(kind=8), parameter d_bpack_defs::bpack_junit = (0d0, 1d0)
 
real(kind=8), parameter d_bpack_defs::bpack_bigvalue = 1d300
 
integer, parameter d_bpack_defs::bpack_bigint = 2147483647
 
real(kind=8), parameter d_bpack_defs::bpack_safeunderflow = 1D-30
 
real(kind=8), parameter d_bpack_defs::bpack_safeeps = 1D-14
 
real(kind=8), parameter d_bpack_defs::bpack_cone = 1d0
 
real(kind=8), parameter d_bpack_defs::bpack_czero = 0d0
 
integer, parameter d_bpack_defs::main_id = 0
 Head MPI rank. More...
 
integer, parameter d_bpack_defs::nbslpk = 32
 blacs/scalapack block size More...
 
integer, parameter d_bpack_defs::rows_per_processor = 1
 depreciated More...
 
integer, parameter d_bpack_defs::mpi_header = 11
 number of integers in the MPI header More...
 
integer, parameter d_bpack_defs::index_header = 4
 number of integers in header of Butterfly_index_MPI More...
 
integer, parameter d_bpack_defs::vec_oversample = 5
 number of extra vectors adding onto estimated rank in the randomized scheme More...
 
integer, parameter d_bpack_defs::msg_chunk = 100000
 used to determine message tag and hence the massage size More...
 
integer, parameter d_bpack_defs::ndim_max = 100
 maximum dimension of the inputs More...
 
integer, parameter d_bpack_defs::nsample_min_md = 4
 minimum number of subsamples in MD construction, useful whenrank at previous level or leaf size is too small More...
 
real(kind=8), parameter d_bpack_defs::bpack_cd = 299792458d0
 **** parameters for CEM More...
 
real(kind=8), parameter d_bpack_defs::bpack_eps0 = 1d7/(4d0*BPACK_pi*BPACK_cd**2)
 free-space permittivity More...
 
real(kind=8), parameter d_bpack_defs::bpack_mu0 = BPACK_pi*4d-7
 free-space permeability More...
 
real(kind=8), parameter d_bpack_defs::bpack_gamma = 1.781072418d0
 BPACK_gamma constant. More...
 
real(kind=8), parameter d_bpack_defs::bpack_impedence0 = sqrt(BPACK_mu0/BPACK_eps0)
 free-space wave impedance More...
 
integer, parameter d_bpack_defs::direct = 1
 **** solver parameters More...
 
integer, parameter d_bpack_defs::noprecon = 2
 use compressed BPACK as fast matvec More...
 
integer, parameter d_bpack_defs::bpackprecon = 3
 use factored BPACK as preconditioner More...
 
integer, parameter d_bpack_defs::lplusmax = 10
 
integer, parameter d_bpack_defs::hodlr = 1
 use hodlr/hodbf solver More...
 
integer, parameter d_bpack_defs::hmat = 2
 use H matrix (lr/bf) solver More...
 
integer, parameter d_bpack_defs::hss = 3
 use hss_bf/shnbf solver More...
 
integer, parameter d_bpack_defs::hss_md = 4
 use hss_bf_md/shn_bf_md solver More...
 
integer, parameter d_bpack_defs::blr = 5
 use single-level matrix (lr/bf) solver More...
 
integer, parameter d_bpack_defs::svd = 1
 **** construction parameters More...
 
integer, parameter d_bpack_defs::rrqr = 2
 
integer, parameter d_bpack_defs::aca = 3
 
integer, parameter d_bpack_defs::baca = 4
 
integer, parameter d_bpack_defs::bacanover = 5
 
integer, parameter d_bpack_defs::ps = 6
 
integer, parameter d_bpack_defs::acanmerge = 7
 
integer, parameter d_bpack_defs::natural = 0
 natural order More...
 
integer, parameter d_bpack_defs::ckd = 1
 cartesian kd tree More...
 
integer, parameter d_bpack_defs::tm = 2
 cobble-like ordering More...
 
integer, parameter d_bpack_defs::tm_gram = 3
 gram distance-based cobble-like ordering, the behaviour is undefined if matrix is not SPD, HPD, general symmetric or general hermitian More...
 
real(kind=8) d_bpack_defs::time_tmp
 *** need to further work on the following: More...
 
real(kind=8) d_bpack_defs::time_tmp1
 
real(kind=8) d_bpack_defs::time_tmp2
 
real(kind=8) d_bpack_defs::time_tmp3
 
real(kind=8) d_bpack_defs::time_tmp4
 
real(kind=8) d_bpack_defs::time_tmp5