LMCAS
Lamina Computer Algebra System
Toggle main menu visibility
载入中...
搜索中...
未找到
root_of_identity.hpp
浏览该文件的文档.
1
/**
2
* @file root_of_identity.hpp
3
* @brief 精确 RootOf 标识构造及受检数值求值。
4
*/
5
#pragma once
6
7
#include "
symbolic.hpp
"
8
#include "
computation_context.hpp
"
9
#include "
numeric_value.hpp
"
10
#include "
polynomial_conversion.hpp
"
11
#include <vector>
12
#include <cstddef>
13
#include <memory>
14
#include <string>
15
16
namespace
LMCAS
{
17
18
using
RootOfEvaluationResult
=
Result<lmmc_real_t>
;
19
using
RootOfComplexEvaluationResult
=
Result<ApproxComplex>
;
20
using
RootOfConstructionResult
=
Result<std::shared_ptr<SymbolicExpr>
>;
21
22
LMCAS_API
RootOfConstructionResult
make_rootof_checked
(
23
const
std::shared_ptr<SymbolicExpr>& polynomial,
24
const
std::string&
variable
,
25
std::size_t index,
26
ComputationContext
&
context
);
27
28
LMCAS_API
RootOfConstructionResult
make_rootof_checked
(
29
const
std::shared_ptr<SymbolicExpr>& polynomial,
30
const
std::string&
variable
,
31
std::size_t index);
32
33
34
/**
35
* @brief 对 RootOf 表达式进行实数求值。
36
* @pre 多项式须能从结构上证明为精确有理系数多项式,所选根须为实数。
37
* @return 选中非实根时返回 DomainError;表达式格式或索引无效时返回 InvalidArgument。
38
*/
39
LMCAS_API
RootOfEvaluationResult
rootof_evaluate_checked
(
40
const
std::shared_ptr<SymbolicExpr>& rootof_expr,
41
ComputationContext
&
context
);
42
43
LMCAS_API
RootOfEvaluationResult
rootof_evaluate_checked
(
44
const
std::shared_ptr<SymbolicExpr>& rootof_expr);
45
46
LMCAS_API
RootOfComplexEvaluationResult
rootof_evaluate_complex_checked
(
47
const
std::shared_ptr<SymbolicExpr>& rootof_expr,
48
ComputationContext
&
context
);
49
50
LMCAS_API
RootOfComplexEvaluationResult
rootof_evaluate_complex_checked
(
51
const
std::shared_ptr<SymbolicExpr>& rootof_expr);
52
/**
53
* @brief 为不可约多项式构造 RootOf 解表达式列表。
54
* @param poly 符号系数多项式
55
* @param var 求解变量名
56
* @return RootOf 表达式列表,每个元素对应多项式的一个根
57
*/
58
LMCAS_API
std::vector<std::shared_ptr<SymbolicExpr>>
make_rootof_solutions
(
59
const
Polynomial<SymbolicPolyCoeff>
& poly,
60
const
std::string& var);
61
62
}
LMCAS::ComputationContext
定义
computation_context.hpp:99
LMCAS::Polynomial
一元多项式模板类
定义
polynomial.hpp:52
LMCAS::Result
定义
result.hpp:39
computation_context.hpp
LMCAS_API
#define LMCAS_API
定义
lmcas_export.hpp:13
LMCAS
定义
assumption.hpp:11
LMCAS::make_rootof_solutions
std::vector< std::shared_ptr< SymbolicExpr > > make_rootof_solutions(const Polynomial< SymbolicPolyCoeff > &poly, const std::string &var)
定义
root_of_identity.cpp:96
LMCAS::variable
const std::string & variable
定义
expr.hpp:286
LMCAS::rootof_evaluate_complex_checked
RootOfComplexEvaluationResult rootof_evaluate_complex_checked(const std::shared_ptr< SymbolicExpr > &rootof_expr, ComputationContext &context)
定义
root_of_identity.cpp:174
LMCAS::context
const std::vector< Polynomial< BigInt > > const BigInt ComputationContext & context
定义
exact_factorization.hpp:65
LMCAS::rootof_evaluate_checked
RootOfEvaluationResult rootof_evaluate_checked(const std::shared_ptr< SymbolicExpr > &rootof_expr, ComputationContext &context)
定义
root_of_identity.cpp:152
LMCAS::make_rootof_checked
RootOfConstructionResult make_rootof_checked(const std::shared_ptr< SymbolicExpr > &polynomial, const std::string &variable, std::size_t index, ComputationContext &context)
定义
root_of_identity.cpp:10
LMCAS::RootOfComplexEvaluationResult
Result< ApproxComplex > RootOfComplexEvaluationResult
定义
root_of_identity.hpp:19
LMCAS::RootOfConstructionResult
Result< std::shared_ptr< SymbolicExpr > > RootOfConstructionResult
定义
root_of_identity.hpp:20
LMCAS::RootOfEvaluationResult
Result< lmmc_real_t > RootOfEvaluationResult
定义
root_of_identity.hpp:18
numeric_value.hpp
polynomial_conversion.hpp
符号表达式与一元多项式的转换。
symbolic.hpp
符号表达式主类 SymbolicExpr 及其工厂方法,运算接口.
include
root_of_identity.hpp
生成于
, 为 LMCAS使用
1.18.0