Functions/Subroutines | |
subroutine | d_full_lu (blocks, option, stats) |
subroutine | d_full_add_multiply (block3, chara, block1, block2, h_mat, option, stats, ptree, msh) |
subroutine | d_full_add (block3, chara, block1, ptree, stats, option) |
subroutine | d_lr_minusbc (ho_bf1, level_c, rowblock, ptree, stats) |
subroutine | d_lr_smw (block_o, Memory, ptree, stats, pgno) |
subroutine | d_lr_sblock (ho_bf1, level_c, rowblock, ptree, stats) |
subroutine | d_lr_a_minusbdinvc (partitioned_block, ptree, option, stats) |
subroutine | d_bf_inverse_schur_partitionedinverse (ho_bf1, level_c, rowblock, error_inout, option, stats, ptree, msh) |
subroutine | d_bf_inverse_schulziteration_iplusbutter (block_o, error_inout, option, stats, ptree, msh) |
recursive subroutine | d_bf_bdiag_approximation_precompute (recurlevel, bidx, bdiags, option, stats, ptree, msh, pgno) |
recursive subroutine | d_bf_bdiag_approximation (recurlevel, bidx, blocks_io, bdiags, option, stats, ptree, msh, pgno) |
subroutine | d_bf_compute_schulz_init (schulz_op, option, ptree, stats, msh) |
recursive subroutine | d_bf_inverse_partitionedinverse_iplusbutter (blocks_io, level_butterfly_target, recurlevel, option, error_inout, stats, ptree, msh, pgno) |
subroutine | d_lr_abcdinverse (partitioned_block, blocks_o, ptree, stats, option, msh) |
**** Merge four child LR into a bigger one More... | |
recursive subroutine | d_lr_buildabcd (blocks, partitioned_block, option, msh, stats, ptree, pgno, cridx) |
**** Use low-rank arithmetic to form the four child LRs in inverse_ABCD More... | |
subroutine | d_bf_aggregate (partitioned_block, blocks_o, ptree, stats, option, msh) |
**** Merge four child butterflies (of the same level) into a bigger one More... | |
subroutine | d_bf_split (blocks_i, blocks_o, ptree, stats, msh, option, splitpg) |
subroutine | d_bf_split_checkerror (blocks_i, blocks_o, ptree, stats, option) |
subroutine | d_bf_get_rank_abcd (partitioned_block, rankmax) |
subroutine | d_bplus_sblock_randomized_memfree (ho_bf1, level_c, rowblock, option, stats, ptree, msh) |
**** Update one off-diagonal block in HODLR/HODBF compressed as More... | |
subroutine | d_bplus_inverse_schur_partitionedinverse (ho_bf1, level_c, rowblock, option, stats, ptree, msh) |
subroutine | d_bplus_inverse_schur_partitionedinverse_hss (bplus, option, stats, ptree, msh) |
subroutine d_bplus_factor::d_bf_aggregate | ( | type(d_matrixblock) | partitioned_block, |
type(d_matrixblock) | blocks_o, | ||
type(d_proctree) | ptree, | ||
type(d_hstat) | stats, | ||
type(d_hoption) | option, | ||
type(d_mesh) | msh | ||
) |
**** Merge four child butterflies (of the same level) into a bigger one
****** row-wise ordering from right side
****** column-wise ordering from left side
recursive subroutine d_bplus_factor::d_bf_bdiag_approximation | ( | integer | recurlevel, |
integer | bidx, | ||
type(d_matrixblock) | blocks_io, | ||
type(d_bdiag) | bdiags, | ||
type(d_hoption) | option, | ||
type(d_hstat) | stats, | ||
type(d_proctree) | ptree, | ||
type(d_mesh) | msh, | ||
integer | pgno | ||
) |
recursive subroutine d_bplus_factor::d_bf_bdiag_approximation_precompute | ( | integer | recurlevel, |
integer | bidx, | ||
type(d_bdiag) | bdiags, | ||
type(d_hoption) | option, | ||
type(d_hstat) | stats, | ||
type(d_proctree) | ptree, | ||
type(d_mesh) | msh, | ||
integer | pgno | ||
) |
*** split process groups row-wise
subroutine d_bplus_factor::d_bf_compute_schulz_init | ( | type(d_schulz_operand) | schulz_op, |
type(d_hoption) | option, | ||
type(d_proctree) | ptree, | ||
type(d_hstat) | stats, | ||
type(d_mesh) | msh | ||
) |
subroutine d_bplus_factor::d_bf_get_rank_abcd | ( | type(d_matrixblock) | partitioned_block, |
integer | rankmax | ||
) |
recursive subroutine d_bplus_factor::d_bf_inverse_partitionedinverse_iplusbutter | ( | type(d_matrixblock) | blocks_io, |
integer | level_butterfly_target, | ||
integer | recurlevel, | ||
type(d_hoption) | option, | ||
real(kind=8) | error_inout, | ||
type(d_hstat) | stats, | ||
type(d_proctree) | ptree, | ||
type(d_mesh) | msh, | ||
integer | pgno | ||
) |
**** Check the estimated norm of the operator, if too small skip the randomized construction
subroutine d_bplus_factor::d_bf_inverse_schulziteration_iplusbutter | ( | type(d_matrixblock) | block_o, |
real(kind=8) | error_inout, | ||
type(d_hoption) | option, | ||
type(d_hstat) | stats, | ||
type(d_proctree) | ptree, | ||
type(d_mesh) | msh | ||
) |
subroutine d_bplus_factor::d_bf_inverse_schur_partitionedinverse | ( | type(d_hobf) | ho_bf1, |
integer | level_c, | ||
integer | rowblock, | ||
real(kind=8) | error_inout, | ||
type(d_hoption) | option, | ||
type(d_hstat) | stats, | ||
type(d_proctree) | ptree, | ||
type(d_mesh) | msh | ||
) |
subroutine d_bplus_factor::d_bf_split | ( | type(d_matrixblock), target | blocks_i, |
type(d_matrixblock) | blocks_o, | ||
type(d_proctree) | ptree, | ||
type(d_hstat) | stats, | ||
type(d_mesh) | msh, | ||
type(d_hoption) | option, | ||
integer, optional | splitpg | ||
) |
*** split process groups row-wise
*** try to use the same process group as blocks_i
**** first redistribute blocks_i into blocks_dummysons of the same butterfly levels
**** next convert blocks_dummysons into blocks_osons
subroutine d_bplus_factor::d_bf_split_checkerror | ( | type(d_matrixblock) | blocks_i, |
type(d_matrixblock) | blocks_o, | ||
type(d_proctree) | ptree, | ||
type(d_hstat) | stats, | ||
type(d_hoption) | option | ||
) |
subroutine d_bplus_factor::d_bplus_inverse_schur_partitionedinverse | ( | type(d_hobf) | ho_bf1, |
integer | level_c, | ||
integer | rowblock, | ||
type(d_hoption) | option, | ||
type(d_hstat) | stats, | ||
type(d_proctree) | ptree, | ||
type(d_mesh) | msh | ||
) |
subroutine d_bplus_factor::d_bplus_inverse_schur_partitionedinverse_hss | ( | type(d_blockplus) | bplus, |
type(d_hoption) | option, | ||
type(d_hstat) | stats, | ||
type(d_proctree) | ptree, | ||
type(d_mesh) | msh | ||
) |
subroutine d_bplus_factor::d_bplus_sblock_randomized_memfree | ( | type(d_hobf) | ho_bf1, |
integer | level_c, | ||
integer | rowblock, | ||
type(d_hoption) | option, | ||
type(d_hstat) | stats, | ||
type(d_proctree) | ptree, | ||
type(d_mesh) | msh | ||
) |
**** Update one off-diagonal block in HODLR/HODBF compressed as
subroutine d_bplus_factor::d_full_add | ( | type(d_matrixblock) | block3, |
character | chara, | ||
type(d_matrixblock) | block1, | ||
type(d_proctree) | ptree, | ||
type(d_hstat) | stats, | ||
type(d_hoption) | option | ||
) |
subroutine d_bplus_factor::d_full_add_multiply | ( | type(d_matrixblock) | block3, |
character | chara, | ||
type(d_matrixblock) | block1, | ||
type(d_matrixblock) | block2, | ||
type(d_hmat) | h_mat, | ||
type(d_hoption) | option, | ||
type(d_hstat) | stats, | ||
type(d_proctree) | ptree, | ||
type(d_mesh) | msh | ||
) |
subroutine d_bplus_factor::d_full_lu | ( | type(d_matrixblock) | blocks, |
type(d_hoption) | option, | ||
type(d_hstat) | stats | ||
) |
subroutine d_bplus_factor::d_lr_a_minusbdinvc | ( | type(d_matrixblock) | partitioned_block, |
type(d_proctree) | ptree, | ||
type(d_hoption) | option, | ||
type(d_hstat) | stats | ||
) |
subroutine d_bplus_factor::d_lr_abcdinverse | ( | type(d_matrixblock) | partitioned_block, |
type(d_matrixblock) | blocks_o, | ||
type(d_proctree) | ptree, | ||
type(d_hstat) | stats, | ||
type(d_hoption) | option, | ||
type(d_mesh) | msh | ||
) |
**** Merge four child LR into a bigger one
recursive subroutine d_bplus_factor::d_lr_buildabcd | ( | type(d_matrixblock) | blocks, |
type(d_matrixblock) | partitioned_block, | ||
type(d_hoption) | option, | ||
type(d_mesh) | msh, | ||
type(d_hstat) | stats, | ||
type(d_proctree) | ptree, | ||
integer | pgno, | ||
integer | cridx | ||
) |
**** Use low-rank arithmetic to form the four child LRs in inverse_ABCD
subroutine d_bplus_factor::d_lr_minusbc | ( | type(d_hobf) | ho_bf1, |
integer | level_c, | ||
integer | rowblock, | ||
type(d_proctree) | ptree, | ||
type(d_hstat) | stats | ||
) |
subroutine d_bplus_factor::d_lr_sblock | ( | type(d_hobf) | ho_bf1, |
integer | level_c, | ||
integer | rowblock, | ||
type(d_proctree) | ptree, | ||
type(d_hstat) | stats | ||
) |
subroutine d_bplus_factor::d_lr_smw | ( | type(d_matrixblock) | block_o, |
real(kind=8) | Memory, | ||
type(d_proctree) | ptree, | ||
type(d_hstat) | stats, | ||
integer | pgno | ||
) |