13 #ifndef __STARSH_RANDTLR_H__ 14 #define __STARSH_RANDTLR_H__ 85 STARSH_int block_size,
double decay,
double diag);
95 STARSH_int *icol,
void *row_data,
void *col_data,
void *result,
98 #endif // __STARSH_RANDTLR_H__
struct starsh_randtlr STARSH_randtlr
Structure for synthetic TLR matrices.
Decay of singular values, first singular value is 1.0.
Definition: starsh-randtlr.h:78
ssize_t STARSH_int
STARSH signed integer to support more, than MAX_INT rows/columns.
Definition: starsh.h:64
Size of tiles.
Definition: starsh-randtlr.h:76
void starsh_randtlr_free(STARSH_randtlr *data)
Free memory of STARSH_randtlr object.
Definition: randtlr.c:240
STARSH_int count
Number of rows/columns of synthetic matrix.
Definition: starsh-randtlr.h:36
int starsh_randtlr_get_kernel(STARSH_kernel **kernel, STARSH_randtlr *data, enum STARSH_RANDTLR_KERNEL type)
Get kernel for spatial statistics problem.
Definition: randtlr.c:213
Value to add to diagonal elements.
Definition: starsh-randtlr.h:80
int starsh_randtlr_generate(STARSH_randtlr **data, STARSH_int count, STARSH_int block_size, double decay, double diag)
Generate STARSH_randtlr object for random TLR matrix.
Definition: randtlr.c:59
STARSH_int block_size
Size of each tile.
Definition: starsh-randtlr.h:42
double * U
Pointer to count-by-block_size matrix-generator.
Definition: starsh-randtlr.h:44
int starsh_randtlr_generate_va(STARSH_randtlr **data, STARSH_int count, va_list args)
Generate STARSH_randtlr object with incomplete set of parameters.
Definition: randtlr.c:107
STARSH_int nblocks
Number of tiles in one dimension.
Definition: starsh-randtlr.h:40
double diag
Value to add to each diagonal element (for positive definiteness).
Definition: starsh-randtlr.h:48
void STARSH_kernel(int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld)
Definition: starsh.h:68
STARSH_RANDTLR_PARAM
List of parameters for starsh_application().
Definition: starsh-randtlr.h:64
STARSH_RANDTLR_KERNEL
List of built-in kernels for starsh_randtlr_get_kernel().
Definition: starsh-randtlr.h:52
void starsh_randtlr_block_kernel(int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld)
The only kernel for STARSH_randtlr object.
Definition: randtlr.c:17
int starsh_randtlr_generate_el(STARSH_randtlr **data, STARSH_int count,...)
Generate STARSH_randtlr object with incomplete set of parameters.
Definition: randtlr.c:168
The only kernel.
Definition: starsh-randtlr.h:60
Structure for synthetic TLR matrices.
Definition: starsh-randtlr.h:31
double * S
Array of singular values, which is common for all tiles.
Definition: starsh-randtlr.h:46