LMMC
Lamina Mathematic core
载入中...
搜索中...
未找到
itersolve_gmres_internal.h 文件参考
itersolve_gmres_internal.h 的引用(Include)关系图:
此图展示该文件被哪些文件直接或间接地引用了:

浏览该文件的源代码.

结构体

struct  lmmc_gmres_state_t

函数

lmmc_status_t lmmc_gmres_workspace (size_t n, size_t restart, lmmc_gmres_state_t *s)
lmmc_status_t lmmc_gmres_arnoldi (const lmmc_sparse_mat_t *a, const lmmc_precond_t *precond, lmmc_gmres_state_t *s, size_t j, lmmc_real_t *h_next)
lmmc_status_t lmmc_gmres_rotate (lmmc_gmres_state_t *s, size_t j, int *breakdown)
lmmc_status_t lmmc_gmres_back_substitute (lmmc_gmres_state_t *s, size_t dim)
lmmc_status_t lmmc_gmres_trial (lmmc_gmres_state_t *s, size_t j)
lmmc_status_t lmmc_gmres_normalize (lmmc_vec_t *out, const lmmc_vec_t *in, lmmc_real_t norm)

结构体说明

◆ lmmc_gmres_state_t

struct lmmc_gmres_state_t

在文件 itersolve_gmres_internal.h 第 6 行定义.

lmmc_gmres_state_t 的协作图:
成员变量
lmmc_vec_t r
lmmc_vec_t z
lmmc_vec_t w
lmmc_vec_t ax
lmmc_vec_t x_base
lmmc_vec_t x_trial
lmmc_vec_t * basis
lmmc_real_t * h
lmmc_real_t * cs
lmmc_real_t * sn
lmmc_real_t * g
lmmc_real_t * y
size_t restart
size_t h_count
lmmc_real_t norm
lmmc_real_t threshold

函数说明

◆ lmmc_gmres_workspace()

lmmc_status_t lmmc_gmres_workspace ( size_t n,
size_t restart,
lmmc_gmres_state_t * s )

在文件 itersolve_gmres_support.c 第 46 行定义.

引用了 lmmc_gmres_state_t::ax, lmmc_gmres_state_t::basis, lmmc_gmres_state_t::cs, lmmc_gmres_state_t::g, lmmc_gmres_state_t::h, lmmc_gmres_state_t::h_count, lmmc_gmres_workspace(), lmmc_memory_alloc(), LMMC_STATUS_ALLOCATION_FAILED, LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_OK, lmmc_gmres_state_t::r, lmmc_gmres_state_t::restart, lmmc_gmres_state_t::sn, lmmc_gmres_state_t::w, lmmc_gmres_state_t::x_base, lmmc_gmres_state_t::x_trial, lmmc_gmres_state_t::y , 以及 lmmc_gmres_state_t::z.

被这些函数引用 lmmc_gmres_solve() , 以及 lmmc_gmres_workspace().

函数调用图:
这是这个函数的调用关系图:

◆ lmmc_gmres_arnoldi()

lmmc_status_t lmmc_gmres_arnoldi ( const lmmc_sparse_mat_t * a,
const lmmc_precond_t * precond,
lmmc_gmres_state_t * s,
size_t j,
lmmc_real_t * h_next )

在文件 itersolve_gmres_support.c 第 92 行定义.

引用了 lmmc_gmres_state_t::ax, lmmc_gmres_state_t::basis, lmmc_gmres_state_t::h, lmmc_apply_precond_or_identity(), lmmc_gmres_arnoldi(), lmmc_sparse_mat_vec_mul(), LMMC_STATUS_OK, lmmc_vec_axpy(), lmmc_vec_dot_checked(), lmmc_vec_norm2_checked(), lmmc_gmres_state_t::restart , 以及 lmmc_gmres_state_t::w.

被这些函数引用 lmmc_gmres_arnoldi().

函数调用图:
这是这个函数的调用关系图:

◆ lmmc_gmres_rotate()

lmmc_status_t lmmc_gmres_rotate ( lmmc_gmres_state_t * s,
size_t j,
int * breakdown )

在文件 itersolve_gmres_support.c 第 135 行定义.

引用了 lmmc_gmres_state_t::cs, lmmc_gmres_state_t::g, lmmc_gmres_state_t::h, lmmc_gmres_rotate(), LMMC_STATUS_NUMERICAL_FAILURE, LMMC_STATUS_OK, lmmc_gmres_state_t::restart , 以及 lmmc_gmres_state_t::sn.

被这些函数引用 lmmc_gmres_rotate().

函数调用图:
这是这个函数的调用关系图:

◆ lmmc_gmres_back_substitute()

lmmc_status_t lmmc_gmres_back_substitute ( lmmc_gmres_state_t * s,
size_t dim )

在文件 itersolve_gmres_support.c 第 165 行定义.

引用了 lmmc_gmres_state_t::g, lmmc_gmres_state_t::h, lmmc_gmres_back_substitute(), LMMC_STATUS_NUMERICAL_FAILURE, LMMC_STATUS_OK, lmmc_gmres_state_t::restart , 以及 lmmc_gmres_state_t::y.

被这些函数引用 lmmc_gmres_back_substitute().

函数调用图:
这是这个函数的调用关系图:

◆ lmmc_gmres_trial()

lmmc_status_t lmmc_gmres_trial ( lmmc_gmres_state_t * s,
size_t j )

在文件 itersolve_gmres_support.c 第 185 行定义.

引用了 lmmc_gmres_state_t::basis, lmmc_vec_t::data, lmmc_gmres_trial(), LMMC_STATUS_NUMERICAL_FAILURE, LMMC_STATUS_OK, lmmc_vec_t::size, lmmc_gmres_state_t::x_base, lmmc_gmres_state_t::x_trial , 以及 lmmc_gmres_state_t::y.

被这些函数引用 lmmc_gmres_trial().

函数调用图:
这是这个函数的调用关系图:

◆ lmmc_gmres_normalize()

lmmc_status_t lmmc_gmres_normalize ( lmmc_vec_t * out,
const lmmc_vec_t * in,
lmmc_real_t norm )

在文件 itersolve_gmres_support.c 第 200 行定义.

引用了 lmmc_vec_t::data, lmmc_gmres_normalize(), LMMC_STATUS_NUMERICAL_FAILURE, LMMC_STATUS_OK , 以及 lmmc_vec_t::size.

被这些函数引用 lmmc_gmres_normalize().

函数调用图:
这是这个函数的调用关系图: