LMMC
Lamina Mathematic core
Toggle main menu visibility
载入中...
搜索中...
未找到
itersolve_gmres_internal.h
浏览该文件的文档.
1
#ifndef LMMC_ITERSOLVE_GMRES_INTERNAL_H
2
#define LMMC_ITERSOLVE_GMRES_INTERNAL_H
3
4
#include "
itersolve_internal.h
"
5
6
typedef
struct
{
7
lmmc_vec_t
r
,
z
,
w
,
ax
,
x_base
,
x_trial
;
8
lmmc_vec_t
*
basis
;
9
lmmc_real_t
*
h
;
10
lmmc_real_t
*
cs
;
11
lmmc_real_t
*
sn
;
12
lmmc_real_t
*
g
;
13
lmmc_real_t
*
y
;
14
size_t
restart
;
15
size_t
h_count
;
16
lmmc_real_t
norm
;
17
lmmc_real_t
threshold
;
18
}
lmmc_gmres_state_t
;
19
20
lmmc_status_t
lmmc_gmres_workspace
(
size_t
n,
size_t
restart,
21
lmmc_gmres_state_t
* s);
22
lmmc_status_t
lmmc_gmres_arnoldi
(
const
lmmc_sparse_mat_t
* a,
23
const
lmmc_precond_t
* precond,
lmmc_gmres_state_t
* s,
24
size_t
j,
lmmc_real_t
* h_next);
25
lmmc_status_t
lmmc_gmres_rotate
(
lmmc_gmres_state_t
* s,
size_t
j,
int
* breakdown);
26
lmmc_status_t
lmmc_gmres_back_substitute
(
lmmc_gmres_state_t
* s,
size_t
dim);
27
lmmc_status_t
lmmc_gmres_trial
(
lmmc_gmres_state_t
* s,
size_t
j);
28
lmmc_status_t
lmmc_gmres_normalize
(
lmmc_vec_t
* out,
29
const
lmmc_vec_t
* in,
lmmc_real_t
norm);
30
31
#endif
lmmc_real_t
double lmmc_real_t
Public and internal LMMC real type.
定义
config.h:28
lmmc_vec_t
一维稠密向量。
定义
dense_types.h:31
lmmc_gmres_state_t::ax
lmmc_vec_t ax
定义
itersolve_gmres_internal.h:7
lmmc_gmres_state_t::r
lmmc_vec_t r
定义
itersolve_gmres_internal.h:7
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::g
lmmc_real_t * g
定义
itersolve_gmres_internal.h:12
lmmc_gmres_state_t::basis
lmmc_vec_t * basis
定义
itersolve_gmres_internal.h:8
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_gmres_state_t::cs
lmmc_real_t * cs
定义
itersolve_gmres_internal.h:10
lmmc_gmres_state_t::h_count
size_t h_count
定义
itersolve_gmres_internal.h:15
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::norm
lmmc_real_t norm
定义
itersolve_gmres_internal.h:16
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::h
lmmc_real_t * h
定义
itersolve_gmres_internal.h:9
lmmc_gmres_state_t::w
lmmc_vec_t w
定义
itersolve_gmres_internal.h:7
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::y
lmmc_real_t * y
定义
itersolve_gmres_internal.h:13
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::sn
lmmc_real_t * sn
定义
itersolve_gmres_internal.h:11
lmmc_gmres_state_t::z
lmmc_vec_t z
定义
itersolve_gmres_internal.h:7
lmmc_gmres_state_t::threshold
lmmc_real_t threshold
定义
itersolve_gmres_internal.h:17
lmmc_gmres_state_t::x_base
lmmc_vec_t x_base
定义
itersolve_gmres_internal.h:7
lmmc_gmres_state_t::x_trial
lmmc_vec_t x_trial
定义
itersolve_gmres_internal.h:7
lmmc_gmres_state_t::restart
size_t restart
定义
itersolve_gmres_internal.h:14
lmmc_gmres_state_t
定义
itersolve_gmres_internal.h:6
itersolve_internal.h
lmmc_precond_t
通用预处理子句柄。
定义
precond.h:36
lmmc_sparse_mat_t
通用稀疏矩阵(CSR / CSC 共用同一结构)。
定义
sparse_types.h:34
lmmc_status_t
lmmc_status_t
LMMC 库统一返回的状态码.
定义
status.h:22
src
itersolve_gmres_internal.h
生成于
, 为 LMMC使用
1.18.0