Saltar a contenido principal

Sección 18.5 Sage

Ya hemos visto algunos dominios de integridad y de factorización única en los dos capítulos precedentes. Además de lo que ya hemos visto, Sage se puede usar para algunos de los tópicos de este capítulo, pero la implementación es limitada. Algunas funciones se pueden usar con algunos anillos y no con otros, mientras otras funciones aún no son parte de Sage. Daremos algunos ejemplos, pero esto está lejos de ser exhaustivo.

Subsección 18.5.1 Cuerpo de Fracciones

Sage muchas veces es capaz de construir un cuerpo de fracciones, o de identificar un cierto cuerpo como un cuerpo de fracciones. Por ejemplo, el anillo de enteros y el cuerpo de los números racionales, están ambos implementados en Sage, y los enteros “saben” que los racionales forman su cuerpo de fracciones.

En los otros casos Sage construye un cuerpo de fracciones, en el espíritu del Lema 18.1.3. Luego es posible hacer cálculos básicos en el cuerpo construido.

Subsección 18.5.2 Subcuerpos Primos

El Corolario 18.1.7 dice que todo cuerpo de característica \(p\) tiene un subcuerpo isomorfo a \({\mathbb Z}_p\text{.}\) Para un cuerpo finito, la naturaleza exacta de este subcuerpo no es una sorpresa, y Sage nos permite extraerlo fácilmente.

Más en general, los cuerpos mencionados en las conclusiones del Corolario 18.1.6 y del Corolario 18.1.7 se conocen como el “subcuerpo primo” del anillo que los contiene. Acá un ejemplo en el caso de característica cero.

A grosso modo, todo cuerpo de característica cero contiene una copia de los números racionales (el cuerpo de fracciones de los enteros), lo que puede explicar el extenso soporte en Sage de los anillos y cuerpos que extienden a los enteros y los racionales.

Subsección 18.5.3 Dominios Integrales

Sage puede determinar si algunos anillos son dominios integrales y podemos comprobar productos en ellos. Pero, nociones de unidades, elementos irreducibles o primos no están implementadas en general (fuera de lo que vimos para polinomios en el capítulo anterior). Peor aún, la construcción que sigue crea un anillo dentro de un cuerpo mayor y por ello algunas de las funciones (como .is_unit()) se heredan y dan resultados engañosos. Esto debido a que la construcción de abajo crea un anillo conocido como un “orden en un cuerpo de números.”

Lo siguiente es un poco engañoso, pues \(4\text{,}\) como elemento de \({\mathbb Z}[\sqrt{3}i]\) no tiene inverso multiplicativo, pero aparentemente podemos calcular uno. (Nota de AB: ¿por qué les molesta acá y no en \({\mathbb Z}\text{?}\))

Subsección 18.5.4 Ideales Principales

Cuando un anillo es un dominio de ideales principales, como los enteros, o polinomios sobre un cuerpo, Sage funciona bien. Más allá de eso la cosa se debilita.