LMCAS
Lamina Computer Algebra System
Toggle main menu visibility
载入中...
搜索中...
未找到
residual_verification.hpp
浏览该文件的文档.
1
#pragma once
2
3
#include "
computation_context.hpp
"
4
#include "
equivalence_options.hpp
"
5
#include "
proof_outcome.hpp
"
6
#include "
result.hpp
"
7
#include "
symbolic.hpp
"
8
9
#include <variant>
10
11
namespace
LMCAS
{
12
13
14
/** @brief 在表达式的原公共定义域上认证值相等;点值定义域与分母条件需另行证明。 */
15
struct
ProvedZeroResidual
{
16
ProofCertificate
certificate
;
17
};
18
19
/**
20
* @brief 证明残差在原公共定义域上非恒零,例如非零有理多项式。
21
* 残差仍可能在特定参数值处为零;点值不等性、定义域及上下文假设下的非零性均需另行证明。
22
*/
23
struct
ProvedNonIdentityResidual
{
24
ExprPtr
normalized_residual
;
25
};
26
27
struct
UnprovedResidual
{
28
ExprPtr
normalized_residual
;
29
};
30
31
using
ResidualCheck
= std::variant<
32
ProvedZeroResidual
,
33
ProvedNonIdentityResidual
,
34
UnprovedResidual
>;
35
36
using
ResidualCheckResult
=
Result<ResidualCheck>
;
37
38
/**
39
* @brief 成功时返回恒等、非恒等或未知分类,计算错误由外层 Result 返回。
40
* 假设可辅助恒等规则;形式非恒等与点值事实分别判定,未知分类仍属成功返回。
41
*/
42
43
LMCAS_API
ResidualCheckResult
check_zero_residual
(
44
const
ExprPtr
& residual,
45
ComputationContext
&
context
,
46
const
LMCAS::EqvOptions
&
options
= {});
47
48
LMCAS_API
ResidualCheckResult
check_equivalent
(
49
const
ExprPtr
& left,
50
const
ExprPtr
&
right
,
51
ComputationContext
&
context
,
52
const
LMCAS::EqvOptions
&
options
= {});
53
54
}
// namespace LMCAS
LMCAS::ComputationContext
定义
computation_context.hpp:99
LMCAS::Result
定义
result.hpp:39
computation_context.hpp
equivalence_options.hpp
LMCAS_API
#define LMCAS_API
定义
lmcas_export.hpp:13
LMCAS
定义
assumption.hpp:11
LMCAS::context
const std::vector< Polynomial< BigInt > > const BigInt ComputationContext & context
定义
exact_factorization.hpp:65
LMCAS::check_equivalent
ResidualCheckResult check_equivalent(const ExprPtr &left, const ExprPtr &right, ComputationContext &context, const LMCAS::EqvOptions &options)
定义
residual_comparison.cpp:17
LMCAS::ProofCertificate
std::variant< ByConstructionProof, ExactNormalizationProof, ExactResidualProof, ExactRoundTripProof > ProofCertificate
定义
proof_outcome.hpp:25
LMCAS::options
const std::string ComputationContext const SolveOptions & options
定义
expr.hpp:355
LMCAS::ProvedZeroResidual::certificate
ProofCertificate certificate
定义
residual_verification.hpp:16
LMCAS::ResidualCheckResult
Result< ResidualCheck > ResidualCheckResult
定义
residual_verification.hpp:36
LMCAS::ExprPtr
std::shared_ptr< SymbolicExpr > ExprPtr
定义
conditional_result.hpp:19
LMCAS::ResidualCheck
std::variant< ProvedZeroResidual, ProvedNonIdentityResidual, UnprovedResidual > ResidualCheck
定义
residual_verification.hpp:31
LMCAS::right
const ExprPtr & right
定义
residual_verification.hpp:50
LMCAS::UnprovedResidual::normalized_residual
ExprPtr normalized_residual
定义
residual_verification.hpp:28
LMCAS::check_zero_residual
ResidualCheckResult check_zero_residual(const ExprPtr &residual, ComputationContext &context, const LMCAS::EqvOptions &options)
定义
residual_verification.cpp:1036
LMCAS::ProvedNonIdentityResidual::normalized_residual
ExprPtr normalized_residual
定义
residual_verification.hpp:24
LMCAS::UnprovedResidual
定义
residual_verification.hpp:27
LMCAS::ProvedZeroResidual
在表达式的原公共定义域上认证值相等;点值定义域与分母条件需另行证明。
定义
residual_verification.hpp:15
LMCAS::EqvOptions
定义
equivalence_options.hpp:34
LMCAS::ProvedNonIdentityResidual
证明残差在原公共定义域上非恒零,例如非零有理多项式。 残差仍可能在特定参数值处为零;点值不等性、定义域及上下文假设下的非零性均需另行证明。
定义
residual_verification.hpp:23
proof_outcome.hpp
result.hpp
symbolic.hpp
符号表达式主类 SymbolicExpr 及其工厂方法,运算接口.
include
residual_verification.hpp
生成于
, 为 LMCAS使用
1.18.0