Añadido el algoritmo de Buchberger.

This commit is contained in:
Sixto 2025-05-26 22:53:59 +02:00
parent 6d36dd168c
commit 9007b2828b
2 changed files with 36 additions and 3 deletions

Binary file not shown.

View File

@ -150,6 +150,8 @@ urlcolor=black]{hyperref}
\newcommand{\syz}[1]{\ensuremath{\mathrm{syz}\left(#1\right)}}
\DeclareMathOperator{\grado}{grado}
\newcommand{\spoly}[2]{\ensuremath{\mathrm{S}\!\left( #1, #2 \right)}}
\newcommand{\derivaciones}[1]{\ensuremath{\text{Der}\!\left( #1 \right)}}
\begin{document}
@ -539,9 +541,9 @@ urlcolor=black]{hyperref}
Cuando obtenemos el resto de $f$ dividido por $g$ lo que esencialmente buscamos es un representante $r$ <<canónico>> de la clase de equivalencia de $f$ en \cociente{\Kx^r}{\engendrado{g}}. En este caso, entendemos canónico como que no tenga ningún término divisible por $\LT{g}$, es decir, que sea <<irreducible>>. Entendida así, la noción de <<dividir>> puede extenderse a submódulos de $\Kx^r$ en general. Es decir, dado cualquier \submodulo{\Kx} $N$ de $\Kx^r$, podemos <<dividir>> $f$ por $N$ encontrando el representante <<canónico>> de la clase de $f$ en \cociente{\Kx^r}{N}. En este caso, nuestra idea de canónico será que no haya ningún elemento $g$ en $N$ de forma que $\LT{g}$ sea uno de los términos de este representante. Para formalizar esta idea de división más general, necesitamos de algunos resultados previos.
\begin{definicion}
Sea $N$ un \submodulo{\Kx} de $\Kx^r$ con un orden monomial de módulos $>$. El \submodulo{\Kx} de los monomios líderes de $N$ lo denotaremos por
Sea $G$ un subconjunto de $\Kx^r$ con un orden monomial de módulos $>$. El \submodulo{\Kx} de los monomios líderes de $G$ lo denotaremos por
\begin{equation*}
\LM{N} := \definicionconjunto{\LM{g}}{g \in N}.
\LM{N} := \engendrado{\LM{g} \vert g \in N}.
\end{equation*}
\end{definicion}
@ -572,7 +574,10 @@ urlcolor=black]{hyperref}
\end{definicion}
En este caso, procedemos como en el algoritmo \ref{Algoritmo de la División Simple} pero, en vez de intentar reducir en cada paso por un solo divisor, buscamos si alguno de todos ellos nos sirve para anular \LM{D} y, en caso de que sí, lo utilizamos para reducir. Nótese que puede haber varios, en cuyo caso, puede elegirse el que se prefiera.
Pudiera parecer que ya hemos solucionado el problema que planteábamos al principio del capítulo puesto que ya tenemos un algoritmo de la división y además sabemos que todos los submódulos de $\Kx^n$ son finitamente generados. Sin embargo, todavía podemos encontrarnos con casos como el siguiente: supongamos que $N := \engendrado{x\euno + y\edos, y\euno + x\edos}$ es un \submodulo{\anillodepolinomios{\reales}{x,y}} de $\anillodepolinomios{\reales}{x, y}^2$ y queremos saber si $f := x^2\edos - y^2\edos$ pertenece a $N$. Al aplicar el algoritmo de la división siguiendo el orden \mayorqueposlex{} de \ref{Algoritmo de la División Compuesta} nos encontramos que ninguno de los dos generadores de $N$ puede reducir a $f$, por lo tanto el resto es el propio $f$. Como el resto es distinto de $0$, estaríamos tentados a decir que $f$ no pertenece a $N$, pero démonos cuenta de que $f = -y\left( x\euno + y\edos \right) + x\left( y\euno + x\edos \right)$ y, por ende, sí que pertenece.
Pudiera parecer que ya hemos solucionado el problema que planteábamos al principio del capítulo puesto que ya tenemos un algoritmo de la división y además sabemos que todos los submódulos de $\Kx^n$ son finitamente generados. Sin embargo, todavía podemos encontrarnos con casos como el siguiente:
\begin{ejemplo} \label{Ejemplo Fallo División}
Supongamos que $N := \engendrado{x\euno + y\edos, y\euno + x\edos}$ es un \submodulo{\anillodepolinomios{\reales}{x,y}} de $\anillodepolinomios{\reales}{x, y}^2$ y queremos saber si $f := x^2\edos - y^2\edos$ pertenece a $N$. Al aplicar el algoritmo de la división siguiendo el orden \mayorqueposlex{} de \ref{Algoritmo de la División Compuesta} nos encontramos que ninguno de los dos generadores de $N$ puede reducir a $f$, por lo tanto el resto es el propio $f$. Como el resto es distinto de $0$, estaríamos tentados a decir que $f$ no pertenece a $N$, pero démonos cuenta de que $f = -y\left( x\euno + y\edos \right) + x\left( y\euno + x\edos \right)$ y, por ende, sí que pertenece.
\end{ejemplo}
¿Qué es lo que ocurre aquí? Si nos fijamos, en la operación $f = -y\left( x\euno + y\edos \right) + x\left( y\euno + x\edos \right)$, los términos líderes de sendos generadores ---$x\euno$ e $y\euno$--- se anulan, por lo que el término líder de esta combinación es menor que los términos líderes de los generadores. En general, esto lo que nos muestra es que $\LM{N}$ no tiene que ser igual a $\engendrado{\LM{x\euno + y\edos}, \LM{y\euno + x\edos}}$. Esto supone un duro golpe para nuestros algoritmos de la división, ya que cuando para un \submodulo{\Kx} $N = \engendrado{g_1, \dots, g_k}$ tengamos que $\LM{N} \neq \engendrado{\LM{g_1}, \dots, \LM{g_k}}$, aunque el resto sea distinto de $0$, no podremos garantizar que el elemento esté fuera de $N$. Por supuesto, si el resto es $0$ sí que podemos garantizar que sí está.
@ -615,7 +620,35 @@ urlcolor=black]{hyperref}
Con todo esto, ya tenemos una solución al problema de la pertenencia de un elemento a un submódulo: obtener la base de Gröbner del submódulo y dividir por ella para ver si el resto es nulo o no. Sin embargo, no tenemos garantías de que existan bases de Gröbner para todos los submódulos y, en caso de que sí las haya, tampoco sabemos cómo calcularlas.
Recordemos el problema que nos habíamos encontrado en \ref{Ejemplo Fallo División}. En este ejemplo, había monomios líderes ocultos en los términos de los generadores. Para desenmascararlos, lo que haremos será lo que vimos en ese ejemplo: anular los términos libres para forzar a que estos aparezcan. Para eso, dados $f = x^\mathbf{\alpha}\vectorbasecanonica{i}$ y $g = x^\mathbf{\alpha}\vectorbasecanonica{j}$ elementos de $\Kx^r$ y $a$ y $b$ elementos de \Kx{} de forma que $a\LM{f} = b\LM{g} = \mathrm{mcm}\left(\LM{f}, \LM{g}\right)$\footnote{Aquí podría haber un pequeño malentendido con la noción de mínimo común múltiplo: por ejemplo, ¿cuál es el mínimo común múltiplo de $xy^2$ y $x^2y$ en \anillodepolinomios{\reales}{x, y}? Lo natural sería decir $x^2y^2$, que es nuestra convención, pero también sería válido decir $3x^2y^2$ ya que ambos tienen el mismo orden monomial. Ambos serían válidos, pero siempre nos referiremos a aquel que no está multiplicado por constante.}, definimos la siguiente expresión:
\begin{equation*}
\spoly{f}{g} = \begin{cases}
\frac{a}{\LC{f}}f - \frac{b}{\LC{g}}g \ \text{si $i = j$;} \\
0 \ \text{si $i \neq j$.}
\end{cases}
\end{equation*}
\begin{ejemplo}
Sean $f = 3x^2y\euno + 2x\edos$ y $g = 13x\euno + y^5\edos$ elementos de $\anillodepolinomios{\reales}{x, y}^2$ con el orden \mayorquelexpos. Como $\LM{f} = x^2y\euno$ y $\LM{g} = x\euno$ están en la misma componente ---\euno---, y $\mathrm{mcm}\left(\LM{f}, \LM{g}\right) = x^2y = \LM{f} = xy\LM{g}$, tenemos que
\begin{equation*}
\spoly{f}{g} = \frac{1}{3}\left( 3x^2y\euno + 2x\edos \right) + \frac{xy}{13} \left( 13x\euno + y^5\edos \right) = \frac{2}{3}x\edos + \frac{1}{13}xy^6\edos.
\end{equation*}
Nótese que esto desvela a $x\edos$ como un monomio líder en $\LM{\engendrado{f, g}}$.
\end{ejemplo}
En esencia, lo que buscaremos hacer es evaluar las parejas de polinomios en el conjunto generador a través de esta expresión, si nos descubren un monomio líder nuevo, lo incorporamos a la base y, si no, seguimos.
\begin{definicion}
Sea $G := \left\lbrace g_1, \dots, g_k \right\rbrace$ y $N := \engendrado{G}$. El algoritmo que utilizaremos para obtener una base de Gröbner para $N$, llamado el Algoritmo de Buchberger, se define como sigue:
\begin{algorithmic}[1]
\State Definimos $d_i \gets g_i$ para $i \in \left\lbrace 1, \dots, k \right\rbrace$ y $t \gets k$.
\While{hayan $i$ y $j$ en $\left\lbrace 1, \dots, t \right\rbrace$ de forma que el resto de $\spoly{g_i}{g_i}$ entre $d_1, \dots, d_t$ no sea $0$}
\State Sean $i$ y $j$ una de esas posibles parejas.
\State Sea $r$ el resto de dividir \spoly{g_i}{g_j} entre $d_1, \dots, d_t$.
\State $d_{t+1} \gets r$
\State $t \gets t+1$
\EndWhile
\end{algorithmic}
Al final del algoritmo, $\left\lbrace d_1, \dots, d_t \right\rbrace$ forma una base de Gröbner de $N$.
\end{definicion}
\section{Syzygias}
\chapter{El Criterio de Saito}