{"action":"created","issue":{"url":"https://api.github.com/repos/sympy/sympy/issues/9051","labels_url":"https://api.github.com/repos/sympy/sympy/issues/9051/labels{/name}","comments_url":"https://api.github.com/repos/sympy/sympy/issues/9051/comments","events_url":"https://api.github.com/repos/sympy/sympy/issues/9051/events","html_url":"https://github.com/sympy/sympy/pull/9051","id":58861035,"number":9051,"title":"Improvements to heurisch","user":{"login":"jksuom","id":6929119,"avatar_url":"https://avatars.githubusercontent.com/u/6929119?v=3","gravatar_id":"","url":"https://api.github.com/users/jksuom","html_url":"https://github.com/jksuom","followers_url":"https://api.github.com/users/jksuom/followers","following_url":"https://api.github.com/users/jksuom/following{/other_user}","gists_url":"https://api.github.com/users/jksuom/gists{/gist_id}","starred_url":"https://api.github.com/users/jksuom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jksuom/subscriptions","organizations_url":"https://api.github.com/users/jksuom/orgs","repos_url":"https://api.github.com/users/jksuom/repos","events_url":"https://api.github.com/users/jksuom/events{/privacy}","received_events_url":"https://api.github.com/users/jksuom/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-02-25T07:26:08Z","updated_at":"2015-02-27T19:40:12Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/sympy/sympy/pulls/9051","html_url":"https://github.com/sympy/sympy/pull/9051","diff_url":"https://github.com/sympy/sympy/pull/9051.diff","patch_url":"https://github.com/sympy/sympy/pull/9051.patch"},"body":"Heurisch cannot currently manage Bessel functions because their\r\nderivatives have many different expressions. They are related\r\nby recurrence relations which are not implemented in SymPy.\r\n\r\nThe first commit presents a solution based on a table of selected\r\nalternative forms of derivatives whose values are cached.\r\nThis makes ``test_pmint_besselj()`` succeed. Some new\r\ntests with products are added to exercise the tables, but they\r\nare probably too slow for travis.\r\n\r\nThe second commit is addressed to ``test_pmint_logexp()`` whose\r\nresult is correct but too complicated. The patch will replace the\r\npolynomials in the logarithmic terms with their squarefree versions."},"comment":{"url":"https://api.github.com/repos/sympy/sympy/issues/comments/76458134","html_url":"https://github.com/sympy/sympy/pull/9051#issuecomment-76458134","issue_url":"https://api.github.com/repos/sympy/sympy/issues/9051","id":76458134,"user":{"login":"jksuom","id":6929119,"avatar_url":"https://avatars.githubusercontent.com/u/6929119?v=3","gravatar_id":"","url":"https://api.github.com/users/jksuom","html_url":"https://github.com/jksuom","followers_url":"https://api.github.com/users/jksuom/followers","following_url":"https://api.github.com/users/jksuom/following{/other_user}","gists_url":"https://api.github.com/users/jksuom/gists{/gist_id}","starred_url":"https://api.github.com/users/jksuom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jksuom/subscriptions","organizations_url":"https://api.github.com/users/jksuom/orgs","repos_url":"https://api.github.com/users/jksuom/repos","events_url":"https://api.github.com/users/jksuom/events{/privacy}","received_events_url":"https://api.github.com/users/jksuom/received_events","type":"User","site_admin":false},"created_at":"2015-02-27T19:40:12Z","updated_at":"2015-02-27T19:40:12Z","body":"Unfortunately ``assert g.diff(x) - f == 0`` fails for the same reason that makes heurisch fail in integration. SymPy does not know of the recurrence relations of Bessel functions. (Something\r\nlike besselsimp() would be needed.)\r\nI have verified by hand those (few) examples there are using the recurrence relations in ipython."}}