|
LMCAS
Lamina Computer Algebra System
|
#include "internal/expression_transform.hpp"#include "internal/integration_support.hpp"#include "internal/assumption_facts.hpp"命名空间 | |
| namespace | LMCAS |
| namespace | LMCAS::anonymous_namespace{integration_weierstrass.cpp} |
类型定义 | |
| typedef std::pair< std::shared_ptr< SymbolicExpr >, std::shared_ptr< SymbolicExpr > > | LMCAS::anonymous_namespace{integration_weierstrass.cpp}::RatPair |
| 递归求值已执行 sin/cos->t 代换的表达式,生成关于 t 的多项式分子与分母; nullopt 表示当前节点位于有理函数支持域之外. | |
函数 | |
| bool | LMCAS::anonymous_namespace{integration_weierstrass.cpp}::weier_has_trig_of_var (const std::shared_ptr< const SymbolicNode > &node, const std::string &var) |
| 是否至少包含一个 sin(var)/cos(var)/tan(var)... 形式(确保确实是三角有理函数) | |
| bool | LMCAS::anonymous_namespace{integration_weierstrass.cpp}::weier_is_rational_trig (const std::shared_ptr< const SymbolicNode > &node, const std::string &var) |
| 判断表达式是否仅由 var 通过 sin(var)/cos(var)/tan(var) 以及常数,四则,整数幂构成, 即关于 sin/cos 的有理函数.含有其它依赖 var 的函数(exp/ln/sqrt 等)时返回 false. | |
| bool | LMCAS::anonymous_namespace{integration_weierstrass.cpp}::weier_rational_function (const FunctionNode &fn, const std::string &var) |
| std::optional< RatPair > | LMCAS::anonymous_namespace{integration_weierstrass.cpp}::weier_rational_power (const PowerNode &pw, const std::string &tvar, const std::shared_ptr< SymbolicExpr > &one, ComputationContext &context) |
| Result< std::shared_ptr< SymbolicExpr > > | LMCAS::anonymous_namespace{integration_weierstrass.cpp}::weier_reduce_rational (const std::shared_ptr< SymbolicExpr > &num_poly, const std::shared_ptr< SymbolicExpr > &den_poly, const std::string &tvar, ComputationContext &context) |
| std::shared_ptr< const SymbolicNode > | LMCAS::anonymous_namespace{integration_weierstrass.cpp}::weier_replace (const std::shared_ptr< const SymbolicNode > &node, const std::string &var, const std::string &tvar) |
| std::shared_ptr< const SymbolicNode > | LMCAS::anonymous_namespace{integration_weierstrass.cpp}::weier_replace_function (const FunctionNode &fn, const std::string &var, const std::string &tvar) |
| std::optional< RatPair > | LMCAS::anonymous_namespace{integration_weierstrass.cpp}::weier_to_rational (const std::shared_ptr< const SymbolicNode > &node, const std::string &tvar, ComputationContext &context) |
| bool | LMCAS::anonymous_namespace{integration_weierstrass.cpp}::weier_trig_function (const FunctionNode &fn) |
| bool | LMCAS::anonymous_namespace{integration_weierstrass.cpp}::weier_trig_of_variable (const FunctionNode &function, const std::string &var) |