计算机代数软到操作的次数最小化的一组多项式多项式、最小化、代数、次数

2023-09-11 06:50:49 作者:命里缺個你

我有多项式的系统,相当简单的多项式EX pressions而是长 优化我的手。实施例pressions分组在集,而在一组给定的有在多个变量常用术语

I have systems of polynomials, fairly simple polynomial expressions but rather long to optimize my hand. Expressions are grouped in sets, and in a given set there are common terms in several variables.

我想知道是否有一个计算机代数系统,如数学,MATLAB,或sympy,它可以优化多个多项式常用术语,尽量减少操作次数。这将是也很大,如果这种系统可以最大限度地减少中间项数减少注册数量。

I would like to know if there is a computer algebra system, such as Mathematica, Matlab, or sympy, which can optimize multiple polynomials with common terms to minimize number of operations. It would be also great if such system can minimize the number of intermediate terms to reduce number of registers.

如果这样的系统是不存在的,我会尽我自己的,使用Python符号代数Sympy。如果您正在使用此类包装或有兴趣开发或使用一个,请让我知道。

If such system is not existing, I am going to do my own, using Python symbolic algebra Sympy. If you are working on such package or are interested in developing or using one, please let me know.

在这里是一个制造的例子

here is a made-up example

x0 = ((t - q*A)*x + B)*y
y0 = ((t - q*A)*y + B)*z
z0 = ((t - q*A)*z + B)*x

这样你就可以很明显的因素(T - QA)项。现在如果你让术语的数目非常大与常用术语的各种组合,难以用手做。我有涉及多达40项,并集的大小的公式是大约20希望帮助

so you can obviously factor the (t - qA) term. Now if you make number of terms very large with various combinations of common terms it becomes difficult to do by hand. The equations I have involve up to 40 terms and the size of set is around 20. Hope that helps

感谢您

推荐答案

Mathomatic可能是你正在寻找的轻量级解决方案。看一看: HTTP:www.mathomatic.org

Mathomatic may be the lightweight solution you are looking for. Have a look: http:www.mathomatic.org.

它做简单的代数运算与所有常见的操作,能够简化标志性的前pressions,求解变量和套eqns的。

It does simple algebra with all the usual operators, is able to simplify symbolic expressions, solve for variables and sets of eqns.

它没有编程能力。 你可以建立一个独立的应用程序,或者使用库的形式API和头文件将在C,C ++或Objective-C,或者你可以从你的应用程序,其中所提供的命令行环境启动的应用程序。

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.

看一看NSTask,这也使得管道标准输入和标准输出到数据流在自己的应用程序。

Have a look at NSTask, which also allows to pipe stdin and stdout to datastreams in your own app.

Mathomatic还能够保存结果的前pressions中使用Java,Python或最大值格式包含在这些系统上的程序code。

Mathomatic is also able to save the resulting expressions in java, python or maxima format for inclusion in the program code on these systems.