Rincón Matemático

Información General => Recursos y Enlaces a otras webs => Enlaces sugeridos => Mensaje iniciado por: alpertron en 28 Septiembre, 2020, 05:25 pm

Título: Calculadora de factorización y raíces exactas de polinomios
Publicado por: alpertron en 28 Septiembre, 2020, 05:25 pm
Gente:

En la página Web https://www.alpertron.com.ar/FACTPOL.HTM hice una calculadora que permite factorizar polinomios enteros (hasta grado 1000) utilizando el algoritmo de Van Hoeij, que es sumamente rápido. Hay que tener en cuenta que es posible que la factorización no termine por problemas de memoria si el grado del polinomio es muy elevado.

Además el programa puede factorizar polinomios módulo una potencia de un número primo.

En el caso de polinomios enteros, también muestra las raíces exactas del polinomio usando sumas, restas, multiplicación, división, raíces y funciones trigonométricas para los polinomios irreducibles de grado menor o igual que 5. Hay que tener en cuenta que la gran mayoría de las ecuaciones de grado 5 no se pueden representar mediante las operaciones indicadas. También muestra las raíces de polinomios ciclotómicos, que son aquéllos de la forma x^n-1 y sus divisores), y los polinomios de las formas ax^n + b y ax^(2n) + bx^n + c.

Como ejemplo, les muestro una de las raíces de x^51-1 halladas por la calculadora:

x44 = cos (80*pi/51) + i *sen(80*pi/51) = -(1/32)*(-1+17^(1/2)-(34-2*17^(1/2))^(1/2)+2*(17+3*17^(1/2)+(170+38*17^(1/2))^(1/2))^(1/2)) + (1/16)*(3)^(1/2)*(34-2*17^(1/2)-2*(34-2*17^(1/2))^(1/2)+4*(17+3*17^(1/2)-(170+38*17^(1/2))^(1/2))^(1/2))^(1/2)-(i/32)*(3)^(1/2)*(-1+17^(1/2)-(34-2*17^(1/2))^(1/2)+2*(17+3*17^(1/2)+(170+38*17^(1/2))^(1/2))^(1/2))-(i/16)*(34-2*17^(1/2)-2*(34-2*17^(1/2))^(1/2)+4*(17+3*17^(1/2)-(170+38*17^(1/2))^(1/2))^(1/2))^(1/2)

Por último, agregué soporte para lectores de pantalla, para que gente que no pueda ver el monitor escuche los resultados.

Por favor, avísenme si encuentran errores o si creen que falta algo.
Título: Re: Calculadora de factorización y raíces exactas de polinomios
Publicado por: mathtruco en 29 Septiembre, 2020, 07:48 pm
Hola alpertron, se ve bueno tu sitio, debe haber mucho trabajo ahí. Además noté que compartes el código que hay detrás en github, lo que me parece excelente.
Título: Re: Calculadora de factorización y raíces exactas de polinomios
Publicado por: geómetracat en 29 Septiembre, 2020, 08:51 pm
Está muy bien la calculadora, y parece que funciona bastante rápido.

Pero he encontrado un fallo: cuando introduces un polinomio que tiene factores repetidos, como \( x^2+2x+1 \) te dice que el polinomio es irreducible, cuando claramente no lo es.
Título: Re: Calculadora de factorización y raíces exactas de polinomios
Publicado por: alpertron en 29 Septiembre, 2020, 09:32 pm
Acabo de corregir el error. Refresca la página para asegurar que la fecha diga 29 de septiembre y prueba de nuevo.
Título: Re: Calculadora de factorización y raíces exactas de polinomios
Publicado por: geómetracat en 29 Septiembre, 2020, 10:08 pm
Acabo de corregir el error. Refresca la página para asegurar que la fecha diga 29 de septiembre y prueba de nuevo.

Ahora va perfecto, gracias.
Título: Re: Calculadora de factorización y raíces exactas de polinomios
Publicado por: alpertron en 05 Octubre, 2020, 12:21 am
Cuando el polinomio irreducible tiene grado >= 5, ahora mi código factoriza este polinomio módulo diferentes primos menores que 100.

Si las condiciones del paper de Keith Conrad, que se puede ver en https://kconrad.math.uconn.edu/blurbs/galoistheory/galoisSnAn.pdf , son verdaderas, entonces el grupo de Galois es \( A_n \) o \( S_n \), y en ese caso mi aplicación indica que las raíces del polinomio no se pueden expresar mediante radicales, mostrando también las condiciones que llevan a esa conclusión.

Un ejemplo de la nueva salida:

Polinomio ingresado
\( x^{183} + 332x^{73} − 1 \)

Factores irreducibles del polinomio
El polinomio es irreducible

Raíces
Las 183 raíces son:
x1 a x183 : Las raíces del polinomio no se pueden expresar mediante expresiones radicales. Los grados de los factores del polinomio módulo 37 son 1, 3, 8, 10, 11, 28 y 122 (el grupo de Galois contiene un ciclo de longitud 3) y los grados de los factores del polinomio módulo 7 son 1, 2, 4, 13 y 163 (el grupo de Galois contiene un ciclo de longitud primo mayor que la mitad del grado del polinomio)
Título: Re: Calculadora de factorización y raíces exactas de polinomios
Publicado por: alpertron en 14 Diciembre, 2020, 03:51 am
Acabo de agregar salida TeX a esta calculadora. De esta manera se pueden copiar los factores o las raíces directamente al foro. Solo hay que seleccionar salida TeX antes de apretar el botón de factorizar.

Por ejemplo, las raíces del polinomio \( x^{17}-1 \) son:

\(
\begin{array}{l}
\bullet\,\,x_{1} = 1\\
\bullet\,\,x_{2} = \cos{ \frac{2\pi }{17}} + i \sin{\frac{2\pi }{17}} = \frac{1}{16}\left(-1+\sqrt{17}+\sqrt{34-2\sqrt{17}}+2\sqrt{17+3\sqrt{17}-\sqrt{170+38\sqrt{17}}}\right) + \frac{i}{8}\sqrt{34-2\sqrt{17}+2\sqrt{34-2\sqrt{17}}-4\sqrt{17+3\sqrt{17}+\sqrt{170+38\sqrt{17}}}}\\
\bullet\,\,x_{3} = \cos{ \frac{4\pi }{17}} + i \sin{\frac{4\pi }{17}} = \frac{1}{16}\left(-1+\sqrt{17}-\sqrt{34-2\sqrt{17}}+2\sqrt{17+3\sqrt{17}+\sqrt{170+38\sqrt{17}}}\right) + \frac{i}{8}\sqrt{34-2\sqrt{17}-2\sqrt{34-2\sqrt{17}}+4\sqrt{17+3\sqrt{17}-\sqrt{170+38\sqrt{17}}}}\\
\bullet\,\,x_{4} = \cos{ \frac{6\pi }{17}} + i \sin{\frac{6\pi }{17}} = \frac{1}{16}\left(-1-\sqrt{17}+\sqrt{34+2\sqrt{17}}+2\sqrt{17-3\sqrt{17}+\sqrt{170-38\sqrt{17}}}\right) + \frac{i}{8}\sqrt{34+2\sqrt{17}+2\sqrt{34+2\sqrt{17}}-4\sqrt{17-3\sqrt{17}-\sqrt{170-38\sqrt{17}}}}\\
\bullet\,\,x_{5} = \cos{ \frac{8\pi }{17}} + i \sin{\frac{8\pi }{17}} = \frac{1}{16}\left(-1+\sqrt{17}+\sqrt{34-2\sqrt{17}}-2\sqrt{17+3\sqrt{17}-\sqrt{170+38\sqrt{17}}}\right) + \frac{i}{8}\sqrt{34-2\sqrt{17}+2\sqrt{34-2\sqrt{17}}+4\sqrt{17+3\sqrt{17}+\sqrt{170+38\sqrt{17}}}}\\
\bullet\,\,x_{6} = \cos{ \frac{10\pi }{17}} + i \sin{\frac{10\pi }{17}} = -\frac{1}{16}\left(1+\sqrt{17}-\sqrt{34+2\sqrt{17}}+2\sqrt{17-3\sqrt{17}+\sqrt{170-38\sqrt{17}}}\right) + \frac{i}{8}\sqrt{34+2\sqrt{17}+2\sqrt{34+2\sqrt{17}}+4\sqrt{17-3\sqrt{17}-\sqrt{170-38\sqrt{17}}}}\\
\bullet\,\,x_{7} = \cos{ \frac{12\pi }{17}} + i \sin{\frac{12\pi }{17}} = -\frac{1}{16}\left(1+\sqrt{17}+\sqrt{34+2\sqrt{17}}-2\sqrt{17-3\sqrt{17}-\sqrt{170-38\sqrt{17}}}\right) + \frac{i}{8}\sqrt{34+2\sqrt{17}-2\sqrt{34+2\sqrt{17}}+4\sqrt{17-3\sqrt{17}+\sqrt{170-38\sqrt{17}}}}\\
\bullet\,\,x_{8} = \cos{ \frac{14\pi }{17}} + i \sin{\frac{14\pi }{17}} = -\frac{1}{16}\left(1+\sqrt{17}+\sqrt{34+2\sqrt{17}}+2\sqrt{17-3\sqrt{17}-\sqrt{170-38\sqrt{17}}}\right) + \frac{i}{8}\sqrt{34+2\sqrt{17}-2\sqrt{34+2\sqrt{17}}-4\sqrt{17-3\sqrt{17}+\sqrt{170-38\sqrt{17}}}}\\
\bullet\,\,x_{9} = \cos{ \frac{16\pi }{17}} + i \sin{\frac{16\pi }{17}} = -\frac{1}{16}\left(1-\sqrt{17}+\sqrt{34-2\sqrt{17}}+2\sqrt{17+3\sqrt{17}+\sqrt{170+38\sqrt{17}}}\right) + \frac{i}{8}\sqrt{34-2\sqrt{17}-2\sqrt{34-2\sqrt{17}}-4\sqrt{17+3\sqrt{17}-\sqrt{170+38\sqrt{17}}}}\\
\bullet\,\,x_{10} = \cos{ \frac{18\pi }{17}} + i \sin{\frac{18\pi }{17}} = -\frac{1}{16}\left(1-\sqrt{17}+\sqrt{34-2\sqrt{17}}+2\sqrt{17+3\sqrt{17}+\sqrt{170+38\sqrt{17}}}\right)-\frac{i}{8}\sqrt{34-2\sqrt{17}-2\sqrt{34-2\sqrt{17}}-4\sqrt{17+3\sqrt{17}-\sqrt{170+38\sqrt{17}}}}\\
\bullet\,\,x_{11} = \cos{ \frac{20\pi }{17}} + i \sin{\frac{20\pi }{17}} = -\frac{1}{16}\left(1+\sqrt{17}+\sqrt{34+2\sqrt{17}}+2\sqrt{17-3\sqrt{17}-\sqrt{170-38\sqrt{17}}}\right)-\frac{i}{8}\sqrt{34+2\sqrt{17}-2\sqrt{34+2\sqrt{17}}-4\sqrt{17-3\sqrt{17}+\sqrt{170-38\sqrt{17}}}}\\
\bullet\,\,x_{12} = \cos{ \frac{22\pi }{17}} + i \sin{\frac{22\pi }{17}} = -\frac{1}{16}\left(1+\sqrt{17}+\sqrt{34+2\sqrt{17}}-2\sqrt{17-3\sqrt{17}-\sqrt{170-38\sqrt{17}}}\right)-\frac{i}{8}\sqrt{34+2\sqrt{17}-2\sqrt{34+2\sqrt{17}}+4\sqrt{17-3\sqrt{17}+\sqrt{170-38\sqrt{17}}}}\\
\bullet\,\,x_{13} = \cos{ \frac{24\pi }{17}} + i \sin{\frac{24\pi }{17}} = -\frac{1}{16}\left(1+\sqrt{17}-\sqrt{34+2\sqrt{17}}+2\sqrt{17-3\sqrt{17}+\sqrt{170-38\sqrt{17}}}\right)-\frac{i}{8}\sqrt{34+2\sqrt{17}+2\sqrt{34+2\sqrt{17}}+4\sqrt{17-3\sqrt{17}-\sqrt{170-38\sqrt{17}}}}\\
\bullet\,\,x_{14} = \cos{ \frac{26\pi }{17}} + i \sin{\frac{26\pi }{17}} = \frac{1}{16}\left(-1+\sqrt{17}+\sqrt{34-2\sqrt{17}}-2\sqrt{17+3\sqrt{17}-\sqrt{170+38\sqrt{17}}}\right)-\frac{i}{8}\sqrt{34-2\sqrt{17}+2\sqrt{34-2\sqrt{17}}+4\sqrt{17+3\sqrt{17}+\sqrt{170+38\sqrt{17}}}}\\
\bullet\,\,x_{15} = \cos{ \frac{28\pi }{17}} + i \sin{\frac{28\pi }{17}} = \frac{1}{16}\left(-1-\sqrt{17}+\sqrt{34+2\sqrt{17}}+2\sqrt{17-3\sqrt{17}+\sqrt{170-38\sqrt{17}}}\right)-\frac{i}{8}\sqrt{34+2\sqrt{17}+2\sqrt{34+2\sqrt{17}}-4\sqrt{17-3\sqrt{17}-\sqrt{170-38\sqrt{17}}}}\\
\bullet\,\,x_{16} = \cos{ \frac{30\pi }{17}} + i \sin{\frac{30\pi }{17}} = \frac{1}{16}\left(-1+\sqrt{17}-\sqrt{34-2\sqrt{17}}+2\sqrt{17+3\sqrt{17}+\sqrt{170+38\sqrt{17}}}\right)-\frac{i}{8}\sqrt{34-2\sqrt{17}-2\sqrt{34-2\sqrt{17}}+4\sqrt{17+3\sqrt{17}-\sqrt{170+38\sqrt{17}}}}\\
\bullet\,\,x_{17} = \cos{ \frac{32\pi }{17}} + i \sin{\frac{32\pi }{17}} = \frac{1}{16}\left(-1+\sqrt{17}+\sqrt{34-2\sqrt{17}}+2\sqrt{17+3\sqrt{17}-\sqrt{170+38\sqrt{17}}}\right)-\frac{i}{8}\sqrt{34-2\sqrt{17}+2\sqrt{34-2\sqrt{17}}-4\sqrt{17+3\sqrt{17}+\sqrt{170+38\sqrt{17}}}}\\
\end{array}
 \)
Título: Re: Calculadora de factorización y raíces exactas de polinomios
Publicado por: mathtruco en 14 Diciembre, 2020, 04:57 am
Se ve excelente, sólo por cuirioso, ¿Podrías describirnos un poco la tecnología que hay detrás del sitio? A menos, claro, que prefieras guardarlo como secreto.
Título: Re: Calculadora de factorización y raíces exactas de polinomios
Publicado por: alpertron en 14 Diciembre, 2020, 03:49 pm
El programa está escrito en C, y uso la plataforma Emscripten para generar WebAssembly y Javascript. Esto último es para navegadores viejos como IE11 que no soportan WebAssembly.

La mayor parte de los algoritmos que uso en el programa se encuentra en la ayuda que se ve apretando el botón con ese nombre.
Título: Re: Calculadora de factorización y raíces exactas de polinomios
Publicado por: mathtruco en 17 Diciembre, 2020, 08:23 pm
El programa está escrito en C, y uso la plataforma Emscripten para generar WebAssembly y Javascript. Esto último es para navegadores viejos como IE11 que no soportan WebAssembly.

La mayor parte de los algoritmos que uso en el programa se encuentra en la ayuda que se ve apretando el botón con ese nombre.

Gracias por la información.

¿No has pensado unirte a algún grupo de desarrollo de software libre? Por ejemplo, Maxima (http://maxima.sourceforge.net/faq.html) está muy relacionado con el proyecto que haces, pero hasta donde sé sin versión web. Puede ser una gran idea presentarte ahí con tu trabajo. Quizás hacer el desarrollo web de ese software, podría ser algo tremendo. Estoy pensado en lo ocurrido con geogebra (https://www.geogebra.org/?lang=pt), que inicialmente era un software que se instalaba en el pc, y ahora tiene un sitio web con todo disponible online.

Por si acaso, yo no tengo nada que ver con ese proyecto, pero soy sólo un fan del sofware libre.
Título: Re: Calculadora de factorización y raíces exactas de polinomios
Publicado por: Masacroso en 17 Diciembre, 2020, 08:48 pm
Se ve excelente el sitio alpertron, muy bien documentado que es algo que me parece esencial en cualquier programa. También, como mathtruco, soy fan del software libre o de licencias semilibres, se agradece que publiques el código en github.
Título: Re: Calculadora de factorización y raíces exactas de polinomios
Publicado por: alpertron en 02 Junio, 2022, 08:18 pm
Acabo de subir al servidor Web la nueva versión de la calculadora que factoriza y halla raíces exactas de polinomios (https://www.alpertron.com.ar/POLFACT.HTM (https://www.alpertron.com.ar/POLFACT.HTM)).

Ahora se pueden ver las raíces exactas cuando la ecuación de quinto grado tiene 5 raíces reales y se puede resolver mediante radicales. Para no trabajar con números complejos se deben usar funciones trigonométricas (como ocurre con algunas ecuaciones de tercer grado).

Ejemplo:

\( x^{5} - x^{4} - 4x^{3} + 3x^{2} + 3x - 1\, =\, 0 \)

\( \begin{array}{l}
\bullet\,\,x_{1} = \frac{1}{5} + \frac{2}{5}\sqrt{11}\left(\cos{\left(\frac{1}{5}\arccos\left(\frac{89}{484}\sqrt{11} + \frac{25}{484}\sqrt{55}\right)\right)} + \cos{\left(\frac{1}{5}\left(4\pi + \arccos\left(\frac{89}{484}\sqrt{11} - \frac{25}{484}\sqrt{55}\right)\right)\right)}\right)\\
\bullet\,\,x_{2} = \frac{1}{5} + \frac{2}{5}\sqrt{11}\left(\cos{\left(\frac{1}{5}\left(2\pi + \arccos\left(\frac{89}{484}\sqrt{11} + \frac{25}{484}\sqrt{55}\right)\right)\right)} + \cos{\left(\frac{1}{5}\left(8\pi + \arccos\left(\frac{89}{484}\sqrt{11} - \frac{25}{484}\sqrt{55}\right)\right)\right)}\right)\\
\bullet\,\,x_{3} = \frac{1}{5} + \frac{2}{5}\sqrt{11}\left(\cos{\left(\frac{1}{5}\left(4\pi + \arccos\left(\frac{89}{484}\sqrt{11} + \frac{25}{484}\sqrt{55}\right)\right)\right)} + \cos{\left(\frac{1}{5}\left(2\pi + \arccos\left(\frac{89}{484}\sqrt{11} - \frac{25}{484}\sqrt{55}\right)\right)\right)}\right)\\
\bullet\,\,x_{4} = \frac{1}{5} + \frac{2}{5}\sqrt{11}\left(\cos{\left(\frac{1}{5}\left(6\pi + \arccos\left(\frac{89}{484}\sqrt{11} + \frac{25}{484}\sqrt{55}\right)\right)\right)} + \cos{\left(\frac{1}{5}\left(6\pi + \arccos\left(\frac{89}{484}\sqrt{11} - \frac{25}{484}\sqrt{55}\right)\right)\right)}\right)\\
\bullet\,\,x_{5} = \frac{1}{5} + \frac{2}{5}\sqrt{11}\left(\cos{\left(\frac{1}{5}\left(8\pi + \arccos\left(\frac{89}{484}\sqrt{11} + \frac{25}{484}\sqrt{55}\right)\right)\right)} + \cos{\left(\frac{1}{5}\arccos\left(\frac{89}{484}\sqrt{11} - \frac{25}{484}\sqrt{55}\right)\right)}\right)\\
\end{array} \)

Por favor avisen si encuentran errores. Puede ser que alguno se haya escondido entre los cientos de nuevas líneas de código que tuve que escribir.