RSMesh
1.0.0
一个曲面重构的系统,输入为点云,输出为obj,stl等主流格式的网格文件,使用的方法为径向基函数插值,采取了并行优化、Intel-MKL等优化措施,支持百万级别的点云
载入中...
搜索中...
未找到
include
krylov
fgmres.h
1
//
2
// Created by RainSure on 2024/2/13.
3
//
4
5
#ifndef RSMESH_FGMRES_H
6
#define RSMESH_FGMRES_H
7
8
#include "gmres.h"
9
#include "types.h"
10
#include <stdexcept>
11
#include <vector>
12
13
namespace
rsmesh::krylov {
14
class
fgmres
:
public
gmres
{
15
public
:
16
fgmres
(
const
linear_operator
& op,
const
valuesd& rhs, index_t max_iter);
17
18
void
set_left_preconditioner(
const
linear_operator
&
/*left_preconditioner*/
)
override
{
19
throw
std::runtime_error(
"set_left_preconditioner is not supported."
);
20
}
21
22
valuesd solution_vector()
const override
;
23
24
private
:
25
void
add_preconditioned_krylov_basis(
const
valuesd& z)
override
;
26
27
// zs[i] := right_preconditioned(vs[i - 1]).
28
std::vector<valuesd> zs_;
29
};
30
}
31
32
#endif
//RSMESH_FGMRES_H
rsmesh::krylov::fgmres
Definition
fgmres.h:14
rsmesh::krylov::gmres
Definition
gmres.h:12
rsmesh::krylov::linear_operator
Definition
linear_operator.h:11
制作者
1.10.0