**** butterfly or LR structure More...
Public Attributes | |
integer | pgno |
process group More... | |
integer | pgno_db |
process group when MPI count is doubled More... | |
integer | level |
level in BPACK More... | |
integer | col_group |
column group number More... | |
integer | row_group |
row group number More... | |
integer | style |
1: full block 2: compressed block 4: hierarchical block More... | |
integer | level_butterfly |
butterfly levels More... | |
integer | level_half = 0 |
the butterfly level where the row-wise and column-wise orderings meet More... | |
integer | rankmax =0 |
maximum butterfly ranks More... | |
integer | rankmin =BPACK_BigINT |
minimum butterfly ranks More... | |
integer | dimension_rank |
estimated maximum rank More... | |
integer | m |
integer | n |
size of the block More... | |
integer | m_loc |
integer | n_loc |
local size of the block More... | |
integer | headm |
integer | headn |
header indices in row and column dimension More... | |
integer, dimension(:, :), pointer | m_p => null() |
row sizes of all processes sharing this block More... | |
integer, dimension(:, :), pointer | n_p => null() |
column sizes of all processes sharing this block More... | |
integer, dimension(:), pointer | ms => null() |
sizes of accummulated local leaf row blocks More... | |
integer, dimension(:), pointer | ns => null() |
sizes of accummulated local leaf column blocks More... | |
complex(kind=4), dimension(:, :), pointer | fullmat => null() |
full matrix entries More... | |
type(c_zfpquant) | fullmatzfp |
ZFP quantity for compressing fullmat. More... | |
type(c_butterfly_uv) | butterflyu |
leftmost factor More... | |
type(c_butterfly_uv) | butterflyv |
rightmost factor More... | |
type(c_butterflymatrix), dimension(:, :), allocatable | butterflymiddle |
middle factor More... | |
type(c_butterfly_kerl), dimension(:), allocatable | butterflykerl |
interior factors More... | |
type(c_butterfly_skel), dimension(:), allocatable | butterflyskel |
keep track of skeleton columns or rows of each level More... | |
type(c_matrixblock), pointer | father => null() |
pointer to its fater More... | |
type(c_matrixblock), dimension(:, :), pointer | sons => null() |
pointer to its children More... | |
type(c_list), dimension(:), allocatable | lstblks |
lstblks(level) is the c_list of blocks at that level More... | |
integer, dimension(:), allocatable | ipiv |
permutation of the LU of the dense diagonal blocks More... | |
integer, dimension(mpi_header) | blockinfo_mpi |
high-level data extracted from the index message: 1. level 2. row_group 3. col_group 4. nested_num(depreciated) 5. style 6. prestyle(depreciated) 7. data_type(depreciated) 8. level_butterfly 9. length_Butterfly_index_MPI 10. length_Butterfly_data_MPI 11. memory (depreciated) More... | |
integer | length_butterfly_index_mpi |
length of the index message, the first INDEX_Header integers are 1. decpreciated 2. rankmax 3. level_butterfly. 4. num_blocks More... | |
integer | length_butterfly_data_mpi |
length of the value message More... | |
complex(kind=4), dimension(:), allocatable | fullmat_mpi |
massage for the dense blocks More... | |
integer, dimension(:), allocatable | butterfly_index_mpi |
index message the first 4 entries are: 1. depreciated 2. depreciated 3. level_butterfly 4. num_blocks More... | |
complex(kind=4), dimension(:), allocatable | butterfly_data_mpi |
value message More... | |
type(c_list) | lstr |
type(c_list) | lstc |
a c_list of intersections More... | |
type(c_intersect), dimension(:), allocatable | inters |
an array of intersections More... | |
complex(kind=4), dimension(:,:), allocatable | r |
complex(kind=4), dimension(:,:), allocatable | rc |
complex(kind=4), dimension(:,:), allocatable | mvp |
complex(kind=4), dimension(:,:), allocatable | mvpc |
temporary results for non-transposed and conjugate transposed MVP results and input More... | |
**** butterfly or LR structure
integer, dimension(mpi_header) c_bpack_defs::c_matrixblock::blockinfo_mpi |
high-level data extracted from the index message: 1. level 2. row_group 3. col_group 4. nested_num(depreciated) 5. style 6. prestyle(depreciated) 7. data_type(depreciated) 8. level_butterfly 9. length_Butterfly_index_MPI 10. length_Butterfly_data_MPI 11. memory (depreciated)
complex(kind=4), dimension(:), allocatable c_bpack_defs::c_matrixblock::butterfly_data_mpi |
value message
integer, dimension(:), allocatable c_bpack_defs::c_matrixblock::butterfly_index_mpi |
index message the first 4 entries are: 1. depreciated 2. depreciated 3. level_butterfly 4. num_blocks
type(c_butterfly_kerl), dimension(:), allocatable c_bpack_defs::c_matrixblock::butterflykerl |
interior factors
type(c_butterflymatrix), dimension(:, :), allocatable c_bpack_defs::c_matrixblock::butterflymiddle |
middle factor
type(c_butterfly_skel), dimension(:), allocatable c_bpack_defs::c_matrixblock::butterflyskel |
keep track of skeleton columns or rows of each level
type(c_butterfly_uv) c_bpack_defs::c_matrixblock::butterflyu |
leftmost factor
type(c_butterfly_uv) c_bpack_defs::c_matrixblock::butterflyv |
rightmost factor
integer c_bpack_defs::c_matrixblock::col_group |
column group number
integer c_bpack_defs::c_matrixblock::dimension_rank |
estimated maximum rank
type(c_matrixblock), pointer c_bpack_defs::c_matrixblock::father => null() |
pointer to its fater
complex(kind=4), dimension(:, :), pointer c_bpack_defs::c_matrixblock::fullmat => null() |
full matrix entries
complex(kind=4), dimension(:), allocatable c_bpack_defs::c_matrixblock::fullmat_mpi |
massage for the dense blocks
type(c_zfpquant) c_bpack_defs::c_matrixblock::fullmatzfp |
ZFP quantity for compressing fullmat.
integer c_bpack_defs::c_matrixblock::headm |
integer c_bpack_defs::c_matrixblock::headn |
header indices in row and column dimension
type(c_intersect), dimension(:), allocatable c_bpack_defs::c_matrixblock::inters |
an array of intersections
integer, dimension(:), allocatable c_bpack_defs::c_matrixblock::ipiv |
permutation of the LU of the dense diagonal blocks
integer c_bpack_defs::c_matrixblock::length_butterfly_data_mpi |
length of the value message
integer c_bpack_defs::c_matrixblock::length_butterfly_index_mpi |
length of the index message, the first INDEX_Header integers are 1. decpreciated 2. rankmax 3. level_butterfly. 4. num_blocks
integer c_bpack_defs::c_matrixblock::level |
level in BPACK
integer c_bpack_defs::c_matrixblock::level_butterfly |
butterfly levels
integer c_bpack_defs::c_matrixblock::level_half = 0 |
the butterfly level where the row-wise and column-wise orderings meet
type(c_list), dimension(:), allocatable c_bpack_defs::c_matrixblock::lstblks |
lstblks(level) is the c_list of blocks at that level
type(c_list) c_bpack_defs::c_matrixblock::lstc |
a c_list of intersections
type(c_list) c_bpack_defs::c_matrixblock::lstr |
integer c_bpack_defs::c_matrixblock::m |
integer c_bpack_defs::c_matrixblock::m_loc |
integer, dimension(:, :), pointer c_bpack_defs::c_matrixblock::m_p => null() |
row sizes of all processes sharing this block
integer, dimension(:), pointer c_bpack_defs::c_matrixblock::ms => null() |
sizes of accummulated local leaf row blocks
complex(kind=4), dimension(:,:), allocatable c_bpack_defs::c_matrixblock::mvp |
complex(kind=4), dimension(:,:), allocatable c_bpack_defs::c_matrixblock::mvpc |
temporary results for non-transposed and conjugate transposed MVP results and input
integer c_bpack_defs::c_matrixblock::n |
size of the block
integer c_bpack_defs::c_matrixblock::n_loc |
local size of the block
integer, dimension(:, :), pointer c_bpack_defs::c_matrixblock::n_p => null() |
column sizes of all processes sharing this block
integer, dimension(:), pointer c_bpack_defs::c_matrixblock::ns => null() |
sizes of accummulated local leaf column blocks
integer c_bpack_defs::c_matrixblock::pgno |
process group
integer c_bpack_defs::c_matrixblock::pgno_db |
process group when MPI count is doubled
complex(kind=4), dimension(:,:), allocatable c_bpack_defs::c_matrixblock::r |
integer c_bpack_defs::c_matrixblock::rankmax =0 |
maximum butterfly ranks
integer c_bpack_defs::c_matrixblock::rankmin =BPACK_BigINT |
minimum butterfly ranks
complex(kind=4), dimension(:,:), allocatable c_bpack_defs::c_matrixblock::rc |
integer c_bpack_defs::c_matrixblock::row_group |
row group number
type(c_matrixblock), dimension(:, :), pointer c_bpack_defs::c_matrixblock::sons => null() |
pointer to its children
integer c_bpack_defs::c_matrixblock::style |
1: full block 2: compressed block 4: hierarchical block