【问题标题】:Sagemath: Is there a way to print out all the elements of a Group or a Ring?Sagemath:有没有办法打印出 Group 或 Ring 的所有元素?
【发布时间】:2021-11-17 08:38:06
【问题描述】:

如何在 Sagemath 中打印出 Group 或 Ring 的所有元素?

我无法在执行此操作的文档中找到任何命令/功能。所以我尝试通过 Python for & 我无法理解输出

我用一个字段试过这个

sage: A = GF(7)
sage: [print(i) for i in A]
0
1
2
3
4
5
6
[None, None, None, None, None, None, None]

我无法弄清楚最后的 None、None、None 是什么。

也无法理解商环的输出

 R.<x> = PolynomialRing(Integers(7))
 A = R.quotient(x^2)
 [print(i) for i in A]

0
1
2
3
4
5
6
xbar
xbar + 1
...
xbar + 6
2*xbar
...
2*xbar + 6
...
3*xbar + 6
...
6*xbar + 6
[None,
...
None]

再次,xbar 是什么?nones 是什么?

【问题讨论】:

    标签: python sage


    【解决方案1】:

    函数print 打印它的参数并返回None, 这是 Python 中最接近“不返回任何内容”的方法。

    当一个命令的返回值为None时,它不 得到显示。然而,在这里你正在建立一个列表 这些返回值,所以你会得到一个列表 元素是None,并且确实会显示该列表。

    为避免这种情况,请使用 for 循环而不构建列表。

    sage: A = GF(7)
    sage: for i in A:
    ....:     print(i)
    ....:
    0
    1
    2
    3
    4
    5
    6
    

    从带有变量x的多项式环开始, 并取一个商,Sage 使用xbar 作为 变量x的图像的默认名称 在商中。

    要选择不同的名称:

    sage: R.<x> = PolynomialRing(Zmod(3))
    sage: A.<t> = R.quotient(x^2)
    sage: for i in A:
    ....:     print(i)
    sage: R.<x> = PolynomialRing(Integers(3))
    sage: A.<t> = R.quotient(x^2)
    sage: for i in A:
    ....:     print(i)
    ....:
    0
    1
    2
    t
    t + 1
    t + 2
    2*t
    2*t + 1
    2*t + 2
    

    也可以使用x作为商中的变量名:

    sage: R.<x> = PolynomialRing(Zmod(3))
    sage: A.<x> = R.quotient(x^2)
    sage: for i in A:
    ....:     print(i)
    ....:
    0
    1
    2
    x
    x + 1
    x + 2
    2*x
    2*x + 1
    2*x + 2
    

    如果您想要单行而不是完整的打印循环, 你可以使用 more_itertools 包中的consume (您首先必须使用 pip 安装)。

    sage: %pip install more_itertools
    ...
    sage: from more_itertools import consume
    sage: consume(print(i) for i in A)
    0
    1
    2
    x
    x + 1
    x + 2
    2*x
    2*x + 1
    2*x + 2
    

    【讨论】:

      猜你喜欢
      • 2020-03-11
      • 1970-01-01
      • 2021-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多