LMMC
Lamina Mathematic core
Toggle main menu visibility
载入中...
搜索中...
未找到
sparse_solvers.h
浏览该文件的文档.
1
2
#ifndef LMMC_SPARSE_SOLVERS_H
3
#define LMMC_SPARSE_SOLVERS_H
4
5
#include "
lmmc/sparse_types.h
"
6
#include "
lmmc/dense_types.h
"
7
#include "
lmmc/status.h
"
8
9
#ifdef __cplusplus
10
extern
"C"
{
11
#endif
12
31
lmmc_status_t
lmmc_sparse_lu_symbolic
(
32
const
lmmc_sparse_mat_t
* a,
33
lmmc_sparse_lu_t
** out_lu
34
);
35
54
lmmc_status_t
lmmc_sparse_lu_numeric
(
55
const
lmmc_sparse_mat_t
* a,
56
lmmc_sparse_lu_t
* lu
57
);
58
79
lmmc_status_t
lmmc_sparse_lu_solve
(
80
const
lmmc_sparse_lu_t
* lu,
81
const
lmmc_vec_t
* b,
82
lmmc_vec_t
* x
83
);
84
86
void
lmmc_sparse_lu_destroy
(
lmmc_sparse_lu_t
* lu);
87
89
lmmc_status_t
lmmc_sparse_chol_symbolic
(
90
const
lmmc_sparse_mat_t
* a,
91
lmmc_sparse_chol_t
** out_chol
92
);
93
99
lmmc_status_t
lmmc_sparse_chol_numeric
(
100
const
lmmc_sparse_mat_t
* a,
101
lmmc_sparse_chol_t
* chol
102
);
103
105
lmmc_status_t
lmmc_sparse_chol_solve
(
106
const
lmmc_sparse_chol_t
* chol,
107
const
lmmc_vec_t
* b,
108
lmmc_vec_t
* x
109
);
110
112
void
lmmc_sparse_chol_destroy
(
lmmc_sparse_chol_t
* chol);
113
114
#ifdef __cplusplus
115
}
116
#endif
117
118
#endif
dense_types.h
lmmc_vec_t
一维稠密向量。
定义
dense_types.h:31
lmmc_sparse_chol_t
稀疏 Cholesky 分解上下文(不透明类型,要求 A 对称正定)。
定义
sparse_direct_internal.h:23
lmmc_sparse_lu_t
稀疏 LU 分解上下文(不透明类型)。
定义
sparse_direct_internal.h:6
lmmc_sparse_chol_numeric
lmmc_status_t lmmc_sparse_chol_numeric(const lmmc_sparse_mat_t *a, lmmc_sparse_chol_t *chol)
使用稠密列工作区的左看稀疏 Cholesky 数值分解。
定义
sparse_cholesky.c:193
lmmc_sparse_lu_solve
lmmc_status_t lmmc_sparse_lu_solve(const lmmc_sparse_lu_t *lu, const lmmc_vec_t *b, lmmc_vec_t *x)
使用已分解的稀疏 LU 因子求解 A*x = b。
定义
sparse_lu.c:380
lmmc_sparse_lu_destroy
void lmmc_sparse_lu_destroy(lmmc_sparse_lu_t *lu)
销毁稀疏 LU 上下文。
定义
sparse_lu.c:426
lmmc_sparse_lu_numeric
lmmc_status_t lmmc_sparse_lu_numeric(const lmmc_sparse_mat_t *a, lmmc_sparse_lu_t *lu)
稀疏 LU 数值分解:稠密列工作区左看算法与部分主元法。
定义
sparse_lu.c:284
lmmc_sparse_chol_destroy
void lmmc_sparse_chol_destroy(lmmc_sparse_chol_t *chol)
销毁稀疏 Cholesky 上下文。
定义
sparse_cholesky.c:375
lmmc_sparse_chol_solve
lmmc_status_t lmmc_sparse_chol_solve(const lmmc_sparse_chol_t *chol, const lmmc_vec_t *b, lmmc_vec_t *x)
使用已分解的 Cholesky 因子求解 A*x = b。
定义
sparse_cholesky.c:327
lmmc_sparse_lu_symbolic
lmmc_status_t lmmc_sparse_lu_symbolic(const lmmc_sparse_mat_t *a, lmmc_sparse_lu_t **out_lu)
稀疏 LU 符号分析:去重简单图与贪心残余度重排序。
定义
sparse_lu.c:49
lmmc_sparse_chol_symbolic
lmmc_status_t lmmc_sparse_chol_symbolic(const lmmc_sparse_mat_t *a, lmmc_sparse_chol_t **out_chol)
稀疏 Cholesky 符号分析:去重简单图和贪心残余度重排序。
定义
sparse_cholesky.c:39
sparse_types.h
lmmc_sparse_mat_t
通用稀疏矩阵(CSR / CSC 共用同一结构)。
定义
sparse_types.h:34
status.h
LMMC 通用状态码定义.
lmmc_status_t
lmmc_status_t
LMMC 库统一返回的状态码.
定义
status.h:22
lmmc
sparse_solvers.h
生成于
, 为 LMMC使用
1.18.0