LMCAS
Lamina Computer Algebra System
Toggle main menu visibility
载入中...
搜索中...
未找到
symbolic_implicit_diff.cpp
浏览该文件的文档.
1
#include "
internal/expression_transform.hpp
"
2
#include "
symbolic_implicit_diff.hpp
"
3
4
namespace
LMCAS
{
5
6
std::shared_ptr<SymbolicExpr>
implicit_diff
(
7
std::shared_ptr<SymbolicExpr> expression,
8
const
std::string& independent_variable,
9
const
std::string& dependent_variable) {
10
ComputationContext
context
;
11
detail::RewriteBudget
transform_budget(
context
, (
context
).limits().max_recursion_depth,
12
(
context
).limits().max_ast_nodes,
"transform"
);
13
if
(!expression || independent_variable.empty() || dependent_variable.empty()) {
14
return
nullptr
;
15
}
16
17
auto
numerator = SymbolicExpr::multiply(
18
SymbolicExpr::number(-1),
19
detail::make_expression_ptr
(
detail::differentiate_node
(
detail::node
(expression), independent_variable, transform_budget)));
20
auto
denominator
=
detail::make_expression_ptr
(
detail::differentiate_node
(
detail::node
(expression), dependent_variable, transform_budget));
21
return
SymbolicExpr::divide(numerator,
denominator
);
22
}
23
24
}
// namespace LMCAS
LMCAS::ComputationContext
定义
computation_context.hpp:99
LMCAS::detail::RewriteBudget
定义
rewrite_budget.hpp:15
expression_transform.hpp
LMCAS::detail::differentiate_node
SymbolicNodePtr differentiate_node(const SymbolicNodePtr &node, const std::string &variable, RewriteBudget &budget, const FactsQuery &facts, Domain domain)
定义
symbolic_core.cpp:233
LMCAS::detail::make_expression_ptr
std::shared_ptr<::LMCAS::SymbolicExpr > make_expression_ptr(SymbolicNodePtr root)
定义
base.hpp:111
LMCAS::detail::node
const SymbolicNodePtr & node(const ::LMCAS::SymbolicExpr &expression) noexcept
定义
base.hpp:91
LMCAS
定义
assumption.hpp:11
LMCAS::context
const std::vector< Polynomial< BigInt > > const BigInt ComputationContext & context
定义
exact_factorization.hpp:65
LMCAS::denominator
const ExprPtr & denominator
定义
expr.hpp:200
LMCAS::implicit_diff
std::shared_ptr< SymbolicExpr > implicit_diff(std::shared_ptr< SymbolicExpr > expression, const std::string &independent_variable, const std::string &dependent_variable)
定义
symbolic_implicit_diff.cpp:6
symbolic_implicit_diff.hpp
隐函数微分 dy/dx = -F_x / F_y。
src
symbolic_implicit_diff.cpp
生成于
, 为 LMCAS使用
1.18.0