Apparently the setup.py is dated:

cjmu...@haz:~/Projects/sympy$ git diff
diff --git a/setup.py b/setup.py
index bdec104..538904d 100755
--- a/setup.py
+++ b/setup.py
@@ -71,6 +71,7 @@
     'sympy.mpmath.matrices',
     'sympy.mpmath.calculus',
     'sympy.polys',
+    'sympy.polys.domains',
     'sympy.printing',
     'sympy.printing.pretty',
     'sympy.series',
cjmu...@haz:~/Projects/sympy$

On Thu, Aug 19, 2010 at 12:39 PM, Christian Muise <christian.mu...@gmail.com
> wrote:

> I'm having issues with the branch:
>
> >>> from sympy import *
> Traceback (most recent call last):
>   File "<input>", line 1, in <module>
>   File "/usr/local/lib/python2.6/dist-packages/sympy/__init__.py", line 24,
> in <module>
>     from polys import *
>   File "/usr/local/lib/python2.6/dist-packages/sympy/polys/__init__.py",
> line 3, in <module>
>     from polytools import (
>   File "/usr/local/lib/python2.6/dist-packages/sympy/polys/polytools.py",
> line 66, in <module>
>     from sympy.polys.domains import FF, QQ
> ImportError: No module named domains
> >>>
>
>   I guess it's the version I'm using? Python 2.6.5 is installed.
>
> On Wed, Aug 18, 2010 at 11:43 PM, Aaron S. Meurer <asmeu...@gmail.com>wrote:
>
>> So a few words.  First, if you just pass it a strictly rational function,
>> it is nothing new.  It will return the exact same result as integrate()
>> because it uses the exact same function, which is the already existing
>> ratint() (however, there is a fix in my branch for rational functions with
>> symbolic coefficients that fail in master).
>>
>> To really test this, you need to pass it a function that has exp and/or
>> log in it. For example, here are some functions that you might try that
>> better test the algorithm:
>>
>> In [2]: risch_integrate(1/(exp(x)**9 + 1), x)
>> Out[2]:
>>       ⎛     9⋅x⎞
>>    log⎝1 + ℯ   ⎠
>> x - ─────────────
>>          9
>>
>> (your example with x replaced with exp(x))
>>
>> In [18]: risch_integrate(diff(exp(x)*log(x)/(x + 1), x), x)
>> Out[18]:
>>  x
>> ℯ ⋅log(x)
>> ─────────
>>  1 + x
>>
>> This seems to be a simple example, but observe that our current
>> integrate() cannot handle it:
>>
>> In [19]: integrate(diff(exp(x)*log(x)/(x + 1), x), x)
>> Out[19]:
>> ⌠
>> ⎮ ⎛ x           x               x   ⎞
>> ⎮ ⎜ℯ ⋅log(x)   ℯ ⋅log(x)       ℯ    ⎟
>> ⎮ ⎜───────── - ───────── + ─────────⎟ dx
>> ⎮ ⎜  1 + x             2   x⋅(1 + x)⎟
>> ⎮ ⎝             (1 + x)             ⎠
>> ⌡
>>
>> Also, it's fun to pass it functions that you know do not have elementary
>> anti-derivatives, to see if it can verify that fact:
>>
>> In [20]: risch_integrate(exp(x**2), x)
>> Out[20]:
>> ⌠
>> ⎮  ⎛ 2⎞
>> ⎮  ⎝x ⎠
>> ⎮ ℯ     dx
>> ⌡
>>
>> In [21]: risch_integrate(1/log(x), x)
>> Out[21]:
>> ⌠
>> ⎮   1
>> ⎮ ────── dx
>> ⎮ log(x)
>> ⌡
>>
>> Also, remember what I said about integrating random functions.  If you try
>> to integrate a random function, the chances are pretty good that it will not
>> be elementary, and even if it is, the result could be quite complicated and
>> it could take a long time to compute.  Much better is to come up with an
>> expression that is as complex or not complex as you like, then differentiate
>> it and see if risch_integrate() can give you the original thing back again.
>>
>> On Aug 18, 2010, at 9:05 PM, Ondrej Certik wrote:
>>
>> > Hi Aaron!
>> >
>> > On Thu, Aug 5, 2010 at 2:01 PM, Aaron S. Meurer <asmeu...@gmail.com>
>> wrote:
>> >> (copied from issue 2010)
>> >>
>> >> I have ready in my integration3 branch a prototype risch_integrate()
>> function, that is a user-level function for the full Risch Algorithm I have
>> been implementing this summer.  Pull from
>> http://github.com/asmeurer/sympy/tree/integration3
>> >
>> > This is just excellent!
>> >
>> > I would like to invite everyone to try this. (Read Aaron's email above
>> > for things to try and not to try yet.) So here are some tougher cases:
>> >
>> > In [1]: risch_integrate(1/(x**8+1), x)
>> > [hangs]
>>
>> This is our old friend expand() again (if you break anything that hangs in
>> sympy these days, it usually ends up being in expand in the traceback).  I
>> am hoping that Mateusz's continual Poly improvements will make this go away
>> eventually.
>>
>> >
>> >
>> > In [4]: cancel(risch_integrate(1/(x**9+1), x).diff(x))
>> > Out[4]:
>> >      d ⎛       ⎛        6        3                          ⎞⎞      3 d
>> ⎛
>> > 1 + 3⋅──⎝RootSum⎝531441⋅t  + 729⋅t  + 1, Λ(t, t⋅log(x + 9⋅t))⎠⎠ + 3⋅x
>> ⋅──⎝Root
>> >      dx                                                               dx
>> >
>> ──────────────────────────────────────────────────────────────────────────────
>> >                                                                   3
>> >                                                            3 + 3⋅x
>> >
>> >   ⎛        6        3                          ⎞⎞
>> > Sum⎝531441⋅t  + 729⋅t  + 1, Λ(t, t⋅log(x + 9⋅t))⎠⎠
>> >
>> > ──────────────────────────────────────────────────
>> >
>> >
>> > It should be equivalent but it's a bit messy. Maybe we need to
>> > implement some symbolic manipulation of RootSum().
>>
>> Mateusz should look at this.
>>
>> >
>> > In [18]: risch_integrate(sqrt(1+exp(x)), x)
>> > NotImplementedError: Couldn't find an elementary transcendental
>> > extension for (1 + exp(x))**(1/2).  Try using a manual extension with
>> > the extension flag.
>>
>> No, and it won't be any time soon.  The algorithm I am implementing is
>> only the transcendental case (no algebraic functions like sqrt).  Now, the
>> algebraic part does exist, but it is much more difficult to implement, and I
>> won't even start to do it until the transcendental case is finished.  If you
>> get the above error, and you believe that the function is really not
>> algebraic, please post it here because it could be a bug in my preparser
>> algorithm, (be aware that you could be wrong, though).
>>
>> >
>> >
>> > [18] is probably not supported yet.
>> >
>> >
>> > Otherwise it works great. I wasn't able to make it break.
>>
>> Well, I know it's possible, because I do it all the time (and then I go
>> and fix the bug).
>>
>> >
>> >
>> > Ondrej
>>
>> Aaron Meurer
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "sympy" group.
>> To post to this group, send email to sy...@googlegroups.com.
>> To unsubscribe from this group, send email to
>> sympy+unsubscr...@googlegroups.com <sympy%2bunsubscr...@googlegroups.com>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/sympy?hl=en.
>>
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to sy...@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to