LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
integration_weierstrass.cpp 文件参考
integration_weierstrass.cpp 的引用(Include)关系图:

浏览该文件的源代码.

命名空间

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)