En computación simbólica , el algoritmo de Risch es un método de integración indefinida que se utiliza en algunos sistemas de álgebra computacional para hallar antiderivadas . Recibe su nombre en honor al matemático estadounidense Robert Henry Risch , especialista en álgebra computacional que lo desarrolló en 1968.
El algoritmo transforma el problema de integración en un problema de álgebra . Se basa en la forma de la función que se está integrando y en métodos para integrar funciones racionales , radicales , logaritmos y funciones exponenciales . Risch lo llamó procedimiento de decisión , porque es un método para decidir si una función tiene una función elemental como integral indefinida y, si la tiene, para determinar esa integral indefinida. Sin embargo, el algoritmo no siempre logra identificar si la antiderivada de una función dada puede o no expresarse en términos de funciones elementales. [ ejemplo necesario ]
La descripción completa del algoritmo de Risch ocupa más de 100 páginas. [1] El algoritmo de Risch-Norman es una variante más simple, más rápida, pero menos potente, que fue desarrollada en 1976 por Arthur Norman .
Brian L. Miller ha logrado avances significativos en el cálculo de la parte logarítmica de una integral trascendental-algebraica mixta. [2]
Descripción
El algoritmo de Risch se utiliza para integrar funciones elementales . Se trata de funciones obtenidas mediante la composición de exponenciales, logaritmos, radicales, funciones trigonométricas y las cuatro operaciones aritméticas ( + − × ÷ ). Laplace resolvió este problema para el caso de funciones racionales , ya que demostró que la integral indefinida de una función racional es una función racional y un número finito de múltiplos constantes de logaritmos de funciones racionales [ cita requerida ] . El algoritmo sugerido por Laplace suele describirse en los libros de texto de cálculo; como programa informático, finalmente se implementó en la década de 1960. [ cita requerida ]
Liouville formuló el problema que se resuelve mediante el algoritmo de Risch. Liouville demostró por medios analíticos que si hay una solución elemental g para la ecuación g ′ = f entonces existen constantes α i y funciones u i y v en el campo generado por f tales que la solución es de la forma
Risch desarrolló un método que permite considerar sólo un conjunto finito de funciones de la forma de Liouville.
La intuición del algoritmo de Risch proviene del comportamiento de las funciones exponencial y logarítmica bajo diferenciación. Para la función f e g , donde f y g son funciones diferenciables , tenemos
Por lo tanto, si e g estuviera en el resultado de una integración indefinida, se debería esperar que estuviera dentro de la integral. Además, como
entonces, si (ln g ) n estuviera en el resultado de una integración, entonces sólo se deberían esperar unas pocas potencias del logaritmo.
Ejemplos de problemas
Encontrar una antiderivada elemental es muy sensible a los detalles. Por ejemplo, la siguiente función algebraica (publicada en sci.math.symbolic por Henri Cohen en 1993 [3] ) tiene una antiderivada elemental, como lo demuestra Wolfram Mathematica desde la versión 13 (sin embargo, Mathematica no utiliza el algoritmo de Risch para calcular esta integral): [4] [5]
a saber:
Pero si el término constante 71 se cambia a 72, no es posible representar la antiderivada en términos de funciones elementales, [6] como también muestra FriCAS . Algunos sistemas de álgebra computacional pueden devolver aquí una antiderivada en términos de funciones no elementales (es decir, integrales elípticas ), que están fuera del alcance del algoritmo de Risch. Por ejemplo, Mathematica devuelve un resultado con las funciones EllipticPi y EllipticF. Esta integral fue resuelta por Chebyshev (y en qué casos es elemental), [7] pero la prueba estricta para ella fue realizada finalmente por Zolotarev . [6]
El siguiente es un ejemplo más complejo que involucra funciones tanto algebraicas como trascendentales : [8]
De hecho, la antiderivada de esta función tiene una forma bastante corta que se puede encontrar usando sustitución ( Sympy puede resolverla mientras que FriCAS falla con el error "implementación incompleta (residuos constantes)" en el algoritmo de Risch):
Algunos "teoremas" de Davenport [ se necesita una definición ] todavía se están aclarando. Por ejemplo, en 2020 se encontró un contraejemplo de un "teorema" de este tipo, en el que resulta que, después de todo, existe una antiderivada elemental. [9]
Implementación
Transformar el algoritmo teórico de Risch en un algoritmo que pueda ser ejecutado efectivamente por una computadora fue una tarea compleja que llevó mucho tiempo.
El caso de las funciones puramente trascendentales (que no involucran raíces de polinomios) es relativamente fácil y se implementó tempranamente en la mayoría de los sistemas de álgebra computacional . La primera implementación fue realizada por Joel Moses en Macsyma poco después de la publicación del artículo de Risch. [10]
El caso de funciones puramente algebraicas fue resuelto e implementado en Reduce por James H. Davenport , aunque por simplicidad sólo podía tratar con raíces cuadradas y raíces cuadradas repetidas y no con radicales generales u otras relaciones algebraicas no cuadráticas entre variables. [11]
El caso general fue resuelto y casi completamente implementado en Scratchpad, un precursor de Axiom , por Manuel Bronstein, y ahora se está desarrollando en la bifurcación de Axiom, FriCAS. [12] Sin embargo, la implementación no incluyó algunas de las ramas para casos especiales por completo. [13] Actualmente, no se conoce una implementación completa del algoritmo Risch. [14]
Decidibilidad
El algoritmo de Risch aplicado a funciones elementales generales no es un algoritmo sino un semialgoritmo porque necesita comprobar, como parte de su funcionamiento, si ciertas expresiones son equivalentes a cero ( problema de constantes ), en particular en el cuerpo constante. Para expresiones que involucran sólo funciones comúnmente consideradas como elementales no se sabe si existe o no un algoritmo que realice tal comprobación ( los sistemas actuales de álgebra computacional utilizan heurísticas); además, si se añade la función de valor absoluto a la lista de funciones elementales, se sabe que no existe tal algoritmo; véase el teorema de Richardson .
Obsérvese que este problema también surge en el algoritmo de división de polinomios ; este algoritmo fallará si no puede determinar correctamente si los coeficientes se desvanecen de forma idéntica. [15] Prácticamente todos los algoritmos no triviales relacionados con polinomios utilizan el algoritmo de división de polinomios, incluido el algoritmo de Risch. Si el campo constante es computable , es decir, para elementos que no dependen de x , el problema de equivalencia cero es decidible, entonces el algoritmo de Risch es un algoritmo completo. Ejemplos de campos constantes computables son Q y Q ( y ) , es decir, números racionales y funciones racionales en y con coeficientes de números racionales, respectivamente, donde y es un indeterminado que no depende de x .
Este también es un problema en el algoritmo de eliminación de matriz gaussiana (o cualquier algoritmo que pueda calcular el espacio nulo de una matriz), que también es necesario para muchas partes del algoritmo de Risch. La eliminación gaussiana producirá resultados incorrectos si no puede determinar correctamente si un pivote es idénticamente cero [ cita requerida ] .
Véase también
- Axioma (sistema de álgebra computacional)
- Expresión de forma cerrada
- Función gamma incompleta
- Listas de integrales
- Teorema de Liouville (álgebra diferencial)
- Integral no elemental
- Integración simbólica
Notas
- ^ Geddes, Czapor y Labahn 1992.
- ^ Miller, Brian L. (mayo de 2012). «Sobre la integración de funciones elementales: cálculo de la parte logarítmica» . Consultado el 10 de diciembre de 2023 .
- ^ Cohen, Henri (21 de diciembre de 1993). "Un regalo de Navidad para tu CAS favorito".
- ^ "Nube de Wolfram". Nube de Wolfram . Consultado el 11 de diciembre de 2021 .
- ^ Este ejemplo fue publicado por Manuel Bronstein en el foro de Usenet comp.soft-sys.math.maple el 24 de noviembre de 2000.[1]
- ^ ab Zolotareff, G. (1 de diciembre de 1872). "Sobre el método de integración de M. Tchébychef". Mathematische Annalen (en francés). 5 (4): 560–580. doi :10.1007/BF01442910. ISSN 1432-1807. S2CID 123629827.
- ^ Chebyshev, PL (1899–1907). Oeuvres de PL Tchebychef (en francés). Universidad de California, Berkeley. San Petersburgo, Commissionaires de l'Academie imperiale des sciences.
- ^ Bronstein 1998.
- ^ Masser, David; Zannier, Umberto (diciembre de 2020). "Puntos de torsión, ecuación de Pell e integración en términos elementales". Acta Mathematica . 225 (2): 227–312. doi : 10.4310/ACTA.2020.v225.n2.a2 . hdl : 11384/110046 . ISSN 1871-2509. S2CID 221405883.
- ^ Moisés 2012.
- ^ Davenport 1981.
- ^ Bronstein 1990.
- ^ Bronstein, Manuel (5 de septiembre de 2003). "Manuel Bronstein sobre las capacidades de integración de Axiom". groups.google.com . Consultado el 10 de febrero de 2023 .
- ^ "integración - ¿Existe una implementación completa del algoritmo de Risch?". MathOverflow . 15 de octubre de 2020 . Consultado el 10 de febrero de 2023 .
- ^ "Documentación de Mathematica 7: PolynomialQuotient". Sección: Posibles problemas . Consultado el 17 de julio de 2010 .
Referencias
- Bronstein, Manuel (1990). "Integración de funciones elementales". Journal of Symbolic Computation . 9 (2): 117–173. doi :10.1016/s0747-7171(08)80027-2.
- Bronstein, Manuel (1998). "Tutorial de integración simbólica" (PDF) . ISSAC'98, Rostock (agosto de 1998) y Taller de álgebra diferencial, Rutgers .
- Bronstein, Manuel (2005). Integración simbólica I. Springer. ISBN 3-540-21493-3.
- Davenport, James H. (1981). Sobre la integración de funciones algebraicas . Apuntes de clase en informática . Vol. 102. Springer. ISBN 978-3-540-10290-8.
- Geddes, Keith O. ; Czapor, Stephen R.; Labahn, George (1992). Algoritmos para álgebra computacional. Boston, MA: Kluwer Academic Publishers. pp. xxii+585. Bibcode :1992afca.book.....G. doi :10.1007/b102438. ISBN 0-7923-9259-0.
- Moses, Joel (2012). "Macsyma: una historia personal". Revista de computación simbólica . 47 (2): 123–130. doi :10.1016/j.jsc.2010.08.018.
- Risch, RH (1969). "El problema de la integración en términos finitos". Transactions of the American Mathematical Society . 139 . American Mathematical Society: 167–189. doi : 10.2307/1995313 . JSTOR 1995313.
- Risch, RH (1970). "La solución del problema de la integración en términos finitos". Boletín de la Sociedad Matemática Americana . 76 (3): 605–608. doi : 10.1090/S0002-9904-1970-12454-5 .
- Rosenlicht, Maxwell (1972). "Integración en términos finitos". American Mathematical Monthly . 79 (9). Asociación Matemática de América: 963–972. doi :10.2307/2318066. JSTOR 2318066.
Enlaces externos
- Bhatt, Bhuvanesh. "Algoritmo de riesgo". MundoMatemático .