LMMC
Lamina Mathematic core
Toggle main menu visibility
载入中...
搜索中...
未找到
sparse_direct_internal.h
浏览该文件的文档.
1
#ifndef LMMC_SPARSE_DIRECT_INTERNAL_H
2
#define LMMC_SPARSE_DIRECT_INTERNAL_H
3
4
#include "
lmmc/sparse.h
"
5
6
struct
lmmc_sparse_lu_t
{
7
size_t
n
;
8
size_t
*
col_perm
;
9
size_t
*
row_perm
;
10
size_t
*
L_col_ptr
;
11
size_t
*
U_col_ptr
;
12
size_t
*
L_row_idx
;
13
lmmc_real_t
*
L_values
;
14
size_t
*
U_row_idx
;
15
lmmc_real_t
*
U_values
;
16
size_t
L_nnz
;
17
size_t
U_nnz
;
18
size_t
L_capacity
;
19
size_t
U_capacity
;
20
};
21
22
23
struct
lmmc_sparse_chol_t
{
24
size_t
n
;
25
size_t
*
perm
;
26
size_t
*
perm_inv
;
27
size_t
*
L_col_ptr
;
28
size_t
*
L_row_idx
;
29
lmmc_real_t
*
L_values
;
30
size_t
L_nnz
;
31
size_t
L_capacity
;
32
};
33
lmmc_status_t
lmmc_sparse_direct_csc
(
const
lmmc_sparse_mat_t
* a,
34
lmmc_sparse_mat_t
* csc_out,
int
* needs_free);
35
lmmc_status_t
lmmc_sparse_factor_capacity
(
size_t
** idx,
lmmc_real_t
** vals,
36
size_t
* capacity,
size_t
needed);
37
lmmc_status_t
lmmc_sparse_residual_reorder
(
const
lmmc_sparse_mat_t
* csc,
38
size_t
* perm);
39
40
#endif
lmmc_real_t
double lmmc_real_t
Public and internal LMMC real type.
定义
config.h:28
sparse.h
lmmc_sparse_factor_capacity
lmmc_status_t lmmc_sparse_factor_capacity(size_t **idx, lmmc_real_t **vals, size_t *capacity, size_t needed)
定义
sparse_direct.c:26
lmmc_sparse_direct_csc
lmmc_status_t lmmc_sparse_direct_csc(const lmmc_sparse_mat_t *a, lmmc_sparse_mat_t *csc_out, int *needs_free)
定义
sparse_direct.c:9
lmmc_sparse_lu_t::U_capacity
size_t U_capacity
定义
sparse_direct_internal.h:19
lmmc_sparse_lu_t::L_row_idx
size_t * L_row_idx
定义
sparse_direct_internal.h:12
lmmc_sparse_chol_t::L_col_ptr
size_t * L_col_ptr
定义
sparse_direct_internal.h:27
lmmc_sparse_chol_t::L_values
lmmc_real_t * L_values
定义
sparse_direct_internal.h:29
lmmc_sparse_chol_t::L_row_idx
size_t * L_row_idx
定义
sparse_direct_internal.h:28
lmmc_sparse_lu_t::col_perm
size_t * col_perm
定义
sparse_direct_internal.h:8
lmmc_sparse_lu_t::U_col_ptr
size_t * U_col_ptr
定义
sparse_direct_internal.h:11
lmmc_sparse_lu_t::L_values
lmmc_real_t * L_values
定义
sparse_direct_internal.h:13
lmmc_sparse_chol_t::perm_inv
size_t * perm_inv
定义
sparse_direct_internal.h:26
lmmc_sparse_chol_t::perm
size_t * perm
定义
sparse_direct_internal.h:25
lmmc_sparse_lu_t::row_perm
size_t * row_perm
定义
sparse_direct_internal.h:9
lmmc_sparse_lu_t::U_values
lmmc_real_t * U_values
定义
sparse_direct_internal.h:15
lmmc_sparse_chol_t::L_capacity
size_t L_capacity
定义
sparse_direct_internal.h:31
lmmc_sparse_lu_t::U_row_idx
size_t * U_row_idx
定义
sparse_direct_internal.h:14
lmmc_sparse_lu_t::L_capacity
size_t L_capacity
定义
sparse_direct_internal.h:18
lmmc_sparse_lu_t::L_nnz
size_t L_nnz
定义
sparse_direct_internal.h:16
lmmc_sparse_lu_t::n
size_t n
定义
sparse_direct_internal.h:7
lmmc_sparse_chol_t::L_nnz
size_t L_nnz
定义
sparse_direct_internal.h:30
lmmc_sparse_lu_t::L_col_ptr
size_t * L_col_ptr
定义
sparse_direct_internal.h:10
lmmc_sparse_residual_reorder
lmmc_status_t lmmc_sparse_residual_reorder(const lmmc_sparse_mat_t *csc, size_t *perm)
定义
sparse_reordering.c:322
lmmc_sparse_chol_t::n
size_t n
定义
sparse_direct_internal.h:24
lmmc_sparse_lu_t::U_nnz
size_t U_nnz
定义
sparse_direct_internal.h:17
lmmc_sparse_chol_t
稀疏 Cholesky 分解上下文(不透明类型,要求 A 对称正定)。
定义
sparse_direct_internal.h:23
lmmc_sparse_lu_t
稀疏 LU 分解上下文(不透明类型)。
定义
sparse_direct_internal.h:6
lmmc_sparse_mat_t
通用稀疏矩阵(CSR / CSC 共用同一结构)。
定义
sparse_types.h:34
lmmc_status_t
lmmc_status_t
LMMC 库统一返回的状态码.
定义
status.h:22
src
sparse_direct_internal.h
生成于
, 为 LMMC使用
1.18.0