LMCAS
Lamina Computer Algebra System
Toggle main menu visibility
载入中...
搜索中...
未找到
transform_support.hpp
浏览该文件的文档.
1
#pragma once
2
3
#include "
transform_engine.hpp
"
4
#include "
internal/symbolic_ast.hpp
"
5
#include "
internal/expression_analysis.hpp
"
6
#include <utility>
7
#include <optional>
8
9
namespace
LMCAS::transform_detail
{
10
11
bool
te_depends_on
(
const
std::shared_ptr<SymbolicExpr>& expression,
12
const
std::string&
variable
);
13
Result<void>
te_validate_expr_vars
(
const
std::shared_ptr<SymbolicExpr>& expression,
14
const
std::string& input_var,
15
const
std::string& output_var,
16
ComputationContext
&
context
,
17
const
std::string& operation);
18
bool
te_contains_transform
(
const
std::shared_ptr<const SymbolicNode>& node);
19
TransformEngineResult
te_wrap_transform_result
(std::shared_ptr<SymbolicExpr> expression,
20
const
std::string& operation);
21
std::shared_ptr<SymbolicExpr>
te_gt_condition
(
22
const
std::shared_ptr<SymbolicExpr>& lhs,
23
const
std::shared_ptr<SymbolicExpr>&
rhs
);
24
bool
te_is_zero
(
const
std::shared_ptr<SymbolicExpr>& expression);
25
std::optional<Rational>
te_number_value
(
26
const
std::shared_ptr<const SymbolicNode>& node);
27
BigInt
te_factorial
(
const
BigInt& n,
ComputationContext
&
context
);
28
std::pair<std::shared_ptr<SymbolicExpr>, std::shared_ptr<SymbolicExpr>>
te_split_coeff
(
29
const
std::shared_ptr<SymbolicExpr>& expression,
const
std::string&
variable
);
30
std::shared_ptr<SymbolicExpr>
te_linear_coefficient
(
31
const
std::shared_ptr<const SymbolicNode>& argument,
const
std::string&
variable
);
32
bool
te_is_trig
(
const
std::shared_ptr<SymbolicExpr>& expression,
33
const
std::string&
variable
,
bool
& is_sin,
34
std::shared_ptr<SymbolicExpr>& frequency);
35
36
struct
GaussianMatch
{
37
std::shared_ptr<SymbolicExpr>
coefficient
;
38
Rational
rate
;
39
};
40
41
std::optional<Rational>
te_match_pure_gaussian
(
42
const
std::shared_ptr<SymbolicExpr>& expression,
43
const
std::string&
variable
);
44
std::optional<GaussianMatch>
te_match_scaled_gaussian
(
45
const
std::shared_ptr<SymbolicExpr>& expression,
46
const
std::string&
variable
);
47
std::shared_ptr<SymbolicExpr>
laplace_transform_core
(
48
const
std::shared_ptr<SymbolicExpr>& expression,
const
std::string& input_var,
49
const
std::string& output_var,
ComputationContext
&
context
);
50
51
}
LMCAS::ComputationContext
定义
computation_context.hpp:99
LMCAS::Result
定义
result.hpp:39
expression_analysis.hpp
LMCAS::transform_detail
定义
transform_support.hpp:9
LMCAS::transform_detail::te_validate_expr_vars
Result< void > te_validate_expr_vars(const std::shared_ptr< SymbolicExpr > &expression, const std::string &input_var, const std::string &output_var, ComputationContext &context, const std::string &operation)
定义
transform_support.cpp:13
LMCAS::transform_detail::laplace_transform_core
std::shared_ptr< SymbolicExpr > laplace_transform_core(const std::shared_ptr< SymbolicExpr > &expression, const std::string &input_var, const std::string &output_var, ComputationContext &context)
定义
transform_laplace.cpp:153
LMCAS::transform_detail::te_is_trig
bool te_is_trig(const std::shared_ptr< SymbolicExpr > &expression, const std::string &variable, bool &is_sin, std::shared_ptr< SymbolicExpr > &frequency)
定义
transform_support.cpp:222
LMCAS::transform_detail::te_split_coeff
std::pair< std::shared_ptr< SymbolicExpr >, std::shared_ptr< SymbolicExpr > > te_split_coeff(const std::shared_ptr< SymbolicExpr > &expression, const std::string &variable)
定义
transform_support.cpp:91
LMCAS::transform_detail::GaussianMatch::rate
Rational rate
定义
transform_support.hpp:38
LMCAS::transform_detail::te_linear_coefficient
std::shared_ptr< SymbolicExpr > te_linear_coefficient(const std::shared_ptr< const SymbolicNode > &argument, const std::string &variable)
定义
transform_support.cpp:108
LMCAS::transform_detail::GaussianMatch::coefficient
std::shared_ptr< SymbolicExpr > coefficient
定义
transform_support.hpp:37
LMCAS::transform_detail::te_is_zero
bool te_is_zero(const std::shared_ptr< SymbolicExpr > &expression)
定义
transform_support.cpp:73
LMCAS::transform_detail::te_gt_condition
std::shared_ptr< SymbolicExpr > te_gt_condition(const std::shared_ptr< SymbolicExpr > &lhs, const std::shared_ptr< SymbolicExpr > &rhs)
定义
transform_support.cpp:65
LMCAS::transform_detail::te_contains_transform
bool te_contains_transform(const std::shared_ptr< const SymbolicNode > &node)
定义
transform_support.cpp:37
LMCAS::transform_detail::te_depends_on
bool te_depends_on(const std::shared_ptr< SymbolicExpr > &expression, const std::string &variable)
定义
transform_support.cpp:6
LMCAS::transform_detail::te_wrap_transform_result
TransformEngineResult te_wrap_transform_result(std::shared_ptr< SymbolicExpr > expression, const std::string &operation)
定义
transform_support.cpp:42
LMCAS::transform_detail::te_match_scaled_gaussian
std::optional< GaussianMatch > te_match_scaled_gaussian(const std::shared_ptr< SymbolicExpr > &expression, const std::string &variable)
定义
transform_support.cpp:202
LMCAS::transform_detail::te_factorial
BigInt te_factorial(const BigInt &n, ComputationContext &context)
定义
transform_support.cpp:85
LMCAS::transform_detail::te_match_pure_gaussian
std::optional< Rational > te_match_pure_gaussian(const std::shared_ptr< SymbolicExpr > &expression, const std::string &variable)
定义
transform_support.cpp:185
LMCAS::transform_detail::te_number_value
std::optional< Rational > te_number_value(const std::shared_ptr< const SymbolicNode > &node)
定义
transform_support.cpp:76
LMCAS::transform_detail::GaussianMatch
定义
transform_support.hpp:36
LMCAS::variable
const std::string & variable
定义
expr.hpp:286
LMCAS::context
const std::vector< Polynomial< BigInt > > const BigInt ComputationContext & context
定义
exact_factorization.hpp:65
LMCAS::TransformEngineResult
Result< Verified< EvaluatedTransform > > TransformEngineResult
定义
conditional_result.hpp:88
LMCAS::rhs
const ExprPtr & rhs
定义
expr.hpp:150
symbolic_ast.hpp
内部 AST 定义。
transform_engine.hpp
积分变换引擎:Laplace 变换,逆 Laplace 变换,Fourier 变换,Z 变换.
src
internal
transform_support.hpp
生成于
, 为 LMCAS使用
1.18.0