Important: to view this notebook properly you will need to execute the cell above, which assumes you have an Internet connection. It should already be selected, or place your cursor anywhere above to select. Then press the "Run" button in the menu bar above (the right-pointing arrowhead), or press Shift-Enter on your keyboard.
ParseError: KaTeX parse error: \newcommand{\lt} attempting to redefine \lt; use \renewcommand
Section18.5Sage
¶We have already seen some integral domains and unique factorizations in the previous two chapters. In addition to what we have already seen, Sage has support for some of the topics from this section, but the coverage is limited. Some functions will work for some rings and not others, while some functions are not yet part of Sage. So we will give some examples, but this is far from comprehensive.
SubsectionField of Fractions
Sage is frequently able to construct a field of fractions, or identify a certain field as the field of fractions. For example, the ring of integers and the field of rational numbers are both implemented in Sage, and the integers “know” that the rationals is it's field of fractions.
In other cases Sage will construct a fraction field, in the spirit of Lemma 18.3. So it is then possible to do basic calculations in the constructed field.
SubsectionPrime Subfields
Corollary 18.7 says every field of characteristic has a subfield isomorphic to For a finite field, the exact nature of this subfield is not a surprise, but Sage will allow us to extract it easily.
In a rough sense, every characteristic zero field contains a copy of the rational numbers (the fraction field of the integers), which can explain Sage's extensive support for rings and fields that extend the integers and the rationals.
SubsectionIntegral Domains
Sage can determine if some rings are integral domains and we can test products in them. However, notions of units, irreducibles or prime elements are not generally supported (outside of what we have seen for polynomials in the previous chapter). Worse, the construction below creates a ring within a larger field and so some functions (such as .is_unit()
) pass through and give misleading results. This is because the construction below creates a ring known as an “order in a number field.”
The following is a bit misleading, since as an element of does not have a multiplicative inverse, though seemingly we can compute one.
SubsectionPrincipal Ideals
When a ring is a principal ideal domain, such as the integers, or polynomials over a field, Sage works well. Beyond that, support begins to weaken.