Algoritmia - Algoritmo Derivacion automatica

 
Vista:

Algoritmo Derivacion automatica

Publicado por Raul Campa (1 intervención) el 15/08/2005 21:11:52

Hola, estoy creando un aplicacion en visual basic que resuelve sistemas de ecuaciones no lineales por medio del newton-raphson, de hecho mi sistema ya resuelve cualquier sistema como por ejemplo:
f1=cos(a*b)
f2=a^2+b^-56

construi una rutina de analisis sintactico que me revisa cualquier error en las ecuaciones, y ya encuentro raices por medio de NR. lo malo es que el usuario tiene que meter las derivadas parciales de cada ecuacion con respecto a cada variable y vi algunos programas (.exe) que derivan las funciones, me gustaria saber si alguien conoce de la existencia de un algoritmo para derivacion automatica, de esta forma el usuario solo tendria que introducir las ecuaciones y ya no las derivadas que a veces resultan ser muchas (no. derivadas = n*n, n=no. ecuaciones)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Simplificación de derivadas en sistemas de ecuaciones no lineales con derivación automática

Publicado por Alejandro (307 intervenciones) el 05/03/2024 19:47:31
Entiendo que simplificar el proceso de derivación puede hacer que tu aplicación sea más accesible para los usuarios. Aquí te presento una breve introducción a la derivación automática y algunos enfoques que podrías considerar:

1. Derivación automática (automatic differentiation - AD):
- AD es una técnica que permite calcular derivadas de funciones de manera automática y precisa.
- Existen dos modos principales de AD: el modo hacia adelante (forward mode) y el modo hacia atrás (reverse mode). El modo hacia adelante es más adecuado para calcular derivadas de funciones con muchas variables de entrada.

2. Enfoque del modo hacia adelante:
- Al implementar el modo hacia adelante de AD, puedes calcular las derivadas de tus funciones de manera automática mientras evalúas las funciones originales.
- Puedes construir una estructura de grafo computacional para representar las operaciones y variables en tu función, y luego propagar las derivadas a medida que avanzas en el grafo.

3. Librerías de derivación automática:
- Existen librerías y herramientas que implementan derivación automática, como TensorFlow y PyTorch en Python. Puedes explorar estas herramientas para obtener inspiración sobre cómo implementar la derivación automática en tu aplicación en Visual Basic.

4. Implementación personalizada:
- Si prefieres una solución más específica para tu aplicación en Visual Basic, podrías desarrollar una implementación personalizada del modo hacia adelante de AD. Esto implica el seguimiento y cálculo de derivadas a medida que evalúas tus funciones.

5. Integración con herramientas externas:
- También puedes considerar la posibilidad de integrar tu aplicación con herramientas externas que realicen la derivación. Puedes llamar a estas herramientas desde tu aplicación y luego procesar los resultados.

Ten en cuenta que la derivación automática puede ser compleja, pero su implementación puede simplificar significativamente la entrada de ecuaciones al eliminar la necesidad de proporcionar manualmente las derivadas. Explorar las librerías existentes y adaptarlas a tu entorno puede ser una estrategia efectiva. ¡Espero que encuentres útil esta información, Raúl!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar