|
LMMC
Lamina Mathematic core
|
#include <string.h>#include <math.h>#include "memory_bridge.h"#include "internal.h"#include "lmmc/sparse.h"#include "sparse_direct_internal.h"结构体 | |
| struct | lmmc_sparse_degree_workspace_t |
| 按当前残余度贪心选择顶点,度数桶支持常数时间更新。 同度数时选择原始索引最小的顶点,保证结果确定。消去时仅删除残余关联边, 不模拟填充边,区别于近似最小度算法。 更多... | |
函数 | |
| lmmc_status_t | lmmc_sparse_residual_reorder (const lmmc_sparse_mat_t *csc, size_t *perm) |
| struct lmmc_sparse_degree_workspace_t |
按当前残余度贪心选择顶点,度数桶支持常数时间更新。 同度数时选择原始索引最小的顶点,保证结果确定。消去时仅删除残余关联边, 不模拟填充边,区别于近似最小度算法。
在文件 sparse_reordering.c 第 40 行定义.
| 成员变量 | ||
|---|---|---|
| size_t * | degree | |
| size_t * | heads | |
| size_t * | next | |
| size_t * | prev | |
| unsigned char * | eliminated | |
| lmmc_status_t lmmc_sparse_residual_reorder | ( | const lmmc_sparse_mat_t * | csc, |
| size_t * | perm ) |
在文件 sparse_reordering.c 第 322 行定义.
引用了 lmmc_sparse_mat_t::col_idx, lmmc_memory_free(), lmmc_sparse_residual_reorder(), LMMC_STATUS_OK, lmmc_sparse_mat_t::row_ptr , 以及 lmmc_sparse_mat_t::rows.
被这些函数引用 lmmc_sparse_chol_symbolic(), lmmc_sparse_lu_symbolic() , 以及 lmmc_sparse_residual_reorder().