|
LMCAS
Lamina Computer Algebra System
|
#include </home/runner/work/docs/docs/LMCAS/src/internal/visitors/differentiation_visitor.hpp>
Public 成员函数 | |
| DifferentiationVisitor (const std::string &v, detail::RewriteBudget &budget) | |
| 构造普通求导访问器。 | |
| std::shared_ptr< const SymbolicNode > | get_result () const |
| 获取求导结果。 | |
| void | visit (const AddNode &node) override |
| void | visit (const ComplexNode &node) override |
| void | visit (const FiniteSetNode &) override |
| void | visit (const FunctionNode &node) override |
| void | visit (const IntegralNode &node) override |
| void | visit (const IntervalNode &) override |
| void | visit (const LimitNode &) override |
| void | visit (const LogicalNode &) override |
| void | visit (const MatrixNode &node) override |
| void | visit (const MembershipNode &) override |
| void | visit (const MultiplyNode &node) override |
| void | visit (const NumberNode &) override |
| void | visit (const PiecewiseNode &node) override |
| void | visit (const PowerNode &node) override |
| void | visit (const ProductNode &) override |
| void | visit (const QuantifierNode &) override |
| void | visit (const QuantityNode &node) override |
| void | visit (const RelationalNode &) override |
| void | visit (const RootOfNode &) override |
| void | visit (const SetBuilderNode &) override |
| void | visit (const SummationNode &) override |
| void | visit (const TransformNode &) override |
| void | visit (const UninterpretedFunctionNode &) override |
| void | visit (const VariableNode &node) override |
Public 属性 | |
| std::shared_ptr< const SymbolicNode > | result |
| 求导结果节点。 | |
Protected 成员函数 | |
| RewriteBudget * | rewrite_budget () const noexcept |
Protected 属性 | |
| int | current_depth = 0 |
静态 Protected 属性 | |
| static constexpr int | MAX_DEPTH = 200 |
Private 成员函数 | |
| void | append_result (std::vector< std::shared_ptr< const SymbolicNode > > &nodes, std::size_t &size, std::shared_ptr< const SymbolicNode > candidate) |
| void | differentiate_atan2 (const FunctionNode &node) |
| void | set_result (std::shared_ptr< const SymbolicNode > candidate) |
| void | unsupported (const char *node_type) const |
Private 属性 | |
| RewriteBudget * | rewrite_budget_ = nullptr |
| std::string | var |
在文件 differentiation_visitor.hpp 第 12 行定义.
|
inline |
构造普通求导访问器。
| v | 求导变量名 |
在文件 differentiation_visitor.hpp 第 29 行定义.
引用了 LMCAS::detail::SymbolicVisitor::SymbolicVisitor(), result, LMCAS::v , 以及 var.
|
inlineprivate |
在文件 differentiation_visitor.hpp 第 70 行定义.
引用了 LMCAS::detail::RewriteBudget::append_size() , 以及 LMCAS::detail::SymbolicVisitor::rewrite_budget().
被这些函数引用 visit(), visit(), visit() , 以及 visit().
|
private |
在文件 differentiation_functions.cpp 第 264 行定义.
引用了 LMCAS::SymbolicFactory::create_add(), LMCAS::SymbolicFactory::create_multiply(), LMCAS::SymbolicFactory::create_number(), LMCAS::denominator, LMCAS::detail::make_node(), result, LMCAS::detail::SymbolicVisitor::rewrite_budget() , 以及 set_result().
被这些函数引用 visit().
|
inline |
获取求导结果。
在文件 differentiation_visitor.hpp 第 37 行定义.
引用了 result.
被这些函数引用 LMCAS::detail::differentiate_node().
|
inlineprotectednoexceptinherited |
引用了 rewrite_budget_.
被这些函数引用 LMCAS::ExpandVisitor::append_child(), LMCAS::DifferentiationVisitor::append_result(), LMCAS::ExpandVisitor::check_child_count(), LMCAS::NormalizationVisitor::collect_expanded_product(), LMCAS::NormalizationVisitor::collect_product(), LMCAS::NormalizationVisitor::collect_sum(), LMCAS::DifferentiationVisitor::differentiate_atan2(), LMCAS::NormalizationVisitor::distribute_power(), LMCAS::NormalizationVisitor::distribute_product(), LMCAS::NormalizationVisitor::expand_complex_product(), LMCAS::NormalizationVisitor::expand_product(), LMCAS::NormalizationVisitor::extract_term_coefficient(), LMCAS::NormalizationVisitor::finish_squared_norm(), LMCAS::NormalizationVisitor::fuse_matrix_product(), LMCAS::NormalizationVisitor::matrix_product_element(), LMCAS::NormalizationVisitor::merge_complex_terms(), LMCAS::NormalizationVisitor::normalize_bound_body(), LMCAS::NormalizationVisitor::normalize_function_parity(), LMCAS::NormalizationVisitor::normalize_logarithm(), LMCAS::NormalizationVisitor::normalize_matrix_product(), LMCAS::NormalizationVisitor::normalize_matrix_sum(), LMCAS::NormalizationVisitor::normalize_natural_logarithm(), LMCAS::NormalizationVisitor::normalize_nested_imaginary_power(), LMCAS::NormalizationVisitor::normalize_nested_power(), LMCAS::NormalizationVisitor::normalize_power_identity(), LMCAS::NormalizationVisitor::normalize_unary_function(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::rewrite_scoped(), LMCAS::NormalizationVisitor::scale_matrix(), LMCAS::DifferentiationVisitor::set_result(), LMCAS::ExpandVisitor::set_result(), LMCAS::ExpandVisitor::set_result(), LMCAS::NormalizationVisitor::set_result(), LMCAS::NormalizationVisitor::simplify_assumed_absolute(), LMCAS::NormalizationVisitor::simplify_assumed_square_root(), LMCAS::NormalizationVisitor::try_normalize_squared_norm(), LMCAS::groebner_detail::PolyBuilder::use_numeric_function(), LMCAS::detail::SymbolicRewriter::visit(), LMCAS::detail::SymbolicRewriter::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::ExpandVisitor::visit(), LMCAS::ExpandVisitor::visit(), LMCAS::ExpandVisitor::visit(), LMCAS::ExpandVisitor::visit(), LMCAS::ExpandVisitor::visit(), LMCAS::groebner_detail::PolyBuilder::visit(), LMCAS::groebner_detail::PolyBuilder::visit(), LMCAS::groebner_detail::PolyBuilder::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit() , 以及 LMCAS::NormalizationVisitor::visit().
|
inlineprivate |
在文件 differentiation_visitor.hpp 第 66 行定义.
引用了 LMCAS::detail::RewriteBudget::measure_result(), result , 以及 LMCAS::detail::SymbolicVisitor::rewrite_budget().
被这些函数引用 differentiate_atan2(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit() , 以及 visit().
|
inlineprivate |
在文件 differentiation_visitor.hpp 第 15 行定义.
引用了 LMCAS::UnsupportedExpression.
被这些函数引用 visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit() , 以及 visit().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_arithmetic.cpp 第 17 行定义.
引用了 append_result(), LMCAS::detail::RewriteBudget::append_size(), LMCAS::SymbolicFactory::create_add(), LMCAS::op, result, LMCAS::detail::SymbolicVisitor::rewrite_budget() , 以及 set_result().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_structural.cpp 第 45 行定义.
引用了 LMCAS::SymbolicFactory::create_complex(), result , 以及 set_result().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_structural.cpp 第 100 行定义.
引用了 unsupported().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_functions.cpp 第 287 行定义.
引用了 LMCAS::FunctionNode::Atan2, LMCAS::SymbolicFactory::create_multiply(), differentiate_atan2(), LMCAS::FunctionNode::Log, result, LMCAS::detail::SymbolicVisitor::rewrite_budget(), set_result() , 以及 unsupported().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_structural.cpp 第 109 行定义.
引用了 append_result(), LMCAS::SymbolicFactory::create_add(), LMCAS::SymbolicFactory::create_multiply(), LMCAS::SymbolicFactory::create_number(), LMCAS::detail::make_node(), result, LMCAS::detail::SymbolicVisitor::rewrite_budget(), set_result(), LMCAS::detail::substitute_node() , 以及 var.
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_structural.cpp 第 101 行定义.
引用了 unsupported().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_structural.cpp 第 151 行定义.
引用了 unsupported().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_structural.cpp 第 41 行定义.
引用了 unsupported().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_structural.cpp 第 6 行定义.
引用了 append_result(), LMCAS::detail::RewriteBudget::append_size(), LMCAS::detail::make_node(), result, LMCAS::detail::SymbolicVisitor::rewrite_budget() , 以及 set_result().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_structural.cpp 第 102 行定义.
引用了 unsupported().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_arithmetic.cpp 第 29 行定义.
引用了 append_result(), LMCAS::detail::RewriteBudget::append_size(), LMCAS::detail::RewriteBudget::consume(), LMCAS::SymbolicFactory::create_add(), LMCAS::SymbolicFactory::create_multiply(), LMCAS::SymbolicFactory::create_number(), result, LMCAS::detail::SymbolicVisitor::rewrite_budget() , 以及 set_result().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_arithmetic.cpp 第 5 行定义.
引用了 LMCAS::SymbolicFactory::create_number() , 以及 set_result().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_structural.cpp 第 53 行定义.
引用了 LMCAS::detail::RewriteBudget::append_size(), LMCAS::PiecewiseNode::Branch::condition, LMCAS::PiecewiseNode::Branch::expression, LMCAS::detail::make_node(), result, LMCAS::detail::SymbolicVisitor::rewrite_budget() , 以及 set_result().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_arithmetic.cpp 第 67 行定义.
引用了 LMCAS::SymbolicFactory::create_add(), LMCAS::SymbolicFactory::create_multiply(), LMCAS::SymbolicFactory::create_number(), LMCAS::FunctionNode::Ln, LMCAS::detail::make_node(), result, LMCAS::detail::SymbolicVisitor::rewrite_budget(), set_result(), LMCAS::u , 以及 LMCAS::v.
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_structural.cpp 第 85 行定义.
引用了 unsupported().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_structural.cpp 第 93 行定义.
引用了 unsupported().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_structural.cpp 第 103 行定义.
引用了 LMCAS::detail::make_node(), result , 以及 set_result().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_structural.cpp 第 37 行定义.
引用了 unsupported().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_structural.cpp 第 152 行定义.
引用了 unsupported().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_structural.cpp 第 97 行定义.
引用了 unsupported().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_structural.cpp 第 81 行定义.
引用了 unsupported().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_structural.cpp 第 89 行定义.
引用了 unsupported().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_structural.cpp 第 77 行定义.
引用了 unsupported().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 differentiation_arithmetic.cpp 第 9 行定义.
引用了 LMCAS::SymbolicFactory::create_number(), set_result() , 以及 var.
|
protectedinherited |
|
staticconstexprprotectedinherited |
| std::shared_ptr<const SymbolicNode> LMCAS::DifferentiationVisitor::result |
求导结果节点。
在文件 differentiation_visitor.hpp 第 22 行定义.
被这些函数引用 DifferentiationVisitor(), differentiate_atan2(), get_result(), set_result(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit() , 以及 visit().
|
privateinherited |
|
private |
在文件 differentiation_visitor.hpp 第 13 行定义.
被这些函数引用 DifferentiationVisitor(), visit() , 以及 visit().