Tracking issue for Gruntz's limit algorithm's dependencies
LilithHafner opened this issue · 1 comments
LilithHafner commented
The symbolic limit algorithm described here has a couple components/dependencies that are useful as standalone functionality. This issue tracks support of those components
- Zero equivalence testing (is this expression equal to zero) (maybe
iszero(simplify(_, expand=true))
?) - Series expansion
- The Gruntz limit algorithm itself
I suspect that this functionality can be (and therefore probably should be) implemented with dependence only on SymbolicUtils, not Symbolics itself and therefore defined in a separate package that Symbolics re-exports.
LilithHafner commented
iszero
and simplify
do not successfully perform zero equivalence testing. For example
julia> @syms x::Real
(x,)
julia> expr = exp((x+1)*x - x*x-x)-1
-1 + exp(-x - (x^2) + (1 + x)*x)
julia> simpl1 = simplify(expr, expand=false)
-1 + exp(0)
julia> simpl2 = simplify(expr, expand=true)
-1 + exp(0)
julia> iszero(simpl1)
(-1 + exp(0)) == 0