I don't remember if I asked these questions before a while back, so I'll ask them now if I may.
When Eureqa/Formulize processes the "search expression" (ex. y=f(x), etc), presumably it substitutes each of the various candidates (ex f(x)=sin(x), etc) into the "search expression" and plots both sides of the resultant equation. It seems then that some degree of symbolic algebraic manipulation is called for, particularly for more complex search expressions. What are you using in the Windows client for this purpose ?
I am using Maxima in my own version of a Linux client. This allows me to handle very general forms of search expressions. The client starts it automatically at client startup as a seperate process. It takes over the standard inputs and outputs of the Maxima process and communicates directly with it via streams laid over Unix style pipes. I use a similar method which allows me to use Gnuplot to handle the rendering. Gnuplot is a reasonably powerful plotting package, and used in this fashion allows me to render directly into the interface while taking advantage of the various facilities it makes available (ex, labels, axes, plot styles, surface plots, etc). I can also use Tex this way to render "typeset" equations into the interface.
I also assume that, for purposes of comparative plotting, your version does floating point evaluation of one or both sides of the equation resulting from the substitution of a candidate solution into the search expression. What are you using in the Windows version to do this ?
I was using Octave, which tended to be acceptable, but rather slower than I'd li ke. I've recently figured out how to use Python's embedded interpreter facilities to do this. This seems to be orders of magnitude faster.
Finally;
Are there any particular forms of search expressions to which the current Windows version of the Eureqa client is restricted (ex y=f(x) or similar), or is it more general (ex f(x,y,z...)=g(x,y,z) )?
I don't know if this got to the list since I haven't heard anthing back, so I'm sending it again just in case. Please let me know if this is not the appropriate forum for the query, as I don't wish to inconvenience the list members.
J. Hart
note: The speed up through using embedded Python for floating point evaluation over Octave turned out to be a factor of about 5000.
J. Hart wrote: > I don't remember if I asked these questions before a while back, so > I'll ask them now if I may.
> When Eureqa/Formulize processes the "search expression" (ex. y=f(x), > etc), presumably it substitutes each of the various candidates (ex > f(x)=sin(x), etc) into the "search expression" and plots both sides of > the resultant equation. It seems then that some degree of symbolic > algebraic manipulation is called for, particularly for more complex > search expressions. What are you using in the Windows client for this > purpose ?
> I am using Maxima in my own version of a Linux client. This allows me > to handle very general forms of search expressions. The client starts > it automatically at client startup as a seperate process. It takes > over the standard inputs and outputs of the Maxima process and > communicates directly with it via streams laid over Unix style pipes. > I use a similar method which allows me to use Gnuplot to handle the > rendering. Gnuplot is a reasonably powerful plotting package, and > used in this fashion allows me to render directly into the interface > while taking advantage of the various facilities it makes available > (ex, labels, axes, plot styles, surface plots, etc). I can also use > Tex this way to render "typeset" equations into the interface.
> I also assume that, for purposes of comparative plotting, your version > does floating point evaluation of one or both sides of the equation > resulting from the substitution of a candidate solution into the > search expression. What are you using in the Windows version to do > this ?
> I was using Octave, which tended to be acceptable, but rather slower > than I'd li > ke. I've recently figured out how to use Python's embedded > interpreter facilities to do this. This seems to be orders of > magnitude faster.
> Finally;
> Are there any particular forms of search expressions to which the > current Windows version of the Eureqa client is restricted (ex y=f(x) > or similar), or is it more general (ex f(x,y,z...)=g(x,y,z) )?
We wrote our own custom CAS system to do symbolic manipulations in Eureqa/Formulize. Basically, it takes the target expression like "y=f(x)" and substitutes in the function f(x) for each solution in order to plot the left-hand side versus the right, etc. just like you say.
The current API compatible version only supports single functions, e.g. f(x). In the newer version coming out soon, there may be multiple functions, e.g. f(x), f0(x), f1(x), f2(x), etc. Otherwise, there's no restriction on the search expression.
On Wed, Feb 8, 2012 at 11:17 AM, J. Hart <jhart...@gmail.com> wrote: > I don't know if this got to the list since I haven't heard anthing back, > so I'm sending it again just in case. Please let me know if this is not > the appropriate forum for the query, as I don't wish to inconvenience the > list members.
> J. Hart
> note: The speed up through using embedded Python for floating point > evaluation over Octave turned out to be a factor of about 5000.
> J. Hart wrote:
>> I don't remember if I asked these questions before a while back, so I'll >> ask them now if I may.
>> When Eureqa/Formulize processes the "search expression" (ex. y=f(x), >> etc), presumably it substitutes each of the various candidates (ex >> f(x)=sin(x), etc) into the "search expression" and plots both sides of the >> resultant equation. It seems then that some degree of symbolic algebraic >> manipulation is called for, particularly for more complex search >> expressions. What are you using in the Windows client for this purpose ?
>> I am using Maxima in my own version of a Linux client. This allows me to >> handle very general forms of search expressions. The client starts it >> automatically at client startup as a seperate process. It takes over the >> standard inputs and outputs of the Maxima process and communicates directly >> with it via streams laid over Unix style pipes. I use a similar method >> which allows me to use Gnuplot to handle the rendering. Gnuplot is a >> reasonably powerful plotting package, and used in this fashion allows me to >> render directly into the interface while taking advantage of the various >> facilities it makes available (ex, labels, axes, plot styles, surface >> plots, etc). I can also use Tex this way to render "typeset" equations >> into the interface.
>> I also assume that, for purposes of comparative plotting, your version >> does floating point evaluation of one or both sides of the equation >> resulting from the substitution of a candidate solution into the search >> expression. What are you using in the Windows version to do this ?
>> I was using Octave, which tended to be acceptable, but rather slower than >> I'd li >> ke. I've recently figured out how to use Python's embedded interpreter >> facilities to do this. This seems to be orders of magnitude faster.
>> Finally;
>> Are there any particular forms of search expressions to which the current >> Windows version of the Eureqa client is restricted (ex y=f(x) or similar), >> or is it more general (ex f(x,y,z...)=g(x,y,z) )?