|
LMMC
Lamina Mathematic core
|
#include "precond_internal.h"函数 | |
| lmmc_status_t | lmmc_precond_create_ilu0 (const lmmc_sparse_mat_t *a, lmmc_precond_t *out_precond) |
| 创建 ILU(0) 预处理子(零填充不完全 LU 分解)。 | |
| lmmc_status_t lmmc_precond_create_ilu0 | ( | const lmmc_sparse_mat_t * | a, |
| lmmc_precond_t * | out_precond ) |
创建 ILU(0) 预处理子(零填充不完全 LU 分解)。
复制 A 的结构后就地执行 IKJ 形式的 ILU 分解,保持原非零位置。
| [in] | a | 输入稀疏矩阵,满足 sparse_types.h 的规范 CSR 契约,保持不变。 |
| [out] | out_precond | 输出预处理子句柄。 |
在文件 precond_ilu0.c 第 99 行定义.
引用了 lmmc_sparse_mat_t::cols, lmmc_sparse_mat_t::format, lmmc_precond_t::impl, lmmc_ilu_impl_destroy(), lmmc_precond_create_ilu0(), LMMC_PRECOND_ILU0, LMMC_SPARSE_CSR, LMMC_STATUS_DIMENSION_MISMATCH, LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_OK, lmmc_precond_t::owns_data, lmmc_sparse_mat_t::rows, lmmc_precond_t::size , 以及 lmmc_precond_t::type.
被这些函数引用 lmmc_precond_create_ilu0().