**** 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