z_bpack_defs::z_matrixblock_md Type Reference

**** butterfly or LR structure in tensor format More...

Collaboration diagram for z_bpack_defs::z_matrixblock_md:

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_zfpquantfullmatzfp
 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_headerblockinfo_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...
 

Detailed Description

**** butterfly or LR structure in tensor format

Member Data Documentation

◆ blockinfo_mpi

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)

◆ butterfly_data_mpi

complex(kind=8), dimension(:), allocatable z_bpack_defs::z_matrixblock_md::butterfly_data_mpi

value message

◆ butterfly_index_mpi

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

◆ butterflykerl_l

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)

◆ butterflykerl_r

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

◆ butterflymiddle

type(z_butterflymatrix), dimension(:), allocatable z_bpack_defs::z_matrixblock_md::butterflymiddle

middle factor of sizes product(nr_m) * 2^(level_butterfly-level_half)

◆ butterflyskel_l

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)

◆ butterflyskel_r

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)

◆ butterflyu

type(z_butterfly_uv_md), dimension(:), allocatable z_bpack_defs::z_matrixblock_md::butterflyu

leftmost factor of length product(nr_m)

◆ butterflyv

type(z_butterfly_uv_md), dimension(:), allocatable z_bpack_defs::z_matrixblock_md::butterflyv

rightmost factor of length product(nc_m)

◆ col_group

integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::col_group

column group number per dimension

◆ dimension_rank

integer z_bpack_defs::z_matrixblock_md::dimension_rank

estimated maximum rank

◆ father

type(z_matrixblock_md), pointer z_bpack_defs::z_matrixblock_md::father => null()

pointer to its fater

◆ fullmat

complex(kind=8), dimension(:, :), pointer z_bpack_defs::z_matrixblock_md::fullmat => null()

full matrix entries

◆ fullmat_mpi

complex(kind=8), dimension(:), allocatable z_bpack_defs::z_matrixblock_md::fullmat_mpi

massage for the dense blocks

◆ fullmatzfp

type(z_zfpquant) z_bpack_defs::z_matrixblock_md::fullmatzfp

ZFP quantity for compressing fullmat.

◆ headm

integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::headm

◆ headn

integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::headn

header indices in row and column dimension

◆ idx_c_m

integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::idx_c_m

starting index for the middle-level groups per dimension

◆ idx_r_m

integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::idx_r_m

◆ inters

type(z_intersect), dimension(:), allocatable z_bpack_defs::z_matrixblock_md::inters

an array of intersections

◆ ipiv

integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::ipiv

permutation of the LU of the dense diagonal blocks

◆ length_butterfly_data_mpi

integer z_bpack_defs::z_matrixblock_md::length_butterfly_data_mpi

length of the value message

◆ length_butterfly_index_mpi

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

◆ level

integer z_bpack_defs::z_matrixblock_md::level

level in BPACK

◆ level_butterfly

integer z_bpack_defs::z_matrixblock_md::level_butterfly

butterfly levels

◆ level_half

integer z_bpack_defs::z_matrixblock_md::level_half = 0

the butterfly level where the row-wise and column-wise orderings meet

◆ lstc

type(z_list) z_bpack_defs::z_matrixblock_md::lstc

a z_list of intersections

◆ lstr

type(z_list) z_bpack_defs::z_matrixblock_md::lstr

◆ m

integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::m

◆ m_loc

integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::m_loc

◆ m_p

integer, dimension(:, :, :), pointer z_bpack_defs::z_matrixblock_md::m_p => null()

row sizes of all processes sharing this block

◆ middlezfp

type(z_zfpquant), dimension(:), allocatable z_bpack_defs::z_matrixblock_md::middlezfp

◆ ms

integer, dimension(:,:), pointer z_bpack_defs::z_matrixblock_md::ms => null()

sizes of accummulated local leaf row blocks

◆ n

integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::n

size of the block

◆ n_loc

integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::n_loc

local size of the block

◆ n_p

integer, dimension(:, :, :), pointer z_bpack_defs::z_matrixblock_md::n_p => null()

column sizes of all processes sharing this block

◆ nc_m

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)

◆ ndim

integer z_bpack_defs::z_matrixblock_md::ndim

dimensionality

◆ nr_m

integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::nr_m

◆ ns

integer, dimension(:,:), pointer z_bpack_defs::z_matrixblock_md::ns => null()

sizes of accummulated local leaf column blocks

◆ pgno

integer z_bpack_defs::z_matrixblock_md::pgno

process group

◆ pgno_db

integer z_bpack_defs::z_matrixblock_md::pgno_db

process group when MPI count is doubled

◆ rankmax

integer z_bpack_defs::z_matrixblock_md::rankmax =0

maximum butterfly ranks

◆ rankmin

integer z_bpack_defs::z_matrixblock_md::rankmin =BPACK_BigINT

minimum butterfly ranks

◆ row_group

integer, dimension(:), allocatable z_bpack_defs::z_matrixblock_md::row_group

row group number per dimension

◆ sons

type(z_matrixblock_md), dimension(:, :), pointer z_bpack_defs::z_matrixblock_md::sons => null()

pointer to its children

◆ style

integer z_bpack_defs::z_matrixblock_md::style

1: full block 2: compressed block 4: hierarchical block


The documentation for this type was generated from the following file: