基本环¶
在定义矩阵、向量或多项式时,指定定义它的“环”有时是有用的,有时也是必要的。一个 ring 是一种数学结构,其中有很好的加法和乘法概念;如果你以前从未听说过它们,你可能只需要知道这四个常用的环:
这些整数 {..., -1, 0, 1, 2, ...} ,被称为
ZZ
在塞奇。有理数--即整数的分数或比率--称为
QQ
在塞奇。真实的数字,被称为
RR
在塞奇。称为复数的复数
CC
在塞奇。
您可能需要了解这些区别,因为相同的多项式可以根据定义它的环的不同而被不同地处理。例如,多项式 x^2-2 有两个根, pm sqrt{2} 。这些根不是有理的,所以如果你用有理系数的多项式,多项式就不会因数。有了真实的系数,它就能做到。因此,您可能希望指定环,以确保您获得预期的信息。以下两个命令分别定义了具有有理系数和实系数的多项式集合。这些集合被命名为“ratpoly”和“realpoly”,但它们在这里并不重要;但是,请注意,字符串“.”和“.<z>”命名 variables 在这两个案例中使用。**
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 ,但这是一种 formal 平方根 -1 作为一个代数数。叫唤 CC(i)
或 CC.0
或 CC.gen(0)
返回 complex 平方根 -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) field 是一个环,其中乘法是可交换的,其中每个非零元素在该环中都有一个倒数,因此有理数形成一个域,但整数不是):
sage: RationalField()
Rational Field
sage: QQ
Rational Field
sage: 1/2 in QQ
True
十进制数 1.2
被认为是在 QQ
:碰巧也是有理数的十进制数可以被“强迫”成有理数(见 父母、皈依和胁迫 )。这些数字 pi 和 sqrt{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