LMMC
Lamina Mathematic core
Toggle main menu visibility
载入中...
搜索中...
未找到
sparse_types.h
浏览该文件的文档.
1
2
#ifndef LMMC_SPARSE_TYPES_H
3
#define LMMC_SPARSE_TYPES_H
4
5
#include <stddef.h>
6
#include "
lmmc/config.h
"
7
8
#ifdef __cplusplus
9
extern
"C"
{
10
#endif
11
13
typedef
enum
{
14
LMMC_SPARSE_CSR
= 0,
15
LMMC_SPARSE_CSC
= 1
16
}
lmmc_sparse_format_t
;
17
34
typedef
struct
{
35
size_t
rows
;
36
size_t
cols
;
37
size_t
nnz
;
38
size_t
*
row_ptr
;
39
size_t
*
col_idx
;
40
lmmc_real_t
*
values
;
41
lmmc_sparse_format_t
format
;
42
int
owns_data
;
43
}
lmmc_sparse_mat_t
;
44
51
typedef
struct
lmmc_sparse_builder_t
lmmc_sparse_builder_t
;
52
60
typedef
struct
lmmc_sparse_lu_t
lmmc_sparse_lu_t
;
61
69
typedef
struct
lmmc_sparse_chol_t
lmmc_sparse_chol_t
;
70
76
typedef
struct
{
77
size_t
rows
;
78
size_t
cols
;
79
size_t
nnz
;
80
size_t
capacity
;
81
size_t
*
row_idx
;
82
size_t
*
col_idx
;
83
lmmc_real_t
*
values
;
84
}
lmmc_sparse_coo_t
;
85
92
typedef
struct
{
93
size_t
rows
;
94
size_t
cols
;
95
size_t
block_size
;
96
size_t
nnz_blocks
;
97
size_t
*
row_ptr
;
98
size_t
*
col_idx
;
99
lmmc_real_t
*
values
;
100
int
owns_data
;
101
}
lmmc_sparse_bsr_t
;
102
104
typedef
enum
{
105
LMMC_SPARSE_SYM_UPPER
= 0,
106
LMMC_SPARSE_SYM_LOWER
= 1
107
}
lmmc_sparse_sym_half_t
;
108
114
typedef
struct
{
115
size_t
n
;
116
size_t
nnz
;
117
size_t
*
row_ptr
;
118
size_t
*
col_idx
;
119
lmmc_real_t
*
values
;
120
lmmc_sparse_sym_half_t
half
;
121
int
owns_data
;
122
}
lmmc_sparse_sym_csr_t
;
123
124
#ifdef __cplusplus
125
}
126
#endif
127
128
#endif
config.h
LMMC binary real type and arithmetic spelling.
lmmc_real_t
double lmmc_real_t
Public and internal LMMC real type.
定义
config.h:28
lmmc_sparse_builder_t
增量构造稀疏矩阵的辅助对象(不透明类型)。
定义
sparse_builder.c:12
lmmc_sparse_chol_t
稀疏 Cholesky 分解上下文(不透明类型,要求 A 对称正定)。
定义
sparse_direct_internal.h:23
lmmc_sparse_lu_t
稀疏 LU 分解上下文(不透明类型)。
定义
sparse_direct_internal.h:6
lmmc_sparse_sym_csr_t::half
lmmc_sparse_sym_half_t half
定义
sparse_types.h:120
lmmc_sparse_bsr_t::values
lmmc_real_t * values
定义
sparse_types.h:99
lmmc_sparse_format_t
lmmc_sparse_format_t
稀疏矩阵存储格式。
定义
sparse_types.h:13
LMMC_SPARSE_CSR
@ LMMC_SPARSE_CSR
定义
sparse_types.h:14
LMMC_SPARSE_CSC
@ LMMC_SPARSE_CSC
定义
sparse_types.h:15
lmmc_sparse_bsr_t::block_size
size_t block_size
定义
sparse_types.h:95
lmmc_sparse_mat_t::rows
size_t rows
定义
sparse_types.h:35
lmmc_sparse_coo_t::values
lmmc_real_t * values
定义
sparse_types.h:83
lmmc_sparse_mat_t::row_ptr
size_t * row_ptr
定义
sparse_types.h:38
lmmc_sparse_sym_half_t
lmmc_sparse_sym_half_t
对称半存储选择:上三角或下三角。
定义
sparse_types.h:104
LMMC_SPARSE_SYM_LOWER
@ LMMC_SPARSE_SYM_LOWER
定义
sparse_types.h:106
LMMC_SPARSE_SYM_UPPER
@ LMMC_SPARSE_SYM_UPPER
定义
sparse_types.h:105
lmmc_sparse_mat_t::col_idx
size_t * col_idx
定义
sparse_types.h:39
lmmc_sparse_coo_t::col_idx
size_t * col_idx
定义
sparse_types.h:82
lmmc_sparse_sym_csr_t::values
lmmc_real_t * values
定义
sparse_types.h:119
lmmc_sparse_mat_t::values
lmmc_real_t * values
定义
sparse_types.h:40
lmmc_sparse_bsr_t::rows
size_t rows
定义
sparse_types.h:93
lmmc_sparse_bsr_t::cols
size_t cols
定义
sparse_types.h:94
lmmc_sparse_coo_t::capacity
size_t capacity
定义
sparse_types.h:80
lmmc_sparse_sym_csr_t::col_idx
size_t * col_idx
定义
sparse_types.h:118
lmmc_sparse_bsr_t::row_ptr
size_t * row_ptr
定义
sparse_types.h:97
lmmc_sparse_mat_t::owns_data
int owns_data
定义
sparse_types.h:42
lmmc_sparse_bsr_t::owns_data
int owns_data
定义
sparse_types.h:100
lmmc_sparse_coo_t::rows
size_t rows
定义
sparse_types.h:77
lmmc_sparse_mat_t::nnz
size_t nnz
定义
sparse_types.h:37
lmmc_sparse_sym_csr_t::n
size_t n
定义
sparse_types.h:115
lmmc_sparse_mat_t::format
lmmc_sparse_format_t format
定义
sparse_types.h:41
lmmc_sparse_bsr_t::col_idx
size_t * col_idx
定义
sparse_types.h:98
lmmc_sparse_mat_t::cols
size_t cols
定义
sparse_types.h:36
lmmc_sparse_sym_csr_t::owns_data
int owns_data
定义
sparse_types.h:121
lmmc_sparse_bsr_t::nnz_blocks
size_t nnz_blocks
定义
sparse_types.h:96
lmmc_sparse_sym_csr_t::nnz
size_t nnz
定义
sparse_types.h:116
lmmc_sparse_coo_t::row_idx
size_t * row_idx
定义
sparse_types.h:81
lmmc_sparse_coo_t::cols
size_t cols
定义
sparse_types.h:78
lmmc_sparse_sym_csr_t::row_ptr
size_t * row_ptr
定义
sparse_types.h:117
lmmc_sparse_coo_t::nnz
size_t nnz
定义
sparse_types.h:79
lmmc_sparse_bsr_t
块稀疏行 (BSR) 格式矩阵。
定义
sparse_types.h:92
lmmc_sparse_coo_t
三元组 (COO) 形式的稀疏矩阵临时表示。
定义
sparse_types.h:76
lmmc_sparse_mat_t
通用稀疏矩阵(CSR / CSC 共用同一结构)。
定义
sparse_types.h:34
lmmc_sparse_sym_csr_t
对称半存储 CSR 格式矩阵。
定义
sparse_types.h:114
lmmc
sparse_types.h
生成于
, 为 LMMC使用
1.18.0