Computer Algebra

Hello,

I am writing a computer algebra system and I need help solving a variable in an equation from an abstract syntax tree.

How can I make something like a Term Rewriting System that rewrites equation in simplist form?

Is there any way to automatically let the computer to combine like terms?

How can I tell the computer to transform an equation to a specic form? One example is form where all of the terms are on the left side and zero is on the right side. Thus the quadratic polynomials in this form can be solved by the quadratic equation.

How can make the program automatically Factor, Expand, Simplify, Solve, Reduce etc. the equation without changing its value?

Thank you very much

[734 byte] By [alta] at [2007-10-2 19:31:00]
# 1

Canonical forms are the symbolic algebraist's best friend. Decide what your field is (e.g. multivariate polynomials with rational coefficients). Then design a canonical form for it. Then design algorithms to apply each of your basic operations to two expressions in canonical form and obtain an expression in canonical form. Finally code it, and you've got almost everything you asked for. (To actually solve expressions with high-order terms you may need Galois theory, but I'm assuming that's beyond your true requirements).

YAT_Archivista at 2007-7-13 21:18:20 > top of Java-index,Other Topics,Algorithms...