[sympy] PRolog Equation Solving System

2014-05-28 Thread someone
Hi, If we want to improve our equation solver in the range of transcendental equations, it might be interesting to look at PRESS [1]: "PRESS (PRolog Equation Solving System) is a system for solving symbolic, transcendental, non-differential equations." [1]: http://dream.inf.ed.ac.uk/softwar

Re: [sympy] PRolog Equation Solving System

2014-05-28 Thread Aaron Meurer
That's useful. It looks like the problems it solves are mostly of the type that can already be solved by SymPy, but doing it this way would have some advantages (e.g., it looks like it mostly solves things in a way that would be useful for a "step-by-step" system). I think Harsh at least should tak

Re: [sympy] PRolog Equation Solving System

2014-05-28 Thread Richard Fateman
You could look at it, but I think that, unless it has been changed since I last looked, it has nothing at all to offer vs. an algorithmic approach. And some real problems in that it returns answers that are wrong, sometimes. The authors of the program are assuming that the (human?) recipient woul

Re: [sympy] PRolog Equation Solving System

2014-05-28 Thread Aaron Meurer
How does it return invalid results? Does it not check if spurious solutions were introduced through multiplying both sides of an equation? Aaron Meurer On Wed, May 28, 2014 at 9:14 PM, Richard Fateman wrote: > You could look at it, but I think that, unless it has been changed since > I last look

Re: [sympy] PRolog Equation Solving System

2014-06-02 Thread Richard Fateman
On Wednesday, May 28, 2014 9:16:46 PM UTC-7, Aaron Meurer wrote: > > How does it return invalid results? Does it not check if spurious > solutions were introduced through multiplying both sides of an > equation? > > yes. Also, if one is inclined to say that computer programs "know" things, th

Re: [sympy] PRolog Equation Solving System

2014-06-02 Thread Aaron Meurer
Ah, but the concept is sound, I think. One just needs to be more careful in the implementation. Given that this program was designed to solve "high school algebra," it's not surprising that the author chose to ignore complex variables, for better or for worse. Aaron Meurer On Mon, Jun 2, 2014 at

Re: [sympy] PRolog Equation Solving System

2014-06-02 Thread Rathmann
Interestingly, the problem that Richard Fateman uses to introduce his critique of Press (and other systems) doesn't look to be a happy one for Sympy. from sympy.abc import x from sympy import cos, solve solve(cos(x)+cos(3*x)+cos(5*x), x) If you do the high-school level cleverness by hand, and

Re: [sympy] PRolog Equation Solving System

2014-06-03 Thread F. B.
More than the logic contained in PRESS, I would get inspiration for the programming style. The current sympy solve has a lot of manual dispatching through "IF" and recursion. The code is hard to read, and you also need a debugger to understand what happens to expressions. I would suggest to eit

Re: [sympy] PRolog Equation Solving System

2014-06-03 Thread Aaron Meurer
+1. I like your thoughts for extensions to the assumptions system. Aaron Meurer On Tue, Jun 3, 2014 at 10:50 AM, F. B. wrote: > More than the logic contained in PRESS, I would get inspiration for the > programming style. > > The current sympy solve has a lot of manual dispatching through "IF" an

Re: [sympy] PRolog Equation Solving System

2014-06-03 Thread Aaron Meurer
It's getting stuck in the checking routine. Try check=False. If you do rewrite(exp), you get some solutions. Aaron Meurer On Mon, Jun 2, 2014 at 11:33 PM, Rathmann wrote: > Interestingly, the problem that Richard Fateman uses to introduce his > critique of Press (and other systems) doesn't look

Re: [sympy] PRolog Equation Solving System

2014-06-03 Thread F. B.
By the way, just some considerations about the Prolog approach to equation solving. In short, Prolog tries to determine the largest set that satisfies all given rules. I guess that if PRESS misses some rules, it will end up showing too many solutions, because the solution set has not been proper

Re: [sympy] PRolog Equation Solving System

2014-06-04 Thread F. B.
I had a look at SymPy, it looks like this: In [1]: solve(cos(3*x), x) Out[1]: ⎡π π⎤ ⎢─, ─⎥ ⎣6 2⎦ In [2]: solve(cos(n*x), x) Out[2]: ⎡ π 3⋅π⎤ ⎢───, ───⎥ ⎣2⋅n 2⋅n⎦ It looks like the cos( ) solver just thinks that cos( ) can be zero at two points (pi/2 and 3*pi/2), then calls a solver to m

Re: [sympy] PRolog Equation Solving System

2014-06-04 Thread Richard Fateman
I suppose my objection to the PRESS program is not the "organization" per se, It could be that knowledge of mathematics can be encoded procedurally or functionally or as pattern matches or as rules. Frankly, I have my own bias, having worked with several of these. What I object to is the mind

Re: [sympy] PRolog Equation Solving System

2014-06-06 Thread Aaron Meurer
These are all issues that Harsh should be addressing in his GSoC project. Aaron Meurer On Wed, Jun 4, 2014 at 6:56 AM, F. B. wrote: > I had a look at SymPy, it looks like this: > > In [1]: solve(cos(3*x), x) > Out[1]: > ⎡π π⎤ > ⎢─, ─⎥ > ⎣6 2⎦ > > In [2]: solve(cos(n*x), x) > Out[2]: > ⎡ π 3⋅