gpt4 book ai didi

python - 如何通过 Python 中的 Sagemath 库理解可疑的语法应用

转载 作者:行者123 更新时间:2023-12-03 16:35:14 27 4
gpt4 key购买 nike

我正在使用 Sagemath/Cocalc(随意在您的 browser 中运行它,无需注册,无需任何操作)。据我所知,Sagemath 只是 Python 之上的一个库,而 Sagemath 笔记本隐式地从 Sagemath 库中导入了许多东西。

但令我困惑的是以下语法:

R.<x,y> = AA[]
I = R.ideal(x^2 * y - 18,x * y^3 - 24, x * y - 6)
I.variety()

(这解决了多项式系统 x^2 * y - 18=0, x * y^3 - 24=, x * y - 6=0 ,并返回 x=2,y=3 ,很好!)

运行 type(AA) ,我看到它是
<class 'sage.rings.qqbar.AlgebraicRealField_with_category'>. 

运行 type(R) ,我看到它是
<class 'sage.rings.polynomial.multi_polynomial_ring.MPolynomialRing_polydict_domain_with_category'>

好的,b 在 Python 中使用方括号是什么意思 []在一个类(class),即 AA[] ?

在 Python 的语法中,执行 R.<x,y> 是什么意思? ?请注意,我之前没有定义 xy作为字符串或任何东西,所以这种语法对我来说似乎很奇怪。

最佳答案

SageMath 建立在 Python 之上,但它预解析输入,这是一个示例。在 SageMath 中:

sage: preparse('R.<x,y> = AA[]')
"R = AA['x, y']; (x, y,) = R._first_ngens(2)"
  • preparse命令会告诉您 Sage 如何在将字符串评估为标准 Python 之前对其进行转换。
  • __getitem__方法(当您执行 AA[args] 时会调用该方法)用于像 AA 这样的环创建一个具有命名生成器的多项式环。
  • 所以R.<x,y> = AA[]创建一个多项式环,并定义 R , x , 和 y作为环和它的两个发生器。

  • 您可以通过 R.<x,y> = PolynomialRing(AA) 达到同样的目的。 .

    关于python - 如何通过 Python 中的 Sagemath 库理解可疑的语法应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62018087/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com