STARS-H
Software for Testing Accuracy, Reliability and Scalability of Hierarchical computations
starsh_blrm Struct Reference

Non-nested block low-rank matrix. More...

#include <starsh.h>

Collaboration diagram for starsh_blrm:
[legend]

Data Fields

STARSH_blrfformat
 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.
 

Detailed Description

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.

Field Documentation

◆ alloc_type

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.

◆ far_U

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.

◆ far_V

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.


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