I am thinking to implement transcendental equation solve(transolve) in
solveset as for GSoC 17. This discussion will be focusing on how to
implement exponential equation solver as part of transolve. I require
anyone who could provide me with the idea that would be efficient to solve
exponential equation.
At present solveset does not solve all types of exponential equation
>>> solveset(2**x - 32**(x+1), x, S.Reals)
ConditionSet(x, Eq(2**x - 32**(x + 1), 0), (-oo, oo))
>>> solveset(2**x - 32, x, S.Reals)
{log(32)/log(2)} # not simplified correct output should be
{5}.
Above were simple examples showing the inability of solveset to solve
exponential equations.
I have a simple idea for implementing exponential solver(I have written the
code for few test cases. I have used *perfect_power* to check for common
base)
Any exponential equation can be solved by looking at the bases, if the
equation can be reduced to similar base, then all we require is to solve
for the exponent thus converting it into an algebraic equation and then
solving for the variable.
for eg: 2**x - 32**(x+1) can be converted to common base
2**x = 2**5(x+1)
x = 5(x+1)
x = 5x + 5
-4x = 5
x = -5/4
and for the equations that cannot be converted to common base,
could be solved by taking log in both sides and reducing it using log
idenetities.
I might be wrong in my way of implementation, but I require ideas and
suggestions for all of you, so that I can have the resultant for my GSoC
proposal.
@asmeurer, @smichr, @jksoum, @aktech, @hrgupta, @kshitij10496,
@Shekharrajak and anyone who can share his ideas.
--
You received this message because you are subscribed to the Google Groups
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sympy.
To view this discussion on the web visit
https://groups.google.com/d/msgid/sympy/16996e3d-aa2e-424b-849e-9ddfd3cc5e99%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.