Computer Algebra Soft To Minimize The Number Of Operations In A Set Of Polynomials
Solution 1:
Is sympy what you're looking for? I do believe it has support for polynomials although I don't know if it supports all the features you may desire (still, tweaking it to add what you think it might be missing has to be easier than writing your own from scratch;-).
Solution 2:
Have you considered Maxima?
It is an impressive symbolical computation package that is free, open source, and has a strong and active community that provides valuable assistance when dealing with non-obvious formulations. It is readily availability for all three major operating systems, and has a precompiled Windows binary.
You have a variety of algebraic manipulation commands available for expressions and for systems of equations (such as yours): expand, factor, simplify, ratsimp, linsolve, etc.
This page (Maxima for Symbolic Computation)should get you started — downloading, installing, a few examples, and then pointing out additional resources to guide you on your way, including a quick command reference / cheat sheet, and some guidlines for writing your own scripts.
Solution 3:
Mathomatic may be the lightweight solution you are looking for. Have a look: http:www.mathomatic.org.
It does simple algebra with all the usual operators, is able to simplify symbolic expressions, solve for variables and sets of eqns.
It has no programming capability. You can build a standalone app, or use the API in the form of a library and header files to incorporate it in C,C++ or Objective-C, or you could launch the app from your application where you supply the command line and environment.
Have a look at NSTask, which also allows to pipe stdin and stdout to datastreams in your own app.
Mathomatic is also able to save the resulting expressions in java, python or maxima format for inclusion in the program code on these systems.
Solution 4:
Well Mathematica can certainly do all sorts of transformations on sets of polynomial equations such as yours, and some of those transformations could be to reduce the number of terms. Whether that is the right answer for you is open to question, as you don't seem to have a copy available. I expect that the same is true for Maple and for most of the other CAS out there.
But your mention of
reduce number of registers
suggests that you are actually trying to do some data-flow analysis for compilation. You might want to look at the literature on that topic too. Some of that literature does indeed refer to computer-algebra-like transformations on expressions.
Post a Comment for "Computer Algebra Soft To Minimize The Number Of Operations In A Set Of Polynomials"