solve() NotImplementedError for simple equation

11 views
Skip to first unread message

mli...@bucknell.edu

unread,
Sep 9, 2016, 2:31:44 PM9/9/16
to sympy
Hello,

I have encountered a NotImplementedError for a simple equation that I would have expected solve() to handle with ease.  The equation is

      a + b  - log((exp(2*b) + 1)/2) = 0,

where a and b are both real and positive. It's easy to show that the solution for b is

     b = +/- acosh(exp(a)).

Sympy solve() does handle the simpler equation

    a - log((exp(2*b) + 1)/2) = 0.

I'm using Python 3.5.1 and sympy.  Here's the code that generates the error:

>>> import sympy as sym
>>> a, b = sym.symbols('a b',positive=True)
>>> sym.solve(a - sym.log((sym.exp(2*b) + 1)/2),b)
[log(2*exp(a) - 1)/2]
>>> sym.solve(a + b - sym.log((sym.exp(2*b) + 1)/2),b)
... raise NotImplementedError


Am I incorrect in thinking that this equation should be straightforward for solve()?

Thanks,

  Marty Ligare
Reply all
Reply to author
Forward
0 new messages