**** butterfly or LR structure in tensor format More...
Public Attributes | |
integer | ndim |
dimensionality More... | |
integer | pgno |
process group More... | |
integer | pgno_db |
process group when MPI count is doubled More... | |
integer | level |
level in BPACK More... | |
integer, dimension(:), allocatable | col_group |
column group number per dimension More... | |
integer, dimension(:), allocatable | row_group |
row group number per dimension 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, dimension(:), allocatable | m |
integer, dimension(:), allocatable | n |
size of the block More... | |
integer, dimension(:), allocatable | m_loc |
integer, dimension(:), allocatable | n_loc |
local size of the block More... | |
integer, dimension(:), allocatable | headm |
integer, dimension(:), allocatable | 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=8), dimension(:, :), pointer | fullmat => null() |
full matrix entries More... | |
type(z_zfpquant) | fullmatzfp |
ZFP quantity for compressing fullmat. More... | |
type(z_zfpquant), dimension(:), allocatable | middlezfp |
integer, dimension(:), allocatable | nr_m |
integer, dimension(:), allocatable | nc_m |
local number of middle-level row and column groups per dimension. The global number will be nr_m(dim_i)=2^level_half and nc_m(dim_i)=2^(level_butterfly-level_half) More... | |
integer, dimension(:), allocatable | idx_r_m |
integer, dimension(:), allocatable | idx_c_m |
starting index for the middle-level groups per dimension More... | |
type(z_butterfly_uv_md), dimension(:), allocatable | butterflyu |
leftmost factor of length product(nr_m) More... | |
type(z_butterfly_uv_md), dimension(:), allocatable | butterflyv |
rightmost factor of length product(nc_m) More... | |
type(z_butterflymatrix), dimension(:), allocatable | butterflymiddle |
middle factor of sizes product(nr_m) * 2^(level_butterfly-level_half) More... | |
type(z_butterfly_kerl_md), dimension(:,:), allocatable | butterflykerl_l |
left half interior factors of sizes product(nr_m) * (level_butterfly-level_half) More... | |
type(z_butterfly_kerl_md), dimension(:,:), allocatable | butterflykerl_r |
right half interior factors of sizes product(nr_c) * level_half More... | |
type(z_butterfly_skel_md), dimension(:,:), allocatable | butterflyskel_l |
keep track of skeleton rows of each level (left half), sizes product(nr_m) * (level_butterfly-level_half+1) More... | |
type(z_butterfly_skel_md), dimension(:,:), allocatable | butterflyskel_r |
keep track of skeleton columns of each level (right half), sizes product(nr_c) * (level_half+1) More... | |
type(z_matrixblock_md), pointer | father => null() |
pointer to its fater More... | |
type(z_matrixblock_md), dimension(:, :), pointer | sons => null() |
pointer to its children 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=8), 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=8), dimension(:), allocatable | butterfly_data_mpi |
value message More... | |
type(z_list) | lstr |
type(z_list) | lstc |
a z_list of intersections More... | |
type(z_intersect), dimension(:), allocatable | inters |
an array of intersections More... | |
**** butterfly or LR structure in tensor format
integer, dimension(mpi_header) z_bpack_defs::z_matrixblock_md::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=8), dimension(:), allocatable z_bpack_defs::z_matrixblock_md::butterfly_data_mpi |
value message
integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::butterfly_index_mpi |
index message the first 4 entries are: 1. depreciated 2. depreciated 3. level_butterfly 4. num_blocks
type(z_butterfly_kerl_md), dimension(:,:), allocatable z_bpack_defs::z_matrixblock_md::butterflykerl_l |
left half interior factors of sizes product(nr_m) * (level_butterfly-level_half)
type(z_butterfly_kerl_md), dimension(:,:), allocatable z_bpack_defs::z_matrixblock_md::butterflykerl_r |
right half interior factors of sizes product(nr_c) * level_half
type(z_butterflymatrix), dimension(:), allocatable z_bpack_defs::z_matrixblock_md::butterflymiddle |
middle factor of sizes product(nr_m) * 2^(level_butterfly-level_half)
type(z_butterfly_skel_md), dimension(:,:), allocatable z_bpack_defs::z_matrixblock_md::butterflyskel_l |
keep track of skeleton rows of each level (left half), sizes product(nr_m) * (level_butterfly-level_half+1)
type(z_butterfly_skel_md), dimension(:,:), allocatable z_bpack_defs::z_matrixblock_md::butterflyskel_r |
keep track of skeleton columns of each level (right half), sizes product(nr_c) * (level_half+1)
type(z_butterfly_uv_md), dimension(:), allocatable z_bpack_defs::z_matrixblock_md::butterflyu |
leftmost factor of length product(nr_m)
type(z_butterfly_uv_md), dimension(:), allocatable z_bpack_defs::z_matrixblock_md::butterflyv |
rightmost factor of length product(nc_m)
integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::col_group |
column group number per dimension
integer z_bpack_defs::z_matrixblock_md::dimension_rank |
estimated maximum rank
type(z_matrixblock_md), pointer z_bpack_defs::z_matrixblock_md::father => null() |
pointer to its fater
complex(kind=8), dimension(:, :), pointer z_bpack_defs::z_matrixblock_md::fullmat => null() |
full matrix entries
complex(kind=8), dimension(:), allocatable z_bpack_defs::z_matrixblock_md::fullmat_mpi |
massage for the dense blocks
type(z_zfpquant) z_bpack_defs::z_matrixblock_md::fullmatzfp |
ZFP quantity for compressing fullmat.
integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::headm |
integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::headn |
header indices in row and column dimension
integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::idx_c_m |
starting index for the middle-level groups per dimension
integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::idx_r_m |
type(z_intersect), dimension(:), allocatable z_bpack_defs::z_matrixblock_md::inters |
an array of intersections
integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::ipiv |
permutation of the LU of the dense diagonal blocks
integer z_bpack_defs::z_matrixblock_md::length_butterfly_data_mpi |
length of the value message
integer z_bpack_defs::z_matrixblock_md::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 z_bpack_defs::z_matrixblock_md::level |
level in BPACK
integer z_bpack_defs::z_matrixblock_md::level_butterfly |
butterfly levels
integer z_bpack_defs::z_matrixblock_md::level_half = 0 |
the butterfly level where the row-wise and column-wise orderings meet
type(z_list) z_bpack_defs::z_matrixblock_md::lstc |
a z_list of intersections
type(z_list) z_bpack_defs::z_matrixblock_md::lstr |
integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::m |
integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::m_loc |
integer, dimension(:, :, :), pointer z_bpack_defs::z_matrixblock_md::m_p => null() |
row sizes of all processes sharing this block
type(z_zfpquant), dimension(:), allocatable z_bpack_defs::z_matrixblock_md::middlezfp |
integer, dimension(:,:), pointer z_bpack_defs::z_matrixblock_md::ms => null() |
sizes of accummulated local leaf row blocks
integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::n |
size of the block
integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::n_loc |
local size of the block
integer, dimension(:, :, :), pointer z_bpack_defs::z_matrixblock_md::n_p => null() |
column sizes of all processes sharing this block
integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::nc_m |
local number of middle-level row and column groups per dimension. The global number will be nr_m(dim_i)=2^level_half and nc_m(dim_i)=2^(level_butterfly-level_half)
integer z_bpack_defs::z_matrixblock_md::ndim |
dimensionality
integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::nr_m |
integer, dimension(:,:), pointer z_bpack_defs::z_matrixblock_md::ns => null() |
sizes of accummulated local leaf column blocks
integer z_bpack_defs::z_matrixblock_md::pgno |
process group
integer z_bpack_defs::z_matrixblock_md::pgno_db |
process group when MPI count is doubled
integer z_bpack_defs::z_matrixblock_md::rankmax =0 |
maximum butterfly ranks
integer z_bpack_defs::z_matrixblock_md::rankmin =BPACK_BigINT |
minimum butterfly ranks
integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::row_group |
row group number per dimension
type(z_matrixblock_md), dimension(:, :), pointer z_bpack_defs::z_matrixblock_md::sons => null() |
pointer to its children
integer z_bpack_defs::z_matrixblock_md::style |
1: full block 2: compressed block 4: hierarchical block