Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking issue for Gruntz's limit algorithm's dependencies #1082

Open
3 tasks
LilithHafner opened this issue Feb 28, 2024 · 1 comment
Open
3 tasks

Tracking issue for Gruntz's limit algorithm's dependencies #1082

LilithHafner opened this issue Feb 28, 2024 · 1 comment

Comments

@LilithHafner
Copy link
Contributor

LilithHafner commented Feb 28, 2024

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
Copy link
Contributor Author

LilithHafner commented Feb 28, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant