**** BPACK solver options More...
Public Attributes | |
| integer | format |
| HODLR, HMAT, HSS, HSS_MD, BLR. More... | |
| integer | verbosity |
| printlevel -1: no printing except error and warning. 0: default printing. 1: print info for each high-level operation 2: print information for each low-level operation More... | |
| integer | lrlevel |
| The top LRlevel level blocks are butterfly or Bplus. More... | |
| integer | lnobp |
| the bottom lnoBP levels are either Butterfly or LR, but not Bplus More... | |
| integer | bp_cnt_lr |
| only print the rank in the top-layer butterfly of a Bplus More... | |
| integer | twolayeronly |
| restrict Bplus as Butterfly + LR More... | |
| real(kind=8) | touch_para |
| parameters used to determine whether one patch is closer to seperator More... | |
| real(kind=8) | sample_para |
| parameters used for linear-complexity ID-butterfly, # of row/columns samples is sample_para*2*butterfly_rank More... | |
| real(kind=8) | sample_para_outer |
| parameters used for linear-complexity ID-butterfly, # of row/columns samples is sample_para*2*butterfly_rank More... | |
| integer | pat_comp |
| pattern of entry-evaluation-based butterfly compression: 1 from right to left, 2 from left to right, 3 from outer to inner More... | |
| integer | use_zfp |
| 1: use zfp for the dense blocks (zfp must be used to install ButterflyPACK) 0: do not use zfp More... | |
| integer | hextralevel |
| HMAT: extra levels for top partitioning of the H matrix based on MPI counts. BLR: Maxlevel-hextralevel is the level for defining B-LR/B-BF blocks. More... | |
| integer | forwardn15flag |
| 1 use N^1.5 algorithm. 0: use NlogN pseudo skeleton algorithm. 2: use NlogN first, if not accurate enough, switch to N^1.5 More... | |
| real(kind=8) | tol_comp |
| matrix construction tolerance More... | |
| integer | nmin_leaf |
| leaf sizes of BPACK tree More... | |
| integer | nogeo |
| 1: no geometrical information available to BPACK, use NATUTAL or TM_GRAM clustering 0: geometrical points are available for TM or CKD clustering 2: no geometrical information available, but a user-defined distance function and compressibility function is provided. 3: no geometrical information available, but an array of knn*N indicating the knn neighbours of each element is provided. 4: geometrical information available for TM or CKD clustering, and an array of knn*N indicating the knn neighbours of each element is provided More... | |
| integer | per_geo |
| 1: the geomerical points are periodical. 0: the points are not periodical More... | |
| real(kind=8), dimension(ndim_max) | periods |
| the periods in each dimension (currently only supports maximum of 3 dimensions) of the geometry points when per_geo=1 More... | |
| integer | xyzsort |
| clustering methods given geometrical points: CKD: cartesian kd tree SKD: spherical kd tree (only for 3D points) TM: (2 mins no recursive) More... | |
| integer | reclr_leaf |
| bottom level operations in a recursive merge-based LR compression: SVD, RRQR, ACA, BACA More... | |
| real(kind=8) | near_para |
| parameters used to determine whether two groups are nearfield or farfield pair More... | |
| real(kind=8) | knn_near_para |
| parameters used to determine whether two groups are nearfield or farfield pair, used for knn search More... | |
| real(kind=8) | scale_factor |
| parameters used to scale matrix entries More... | |
| integer | rmax |
| maximum rank truncation More... | |
| integer | elem_extract |
| 1: use user-defined element extraction 0: use user-defined formula More... | |
| integer | cpp |
| 1: use user-defined c/cpp functions 0: use user-defined fortran functions More... | |
| integer | knn |
| number of nearest neighbour points for each point More... | |
| integer | fastsample_tensor |
| 0: uniformly sample each dimension. 1: uniformly sample the rows of the unfolded matrices on top of 0. 2: use translation invariance More... | |
| real(kind=8) | tol_ls |
| tolerance in pseudo inverse More... | |
| real(kind=8) | tol_rdetect |
| tolerance to detect numerical ranks More... | |
| real(kind=8) | tol_rand |
| tolerance for randomized contruction, mostly used in matrix inversion More... | |
| real(kind=8) | jitter |
| jittering for dense diagonal blocks More... | |
| integer | powiter |
| order of power iteration in randomized LR More... | |
| integer | less_adapt |
| 0 for rank adaptation for all BF levels, 1 for rank adaptation for the outtermost BF levels More... | |
| integer | schulzorder |
| order (>=2) of schultz iteration More... | |
| integer | schulzhardstart |
| 1: use X0=alphaA^* as the initial guess 0: use block-diagonal approximation of A with recursive inversion as the intial guess More... | |
| integer | schulzsplitlevel |
| number of levels to split A for block-diagonal approximation More... | |
| integer | schulzlevel |
| (I+B)^-1 is computed by schultz iteration for butterfly with more than schulzlevel levels More... | |
| integer | rank0 |
| intial guess of ranks More... | |
| real(kind=8) | rankrate |
| increasing rate of rank estimates per iteration More... | |
| integer | itermax |
| max number of iteration in randomized schemes More... | |
| integer | ilu |
| only perform LU on dense diagonal blocks, used only in the context of H-LU More... | |
| integer | nbundle |
| multiply Nbundle sets of vectors together in randomized schemes More... | |
| real(kind=8) | tol_itersol |
| tolerance for iterative solvers More... | |
| integer | n_iter |
| maximum number of iterations for iterative solver More... | |
| integer | precon |
| DIRECT: use factored BPACK as direct solver, BPACKPRECON: use factored BPACK as preconditioner, NOPRECON: use forward BPACK as fast matvec,. More... | |
| integer | level_check |
| check compression quality by picking random entries at level_check (only work for nmpi=1 now) More... | |
| integer | errfillfull |
| check compression quality by computing all block elements More... | |
| integer | errsol |
| check solution quality by using artificially generated true solution vector More... | |
| integer | baca_batch |
| batch size in batch ACA More... | |
| integer | lr_blk_num |
| sqrt of number of bottom-level subblocks in blocked LR More... | |
**** BPACK solver options
| integer z_bpack_defs::z_hoption::baca_batch |
batch size in batch ACA
| integer z_bpack_defs::z_hoption::bp_cnt_lr |
only print the rank in the top-layer butterfly of a Bplus
| integer z_bpack_defs::z_hoption::cpp |
1: use user-defined c/cpp functions 0: use user-defined fortran functions
| integer z_bpack_defs::z_hoption::elem_extract |
1: use user-defined element extraction 0: use user-defined formula
| integer z_bpack_defs::z_hoption::errfillfull |
check compression quality by computing all block elements
| integer z_bpack_defs::z_hoption::errsol |
check solution quality by using artificially generated true solution vector
| integer z_bpack_defs::z_hoption::fastsample_tensor |
0: uniformly sample each dimension. 1: uniformly sample the rows of the unfolded matrices on top of 0. 2: use translation invariance
| integer z_bpack_defs::z_hoption::format |
HODLR, HMAT, HSS, HSS_MD, BLR.
| integer z_bpack_defs::z_hoption::forwardn15flag |
1 use N^1.5 algorithm. 0: use NlogN pseudo skeleton algorithm. 2: use NlogN first, if not accurate enough, switch to N^1.5
| integer z_bpack_defs::z_hoption::hextralevel |
HMAT: extra levels for top partitioning of the H matrix based on MPI counts. BLR: Maxlevel-hextralevel is the level for defining B-LR/B-BF blocks.
| integer z_bpack_defs::z_hoption::ilu |
only perform LU on dense diagonal blocks, used only in the context of H-LU
| integer z_bpack_defs::z_hoption::itermax |
max number of iteration in randomized schemes
| real(kind=8) z_bpack_defs::z_hoption::jitter |
jittering for dense diagonal blocks
| integer z_bpack_defs::z_hoption::knn |
number of nearest neighbour points for each point
| real(kind=8) z_bpack_defs::z_hoption::knn_near_para |
parameters used to determine whether two groups are nearfield or farfield pair, used for knn search
| integer z_bpack_defs::z_hoption::less_adapt |
0 for rank adaptation for all BF levels, 1 for rank adaptation for the outtermost BF levels
| integer z_bpack_defs::z_hoption::level_check |
check compression quality by picking random entries at level_check (only work for nmpi=1 now)
| integer z_bpack_defs::z_hoption::lnobp |
the bottom lnoBP levels are either Butterfly or LR, but not Bplus
| integer z_bpack_defs::z_hoption::lr_blk_num |
sqrt of number of bottom-level subblocks in blocked LR
| integer z_bpack_defs::z_hoption::lrlevel |
The top LRlevel level blocks are butterfly or Bplus.
| integer z_bpack_defs::z_hoption::n_iter |
maximum number of iterations for iterative solver
| integer z_bpack_defs::z_hoption::nbundle |
multiply Nbundle sets of vectors together in randomized schemes
| real(kind=8) z_bpack_defs::z_hoption::near_para |
parameters used to determine whether two groups are nearfield or farfield pair
| integer z_bpack_defs::z_hoption::nmin_leaf |
leaf sizes of BPACK tree
| integer z_bpack_defs::z_hoption::nogeo |
1: no geometrical information available to BPACK, use NATUTAL or TM_GRAM clustering 0: geometrical points are available for TM or CKD clustering 2: no geometrical information available, but a user-defined distance function and compressibility function is provided. 3: no geometrical information available, but an array of knn*N indicating the knn neighbours of each element is provided. 4: geometrical information available for TM or CKD clustering, and an array of knn*N indicating the knn neighbours of each element is provided
| integer z_bpack_defs::z_hoption::pat_comp |
pattern of entry-evaluation-based butterfly compression: 1 from right to left, 2 from left to right, 3 from outer to inner
| integer z_bpack_defs::z_hoption::per_geo |
1: the geomerical points are periodical. 0: the points are not periodical
| real(kind=8), dimension(ndim_max) z_bpack_defs::z_hoption::periods |
the periods in each dimension (currently only supports maximum of 3 dimensions) of the geometry points when per_geo=1
| integer z_bpack_defs::z_hoption::powiter |
order of power iteration in randomized LR
| integer z_bpack_defs::z_hoption::precon |
DIRECT: use factored BPACK as direct solver, BPACKPRECON: use factored BPACK as preconditioner, NOPRECON: use forward BPACK as fast matvec,.
| integer z_bpack_defs::z_hoption::rank0 |
intial guess of ranks
| real(kind=8) z_bpack_defs::z_hoption::rankrate |
increasing rate of rank estimates per iteration
| integer z_bpack_defs::z_hoption::reclr_leaf |
bottom level operations in a recursive merge-based LR compression: SVD, RRQR, ACA, BACA
| integer z_bpack_defs::z_hoption::rmax |
maximum rank truncation
| real(kind=8) z_bpack_defs::z_hoption::sample_para |
parameters used for linear-complexity ID-butterfly, # of row/columns samples is sample_para*2*butterfly_rank
| real(kind=8) z_bpack_defs::z_hoption::sample_para_outer |
parameters used for linear-complexity ID-butterfly, # of row/columns samples is sample_para*2*butterfly_rank
| real(kind=8) z_bpack_defs::z_hoption::scale_factor |
parameters used to scale matrix entries
| integer z_bpack_defs::z_hoption::schulzhardstart |
1: use X0=alphaA^* as the initial guess 0: use block-diagonal approximation of A with recursive inversion as the intial guess
| integer z_bpack_defs::z_hoption::schulzlevel |
(I+B)^-1 is computed by schultz iteration for butterfly with more than schulzlevel levels
| integer z_bpack_defs::z_hoption::schulzorder |
order (>=2) of schultz iteration
| integer z_bpack_defs::z_hoption::schulzsplitlevel |
number of levels to split A for block-diagonal approximation
| real(kind=8) z_bpack_defs::z_hoption::tol_comp |
matrix construction tolerance
| real(kind=8) z_bpack_defs::z_hoption::tol_itersol |
tolerance for iterative solvers
| real(kind=8) z_bpack_defs::z_hoption::tol_ls |
tolerance in pseudo inverse
| real(kind=8) z_bpack_defs::z_hoption::tol_rand |
tolerance for randomized contruction, mostly used in matrix inversion
| real(kind=8) z_bpack_defs::z_hoption::tol_rdetect |
tolerance to detect numerical ranks
| real(kind=8) z_bpack_defs::z_hoption::touch_para |
parameters used to determine whether one patch is closer to seperator
| integer z_bpack_defs::z_hoption::twolayeronly |
restrict Bplus as Butterfly + LR
| integer z_bpack_defs::z_hoption::use_zfp |
1: use zfp for the dense blocks (zfp must be used to install ButterflyPACK) 0: do not use zfp
| integer z_bpack_defs::z_hoption::verbosity |
printlevel -1: no printing except error and warning. 0: default printing. 1: print info for each high-level operation 2: print information for each low-level operation
| integer z_bpack_defs::z_hoption::xyzsort |
clustering methods given geometrical points: CKD: cartesian kd tree SKD: spherical kd tree (only for 3D points) TM: (2 mins no recursive)