On Mar 14, 7:50 pm, Aaron Meurer <[email protected]> wrote: > Actually, this has nothing to do with the algorithm I implemented. > The Risch algorithm is accessible in my branch through the > risch_integrate() function, and it only works with a limited class of > functions that does not include this one. > > By the way, this integral works in master: > > In [70]: integrate(1/sqrt(1+x*x/(c*c)),x) > Out[70]: > ⎛x⎞ > c⋅asinh⎜─⎟ > ⎝c⎠ >
You are completely correct. Its funny that the default Ubuntu sympy doesn't work; it runs on Ubuntu 12.04 beta and installs through the generic 'sudo apt-get install python-sympy', and as you can see above, its a 'SymPy 0.7.1.rc0' release. But I tried the master from github and it works just like you say, so I'll work with the master until the Ubuntu distro catches up. John Hoebing > This is because of the new integration algorithm that was implemented > last summer using Meijer G-Functions. Unlike the Risch algorithm, > this is a heuristic, and works with a much broader class of functions > (also unlike Risch, the Meijer G algorithm works particularly well on > definite integrals). The power of the Risch algorithm over this one > is that it works on more complex functions, so long as they are within > the acceptable class, since it's an actual algorithm and not a > heuristic. > > And yes, I should merge my branch already, even what you tried wasn't > really demonstrating the power of it. Play around with > risch_integrate() with functions with exp() and log(), and you'll see > it's power. integrate() in that branch is just the normal old > integrate() from 0.7.0 (which is less powerful than integrate in > master, but you can still see the difference if you compare there > too). Hopefully I'll have time this summer along with managing GSoC > and getting a 0.7.2 release out. > > Aaron Meurer > > > > > > > > On Wed, Mar 14, 2012 at 3:23 PM, john.hoebing <[email protected]> wrote: > > Wow! You really made some progress and I can't believe it hasn't been > > merged into the main code. I had given up on sympy for a lot of my > > work because the integration starts to break on really simple > > integrals, for instance from the latest 0.7.1.rc1: > > > In [1]: c=symbols('c') > > > In [2]: integrate(1/sqrt(1+x*x),x) > > Out[2]: asinh(x) > > > In [3]: integrate(1/sqrt(1+x*x/(c*c)),x) > > Out[3]: > > ⌠ > > ⎮ 1 > > ⎮ ────────────── dx > > ⎮ ⎽⎽⎽⎽⎽⎽⎽⎽ > > ⎮ ╱ 2 > > ⎮ ╱ x > > ⎮ ╱ 1 + ── > > ⎮ ╱ 2 > > ⎮ ╲╱ c > > ⌡ > > > In [4]: > > > where I've just tried to divide the function 'x*x' by a constant > > 'c*c'. That should have been easy! > > > Here's the output from your (2 year old!) Risch'd tree: > > > In [1]: c=symbols('c') > > > In [2]: integrate(1/sqrt(1+x*x),x) > > Out[2]: asinh(x) > > > In [3]: integrate(1/sqrt(1+x*x/(c*c)),x) > > Out[3]: > > ⎛x⎞ > > c⋅asinh⎜─⎟ > > ⎝c⎠ > > > In [4]: > > > Much better! A merge of this code should be a very high priority, and > > I'm willing to help out. > > > John Hoebing > > > On Mar 11, 11:01 pm, Aaron Meurer <[email protected]> wrote: > >> I worked on the Risch algorithm for GSoC over the summer of 2010. The > >> work hasn't been merged yet, but you can find it > >> athttps://github.com/asmeurer/sympy/tree/integration3, and details of > >> what was done are > >> athttps://github.com/sympy/sympy/wiki/GSoC-2010-Risch-Integration-Report, > >> and in blog posts I made throughout the summer at my blog > >> (http://asmeurersympy.wordpress.com/). Let me know if you have any > >> questions. > > >> Aaron Meurer > > >> On Sun, Mar 11, 2012 at 9:51 PM, Raman Garg <[email protected]> > >> wrote: > >> > Hi, > >> > I am a second year student of Netaji Subhas Institue of > >> > Technology(under Delhi University),India.My major is Instrumentation > >> > and Control engineering.I am good in "Data Structures and > >> > Algorithms",as for the current project.Besides this I am good in > >> > Linux,CSS etc.. > > >> > I am programming for the past five years and have experience in C/C+ > >> > +.In my day to day life I spend a lot of time in cracking computing > >> > puzzles and won various awards in my college. > > >> > Idea for the GSOC: > >> > I liked "SYMBOLIC COMPUTATION OF INTEGRALS BY RECURRENCE" ,and am > >> > interested in implementing the same.I first saw this idea on project > >> > ideas page. > > >> > I have gone through the concept of the above idea,but don't know how > >> > much of it is implemented before.Okay coming to the point ,how should > >> > I start writing codes for it and what to study next as I have studied > >> > its algorithm. > > >> > thanks > >> > Raman Gupta > > >> > -- > >> > You received this message because you are subscribed to the Google > >> > Groups "sympy" group. > >> > To post to this group, send email to [email protected]. > >> > To unsubscribe from this group, send email to > >> > [email protected]. > >> > For more options, visit this group > >> > athttp://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 [email protected]. > > To unsubscribe from this group, send email to > > [email protected]. > > For more options, visit this group > > athttp://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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
