.. _section-rings: ÐÑновнÑе колÑÑа =============== ÐÑи обÑÑвлении маÑÑиÑ, векÑоÑов или полиномов Ð´Ð»Ñ Ð½Ð¸Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° полезно, а иногда и Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ опÑеделÑÑÑ "колÑÑа", на коÑоÑÑÑ Ð¾Ð½Ð¸ опÑеделенÑ. *ÐолÑÑо* - ÑÑо маÑемаÑиÑеÑÐºÐ°Ñ ÐºÐ¾Ð½ÑÑÑÑкÑиÑ, в коÑоÑой ÑÑÑеÑÑвÑÑÑ Ð¾Ð¿ÑеделеннÑе понÑÑÐ¸Ñ ÑÑÐ¼Ð¼Ñ Ð¸ пÑоизведениÑ. ÐÑли Ð²Ñ Ð½Ð¸ÐºÐ¾Ð³Ð´Ð° о Ð½Ð¸Ñ Ð½Ðµ ÑлÑÑали, Ñо вам, веÑоÑÑно, доÑÑаÑоÑно знаÑÑ Ð¾Ð± ÑÑÐ¸Ñ ÑеÑÑÑÐµÑ ÑаÑÑо иÑполÑзÑемÑÑ ÐºÐ¾Ð»ÑÑÐ°Ñ : * ÑелÑе ÑиÑла `\{..., -1, 0, 1, 2, ...\}`, назÑваемÑе ``ZZ`` в Sage. * ÑаÑионалÑнÑе ÑиÑла -- напÑимеÑ, дÑоби или оÑноÑÐµÐ½Ð¸Ñ ÑелÑÑ ÑиÑел â-, назÑваемÑе ``QQ`` в Sage. * веÑеÑÑвеннÑе ÑиÑла, назÑваемÑе ``RR`` в Sage. * комплекÑнÑе ÑиÑла, назÑваемÑе ``CC`` в Sage. Ðнание ÑазлиÑий Ð¼ÐµÐ¶Ð´Ñ Ð´Ð°Ð½Ð½Ñми колÑÑами оÑÐµÐ½Ñ Ð²Ð°Ð¶Ð½Ð¾, Ñак как один и ÑÐ¾Ñ Ð¶Ðµ полином, опÑеделеннÑй в ÑазнÑÑ ÐºÐ¾Ð»ÑÑÐ°Ñ , Ð¼Ð¾Ð¶ÐµÑ Ð²ÐµÑÑи ÑÐµÐ±Ñ Ð¿Ð¾-ÑазномÑ. ÐапÑимеÑ, полином `x^2-2` Ð¸Ð¼ÐµÐµÑ Ð´Ð²Ð° коÑнÑ: `\pm \sqrt{2}`. ÐÑи коÑни не ÑвлÑÑÑÑÑ ÑаÑионалÑнÑми ÑиÑлами, поÑÑÐ¾Ð¼Ñ ÐµÑли Ð²Ñ ÑабоÑаеÑе Ñ Ð¿Ð¾Ð»Ð¸Ð½Ð¾Ð¼Ð°Ð¼Ð¸ Ñ ÑаÑионалÑнÑми коÑÑÑиÑиенÑами, Ñо полином не бÑÐ´ÐµÑ ÑазлагаÑÑÑÑ Ð½Ð° множиÑели. С веÑеÑÑвеннÑми коÑÑÑиÑиенÑами â бÑдеÑ. ÐоÑÑÐ¾Ð¼Ñ ÑÑÐ¾Ð¸Ñ Ð¾Ð¿ÑеделиÑÑ ÐºÐ¾Ð»ÑÑо, ÑÑÐ¾Ð±Ñ Ð±ÑÑÑ ÑвеÑеннÑм, ÑÑо полÑÑеннÑй ÑезÑлÑÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð¿ÑавилÑнÑм. СледÑÑÑие две ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð·Ð°Ð´Ð°ÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑва полиномов Ñ ÑаÑионалÑнÑми коÑÑÑиÑиенÑами и веÑеÑÑвеннÑми коÑÑÑиÑиенÑами ÑооÑвеÑÑÑвенно. ÐножеÑÑва Ð½Ð°Ð·Ð²Ð°Ð½Ñ "ratpoly" и "realpoly", но ÑÑо не ÑÑÐ¾Ð»Ñ Ð²Ð°Ð¶Ð½Ð¾ в данном конÑекÑÑе, однако ÑимволÑнÑе ÑоÑеÑÐ°Ð½Ð¸Ñ ".<t>" и ".<z>" ÑвлÑÑÑÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñми пеÑеменнÑÑ , иÑполÑзованнÑÑ Ð² двÑÑ ÑлÑÑаÑÑ . :: sage: ratpoly.<t> = PolynomialRing(QQ) sage: realpoly.<z> = PolynomialRing(RR) ФакÑоÑизиÑÑем `x^2-2`: .. link :: sage: factor(t^2-2) t^2 - 2 sage: factor(z^2-2) (z - 1.41421356237310) * (z + 1.41421356237310) Символ ``I`` обознаÑÐ°ÐµÑ ÐºÐ²Ð°Ð´ÑаÑнÑй коÑÐµÐ½Ñ Ð¸Ð· :math:`-1`; ``i`` â ÑÑо Ñо же Ñамое, ÑÑо ``I``. ÐонеÑно, ÑÑо не ÑаÑионалÑное ÑиÑло: :: sage: i # квадÑаÑнÑй коÑÐµÐ½Ñ Ð¸Ð· -1 I sage: i in QQ False ÐамеÑка: ÐÑÑеопиÑаннÑй код Ð¼Ð¾Ð¶ÐµÑ ÑабоÑаÑÑ Ð½Ðµ Ñак, как задÑмÑвалоÑÑ, еÑли пеÑеменной ``i`` бÑло задано дÑÑгое знаÑение, напÑимеÑ, еÑли оно бÑло иÑполÑзовано, как ÑÑеÑÑик Ð´Ð»Ñ Ñикла. Ð Ñаком ÑлÑÑае введиÑе :: sage: reset('i') Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ Ð¸Ð·Ð½Ð°ÑалÑное комплекÑное знаÑение ``i``. ÐÑÑÑ Ð¾Ð´Ð½Ð° ÑонкоÑÑÑ Ð² задании комплекÑнÑÑ ÑиÑел: как опиÑано вÑÑе, Ñимвол ``i`` пÑедÑÑавлÑÐµÑ ÐºÐ²Ð°Ð´ÑаÑнÑй коÑÐµÐ½Ñ Ð¸Ð· `-1`, но ÑÑо *ÑоÑмалÑнÑй* или *ÑимволиÑнÑй* квадÑаÑнÑй коÑÐµÐ½Ñ Ð¸Ð· `-1`. ÐÑзов ``CC(i)`` или ``CC.0`` веÑÐ½ÐµÑ *комплекÑнÑй* квадÑаÑнÑй коÑÐµÐ½Ñ Ð¸Ð· `-1`. :: sage: i = CC(i) # комплекÑное ÑиÑло Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей запÑÑой 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() # Ð¼Ð½Ð¸Ð¼Ð°Ñ ÑаÑÑÑ 0.666666666666667 sage: z.real() == a # авÑомаÑиÑеÑкое пÑиведение Ñипов пеÑед ÑÑавнением 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 # авÑомаÑиÑеÑкое пÑиведение Ñипов пеÑед Ñложением 0.766666666666667 sage: 0.1 + 2/3 # пÑиведение Ñипов в Sage ÑиммеÑÑиÑно 0.766666666666667 Ðалее ÑледÑÑÑ Ð¿ÑимеÑÑ Ð±Ð°Ð·Ð¾Ð²ÑÑ ÐºÐ¾Ð»ÐµÑ Ð² Sage. Ðак оÑмеÑено вÑÑе, колÑÑо ÑаÑионалÑнÑÑ ÑиÑел обознаÑаеÑÑÑ ÐºÐ°Ðº ``QQ``, а Ñакже как ``RationalField()`` (*поле* - ÑÑо колÑÑо, в коÑоÑом пÑоизведение ÑвлÑеÑÑÑ ÐºÐ¾Ð¼Ð¼ÑÑаÑивнÑм и в коÑоÑом каждÑй ненÑлевой ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¸Ð¼ÐµÐµÑ Ð¾Ð±ÑаÑнÑÑ Ð²ÐµÐ»Ð¸ÑÐ¸Ð½Ñ Ð² ÑÑом колÑÑе (ÑаÑионалÑнÑе ÑиÑла ÑвлÑÑÑÑÑ Ð¿Ð¾Ð»ÐµÐ¼, а ÑелÑе - неÑ): :: 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') # еÑли поле не пÑоÑÑое, нÑжно задаÑÑ Ð¸Ð¼Ñ Ð³ÐµÐ½ÐµÑаÑоÑа Finite Field in a of size 3^3 sage: Zp(5) 5-adic Ring with capped relative precision 20 sage: sqrt(3) in QQbar # алгебÑаиÑеÑкое замÑкакие QQ True