implicit plotting module

10 views
Skip to first unread message

Bharath M R

unread,
Jun 23, 2012, 12:57:57 AM6/23/12
to sy...@googlegroups.com
Hi,
   There is an implementation of implicit plotting at PR 1370. The PR currently supports 
the following functions:
sin, cos, exp, tan, asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh, floor, ceiling, 
max, min, log , exp, sqrt, and powers to integers.
I will add powers to floating points and intervals, gamma function and LamberW in the next
pull request. 

There will be a fallback algorithm if a function in an expression is not implemented. But it would
be great if most of the functions are supported as the plotting will be fast So I would like to know 
what are the other functions that has to be implemented?

Thanks,
Bharath M R 

Aaron Meurer

unread,
Jun 23, 2012, 7:00:55 AM6/23/12
to sy...@googlegroups.com
Will exponentials of non-base E be supported, like 2**x or x**y?

Aaron Meurer

--
You received this message because you are subscribed to the Google Groups "sympy" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sympy/-/1MNoawoaXogJ.
To post to this group, send email to sy...@googlegroups.com.
To unsubscribe from this group, send email to sympy+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sympy?hl=en.

krastano...@gmail.com

unread,
Jun 23, 2012, 7:19:26 AM6/23/12
to sy...@googlegroups.com
> Will exponentials of non-base E be supported, like 2**x or x**y?
It may be best to rewrite it into exp(log(x)*y). However this logic
must be placed in an appropriate module.

More generally you can go through sympy.functions and implement all
that you can. How hard is it? Can the symbolic machinery of sympy
automate the work for you? I suppose that all that you need is the
regions where the functions are monotone and that you always assume
real arguments. So you need stuff like `solve(f.diff(x))`, right? It
would be nice to file issues for each function that does not give nice
results in the solver.

You may use sympy to generate code for the implicit plotting module:
this will be really cool!

bharath M R

unread,
Jun 23, 2012, 7:28:39 AM6/23/12
to sy...@googlegroups.com
@Aaron
As Stefan mentioned, it can be rewritten into exp(log(x) * y) and hence
will be supported. 

On Sat, Jun 23, 2012 at 4:49 PM, krastano...@gmail.com <krastano...@gmail.com> wrote:
> Will exponentials of non-base E be supported, like 2**x or x**y?
It may be best to rewrite it into exp(log(x)*y). However this logic
must be placed in an appropriate module.

More generally you can go through sympy.functions and implement all
that you can. How hard is it? Can the symbolic machinery of sympy
automate the work for you? I suppose that all that you need is the
regions where the functions are monotone and that you always assume
real arguments. So you need stuff like `solve(f.diff(x))`, right? It
would be nice to file issues for each function that does not give nice
results in the solver.

Thats actually a nice way to do it. But it will depend on how good is the sympy
solver. I will give it a try. 

Thanks,
Bharath M R





krastano...@gmail.com

unread,
Jun 23, 2012, 7:41:53 AM6/23/12
to sy...@googlegroups.com
> Thats actually a nice way to do it. But it will depend on how good is the
> sympy
> solver. I will give it a try.

The solver is not very reliable. However, please file an issue for
each function that *you* can implement and at the same time the solver
fails to help you. I suppose that you may also rely on wolfram alpha.
Reply all
Reply to author
Forward
0 new messages