多项式环中生成元数未知的多项式环

2024-10-01 19:18:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个代数集的坐标环(其中代数集由一个域上任意变量的多项式集指定)。在

所以我使用了Sympy的poly_ring()函数

它通常用于创建坐标环,当你已经知道你想要定义它的理想的生成器时,例如

CoordinateRing = QQ.poly_ring(x,y,z) / [y**2 - z*x, xy*2 + z]

但我不想对定义多项式时使用的变量数量做任何假设。所以我写了一个函数get_symbols(),它提取定义多项式中使用的所有符号。{没有参数列表的生成器是如何设置的?

^{pr2}$

Tags: 函数参数get数量定义符号qqsymbols
1条回答
网友
1楼 · 发布于 2024-10-01 19:18:36

您的代码对我不起作用,但我发现使用old_poly_ring而不是{}起了作用:

from sympy import * 

class AlgebraicSet(object):
    def __init__(self, polynomials,field):

        self.polynomials = polynomials
        self.field = field 

    def get_symbols(self):

        symbols = set()

        for f in self.polynomials:
            symbols = set(symbols | f.atoms(Symbol)) 

        return symbols

    def get_coordinate_ring(self):
        poly_ring = self.field.old_poly_ring(*self.get_symbols(),order="ilex")
        return poly_ring / poly_ring.ideal(*self.polynomials)

from sympy.abc import x, y, z

print AlgebraicSet([y**2 - z*x, x*y*2 + z], QQ).get_coordinate_ring()

相关问题 更多 >

    热门问题