基本环

当定义矩阵、向量或多项式时,有时需要指定定义它的“环”。A ring 是一种数学结构,其中有良好的加法和乘法概念;如果您以前从未听说过它们,您可能只需要了解以下四个常用的环:

  • 负整数合称整数 {{..., -1, 0, 1, 2, ...}} ,叫做 ZZ 在萨奇。

  • 有理数——即整数的分数或比率——称为 QQ 在萨奇。

  • 实数,叫做 RR 在萨奇。

  • 复数,叫做 CC 在萨奇。

您可能需要了解这些区别,因为同一个多项式,例如,可以根据定义它的环而不同地处理。例如,多项式 x^2-2 有两个根, pm sqrt{{2}} . 这些根不是有理的,所以如果你在处理有理系数的多项式,多项式就不会考虑。有了实数系数,就可以了。因此,您可能需要指定环,以确保获得所需的信息。下面两个命令分别定义有理系数和实系数的多项式集。这些集合名为“ratpoly”和“reallpoly”,但在这里它们并不重要;但是,请注意字符串“..<t>”和“..<z>”命名 变量 用于两种情况。:

sage: ratpoly.<t> = PolynomialRing(QQ)
sage: realpoly.<z> = PolynomialRing(RR)

现在我们来说明关于因子分解的观点 x^2-2

sage: factor(t^2-2)
t^2 - 2
sage: factor(z^2-2)
(z - 1.41421356237310) * (z + 1.41421356237310)

类似的评论也适用于矩阵:矩阵的行约化形式可以依赖于定义它的环,它的特征值和特征向量也可以。有关构造多项式的更多信息,请参见 多项式 ,有关矩阵的更多信息,请参见 线性代数 .

符号 I 表示的平方根 \(-1\)i 是的同义词 I . 当然,这不是一个有理数:

sage: i  # square root of -1
I
sage: i in QQ
False

注意:如果变量 i 被分配了一个不同的值,例如,如果它被用作循环变量。如果是这样,请键入:

sage: reset('i')

得到 i .

定义复数有一个微妙之处:如前所述,符号 i 表示的平方根 -1 ,但它是一个 正式的象征的 的平方根 -1 . 打电话 CC(i)CC.0 返回 复杂的 的平方根 -1 . 通过所谓的强制,可以实现涉及不同种类数字的算术,参见 父母、皈依和强迫 .

sage: i = CC(i)       # floating point complex number
sage: i == CC.0
True
sage: a, b = 4/3, 2/3
sage: z = a + b*i
sage: z
1.33333333333333 + 0.666666666666667*I
sage: z.imag()        # imaginary part
0.666666666666667
sage: z.real() == a   # automatic coercion before comparison
True
sage: a + b
2
sage: 2*b == a
True
sage: parent(2/3)
Rational Field
sage: parent(4/2)
Rational Field
sage: 2/3 + 0.1       # automatic coercion before addition
0.766666666666667
sage: 0.1 + 2/3       # coercion rules are symmetric in SAGE
0.766666666666667

下面是Sage中基本环的更多例子。如上所述,有理数环可以用 QQ ,或同时 RationalField() (A) 领域 是一个乘法是可交换的环,其中每个非零元素都有一个倒数,因此有理数形成一个域,而整数却没有:

sage: RationalField()
Rational Field
sage: QQ
Rational Field
sage: 1/2 in QQ
True

十进制数 1.2 被认为是 QQ :恰好也是有理数的十进制数可以“强制”为有理数(参见 父母、皈依和强迫 ). 数字 pisqrt{{2}} 但并不理性:

sage: 1.2 in QQ
True
sage: pi in QQ
False
sage: pi in RR
True
sage: sqrt(2) in QQ
False
sage: sqrt(2) in CC
True

在高等数学中,Sage还知道其他环,比如有限域, p -二进整数、代数数环、多项式环和矩阵环。以下是其中一些的结构:

sage: GF(3)
Finite Field of size 3
sage: GF(27, 'a')  # need to name the generator if not a prime field
Finite Field in a of size 3^3
sage: Zp(5)
5-adic Ring with capped relative precision 20
sage: sqrt(3) in QQbar # algebraic closure of QQ
True