Bei der Gruppe, für die Sie eine Mitteilung verfassen, handelt es sich um eine Usenet-Gruppe. Wenn Sie in dieser Gruppe Nachrichten posten, ist Ihre E-Mail-Adresse für jeden im Internet sichtbar
> It is Prolog Equation Solving System developed in 1985. I'm new in prolog, > and I failed to compile it. Please help me! (I'm using Win7)
> I would like to advice on the primary issue: what is the proper way to > develop a symbolic equation solver in 2010?
Hi, Balazs:
What kind of equations is the solver required to handle? At some point any reasonably complex software must stabilize around an equally clear specification.
Solutions of polynomial equations in one variable such as one might encounter in "gymnasium" (high school) can be solved in deterministic fashion. Perhaps this is what you have in mind. There are more sophisticated problems tackled symbolically by CAS packages like Maxima or Axiom:
Software of this kind would seem to be a good match for implementation in Prolog, but historically Lisp has been the preferred language. "Classic" Axiom is also Lisp dependent, but its implementation spawned a higher level language spad as the means of defining object types, e.g. multivariate polynomials with coefficients over a custom defined ring. spad itself gave rise to a new language Aldor, and there are a couple of quite active "forks" of Axiom that emphasize a change in implementation strategy:
While I'd be interested in helping out on a project to do "symbolic equation" solving similar to this in Prolog (perhaps in Logtalk to benefit from OO syntactic sugar), a simpler tack might be to look into constraint solvers built on Prolog, at least with regard to finite domain problems:
> What kind of equations is the solver required to > handle?
It's not exactly specified. Polynomial, trigonometric, logarithmic, exponential equations, equations containing roots, and their combinations... The main problem is the equations usually are not in standard form, and their type can not be determined. For example:
2^(x+3) - 4^x = 8
This is an exponential equation which is reducible to quadratic. Maple, Derive, Mathematica and some other expensive (and not reusable) programme can solve equations like above, but most of the CAS-s can not. According its descripton Axiom works only with linear equations. I tried Maxima, and it can't solve too.