Saltar a contenido principal

Sección 17.6 Sage

Sage es particularmente bueno para construir, analizar y manipular anillos de polinomios. Hemos visto algo de esto en el capítulo anterior. Comencemos creando tres anillos de polinomios y comprobemos algunas de sus propiedades básicas. Existen difierentes formas de construir anillos de polinomios, pero la sintaxis usada acá es la más directa.

Subsección 17.6.1 Anillos de Polinomios y sus Elementos

Las propiedades básicas de los anillos se pueden usar en estos ejemplos.

Con la construcción y la sintaxis de arriba, las variables se pueden usar para crear elementos del anillo de polinomios sin coercionarlos explícitamente (aunque tenemos que tener cuidado con los polinomios constantes).

Los polinomios pueden ser evaluados como si fueran funciones, de manera que podemos imitar el homomorfismo de evaluación.

Notemos que p es un polinomio de grado dos, sin embargo podemos verificar a fuerza-bruta que solo tiene una raíz, contrario a nuestra expectativa usual. Puede ser incluso más inusual.

Sage puede crear y manipular anillos de polinomios en más de una variable, pero no tendremos mayores oportunidades de analizar esa funcionalidad en este curso.

Subsección 17.6.2 Polinomios Irreducibles

Si un polinomio se factoriza o no, tomando en consideración el anillo usado para sus coeficientes, es una pregunta importante en este capítulo y en muchos de los que siguen. Sage es capaz de factorizar, y de determinar irreducibilidad, sobre los enteros, los racionales, y los cuerpos finitos.

Primero, sobre los racionales.

Factorizar sobre los enteros no es realmente diferente a hacerlo sobre los racionales. Esto es lo que nos dice el Teorema 17.3.4 — encontrar una factorización sobre los enteros puede ser convertido en encontrar una factorización sobre los racionales. Así es en Sage, hay poca diferencia entre trabajar sobre los racionales y sobre los enteros. Es un poco diferente cuando trabajamos sobre un cuerpo finito. Un comentario viene más adelante.

Para verificar estas factorizaciones, debemos calcular en el cuerpo finito, F, por lo que necesitamos saber como se comporta el símbolo a. Este símbolo corresponde a una raíz de un polinomio de grado 2 sobre los enteros mód 5, que podemos obtener con el método .modulus().

Así \(a^2+4a+2=0\text{,}\) o \(a^2=-4a-3=a+2\text{.}\) Así, al verificar las factorizaciones, cada vez que aparezca \(a^2\) lo podemos reemplazar por \(a+2\text{.}\) Notemos que por el Corolario 17.2.3 podríamos encontrar el factor lineal de r, y los cuatro factores lineales de s, mediante una búsqueda a la bruta de sus raíces. Esto es realizable dado que el cuerpo es finito.

Pero, q se factoriza en dos polinomios de grado 2, de manera que ninguna búsqueda de raíces nos permitirá descubrir estos factores.

Por el criterio de Eisenstein, podemos crear polinomios irreducibles, como en el Ejemplo 17.3.8.

Sobre el cuerpo \({\mathbb Z}_p\text{,}\) los polinomios de Conway son elecciones canónicas para un polinomio de grado \(n\) irreducible sobre \({\mathbb Z}_p\text{.}\) Vea los ejercicios para aprender más sobre estos polinomios.

Subsección 17.6.3 Polinomios sobre Cuerpos

Si \(F\) es un cuerpo, entonces todo ideal de \(F[x]\) es principal (Teorema 17.3.10). Nada nos impide darle a Sage dos (o más) generadores para construir un ideal, pero Sage determinará un elemento para usarlo en la descripción del ideal como ideal principal.

El Teorema 17.3.12 es el hecho clave que nos permite construir cuerpos finitos fácilmente. Acá hay una construcción de un cuerpo finito de orden \(7^5=16\,807\text{.}\) Todo lo que necesitamos es un polinomio de grado \(5\) que sea irreducible sobre \({\mathbb Z}_7\text{.}\)

El símbolo xbar es un generador del cuerpo, pero en este momento no es accesible. xbar es la clase \(x + \langle x^5+ x + 4\rangle\text{.}\) Una mejor construcción incluiría la especificación de este generador.