sage - 使用 sage 计算环商
问题描述
令 =ℚ(√2) 和 =() 其中 ^2++1=0 是单位的三次根之一。令 a 为 L 的原始元素,O_K 为代数整数环。然后我如何计算像 O_K/Z[a] 这样的商?我试过了:
K.<sqrt2> = NumberField(x^2-2)
L.<w> = K.extension(x^2+x+1)
a = L.primitive_element()
print L.ring_of_integers().quotient(ZZ[a])
但是,我总是收到如下错误:“无法通过定义多项式 x^2 + (2*sqrt2 + 1)*x + sqrt2 + 3 在其基字段上将 w0 中数字字段中的相对顺序转换为 w0 中定义多项式的数字字段x^2 + x + 1 在其基域上”。
这里的正确语法是什么?
解决方案
正如您所指出的,问题在于我们有w
而且w0
他们似乎并不同意。在这个文档链接中,我们有一个有趣的例子。
sage: K.<a> = NumberField(x^3 - 2)
sage: ZZ[a]
Order in Number Field in a0 with defining polynomial x^3 - 2 with a0 = a
这导致我尝试
sage: K.<a> = NumberField(x^3 - 2)
sage: Za = ZZ[a]
sage: OK = K.maximal_order()
sage: Za.is_suborder(OK)
False
sage: OK.is_suborder(Za)
False
sage: OK
Maximal Order in Number Field in a with defining polynomial x^3 - 2
sage: Za
Order in Number Field in a0 with defining polynomial x^3 - 2 with a0 = a
sage: OK.number_field()
Number Field in a with defining polynomial x^3 - 2
sage: Za.number_field()
Number Field in a0 with defining polynomial x^3 - 2 with a0 = a
sage: OK.number_field() == Za.number_field()
False
正如我们所看到的,即使a0=a
显然没有办法直接比较基础数字字段。我根本不是这部分代码的专家,但我认为它至少值得一张澄清的票。我已经打开了Trac 28706。
与此同时,如果你能找到一种方法来使用订单的常用语法来获得你想要的订单,我会这样做。对于我从文档中制作的示例,我认为Za
并且OK
是相同的,但是对于您的我尝试了这个。
sage: Za.gens()
(1, w0, (-2*sqrt2 - 1)*w0 - sqrt2 - 3, (3*sqrt2 + 6)*w0 + 7*sqrt2 + 7)
sage: O1 = L.order([1,w,(-2*sqrt2 - 1)*w - sqrt2 - 3, (3*sqrt2 + 6)*w + 7*sqrt2 + 7])
sage: O1.is_suborder(OK)
True
这当然是一种改进。唉,
sage: OK.quotient(O1)
TypeError: unable to convert Maximal Relative Order in Number Field in w with defining polynomial x^2 + x + 1 over its base field to Number Field in w with defining polynomial x^2 + x + 1 over its base field
所以现在我已经超出了我的深度。这样的商本身是否允许?您可能必须创建一个理想来执行此操作。祝你好运!
推荐阅读
- r - R:如何舍入数据框的值
- c# - 通过 ADO 库更新 git 子模块
- react-native - 具有初始路由的反应导航多堆栈导航器
- r - 将原始格式的压缩 CSV 文件中的数据直接读取到内存中?
- python - Numpy矩阵创建时间奇点
- python - 为什么在我的 INSERT INTO 语句末尾附加 BETWEEN AND 时会收到 MariaDB 语法错误?
- azure - Azure SDK for JS“虚拟机 - 列表”是否存在?
- android - Android Sqlite 数据库可以在我的应用程序之外修改吗?
- html - 属性绑定不适用于 [routerlink] ANGULAR
- sqlalchemy - FastAPI 多对多响应模式和关系