如何解决如何在存储多项式的 sagemath 中编写数组?
我的问题是计算给我的 8 个多项式的 S 多项式。 Sage 已经有一个内置函数(称为 spol
),它计算不同多项式的 S 多项式,如下所示:
from sage.rings.polynomial.toy_buchberger import spol
R.<y_1,y_2,y_3,y_4,x_1,x_2,x_3,x_4> = PolynomialRing(QQ,order='lex')
g = spol(-y_2*x_1 + y_2*x_4 - y_3*x_1^2 + y_3*x_4^2 - y_4*x_1^3 + y_4*x_4^3,-y_2*x_2 + y_2*x_4 - y_3*x_2^2 + y_3*x_4^2 - y_4*x_2^3 + y_4*x_4^3)
如果我从给定的 8 个多项式中取出 2 个多项式并手动计算 S 多项式,将有 32 种可能的组合。
有没有更好的方法来解决这个问题?
所以我想
创建一个存储 8 个多项式的数组并创建一个 for 循环,该循环将从数组中取出多项式并计算它们的 S 多项式,然后它会给我我的列表。
我不精通编码(我来自数学背景)。我真的需要一些帮助。
解决方法
可能是这样的:
from sage.rings.polynomial.toy_buchberger import spol
R.<y_1,y_2,y_3,y_4,x_1,x_2,x_3,x_4> = PolynomialRing(QQ,order='lex')
polinoms = [p1,p2,p3,p4,p5,p6,p7,p8] #add the polynoms
spols = [] #the S-polynomials
for i in polinoms:
for j in polinoms:
if i != j:
spols.append(spol(i,j))
这将为您提供 56 个项目的列表,但您提到了 32 个,因此请在此处评论哪些其他组合也应排除。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。