|
STARS-H
Software for Testing Accuracy, Reliability and Scalability of Hierarchical computations
|
Non-nested block low-rank matrix. More...
#include <starsh.h>
Data Fields | |
| STARSH_blrf * | format |
| Pointer to block low-rank format. | |
| int * | far_rank |
| Rank of each far-field block. | |
| Array ** | far_U |
| Low rank factor of each far-field block. More... | |
| Array ** | far_V |
| Low rank factor of each far-field block. More... | |
| int | onfly |
Equal to 1 to store dense blocks, 0 to compute it on demand. | |
| Array ** | near_D |
| Array of pointers to dense near-field blocks. | |
| void * | alloc_U |
Pointer to memory buffer, holding all far_U. | |
| void * | alloc_V |
Pointer to memory buffer, holding all far_V. | |
| void * | alloc_D |
Pointer to memory buffer, holding all near_D. | |
| char | alloc_type |
| Type of memory allocation. More... | |
| size_t | nbytes |
| Total size of block low-rank matrix, including auxiliary buffers. | |
| size_t | data_nbytes |
| Size of low-rank factors and dense blocks in block low-rank matrix. | |
Non-nested block low-rank matrix.
Stores approximation or dense form of each admissible blocks.Division into blocks is defined by corresponding block low-rank format.
| char starsh_blrm::alloc_type |
Type of memory allocation.
Equal to 1 if allocating 3 big buffers U_alloc, V_alloc and D_alloc; 2 if allocating many small buffers for each far_U, far_V and near_D.
| Array** starsh_blrm::far_U |
Low rank factor of each far-field block.
Multiplication of far_U[i] by transposed far_V[i] is an approximation of i-th far-field block.
| Array** starsh_blrm::far_V |
Low rank factor of each far-field block.
Multiplication of far_U[i] by transposed far_V[i] is an approximation of i-th far-field block.