¿Cómo Matlab o los sistemas de álgebra computacional encuentran derivadas de funciones? ¿Es correcto que usen una transformación matricial?

Como se menciona en un comentario, la diferenciación numérica se usa para encontrar las derivadas de una función en todos los puntos donde se define. Esto está en contraste con la diferenciación analítica, que es exacta (en realidad, Matlab puede hacer eso también con la caja de herramientas matemática simbólica, pero no es muy útil en los cálculos del mundo real).

La diferenciación numérica, como la integración numérica, se puede hacer de varias maneras. El esquema estándar de diferencias finitas utiliza el valor de la función [matemática] f (x) [/ matemática] en un puñado de puntos alrededor de algún punto [matemática] x_0 [/ matemática] donde se debe tomar la derivada. Algunos métodos de estimación comunes son el método de Euler y el método Runge-Kutta. Creo que la fórmula simétrica de dos puntos es la más intuitiva:

Una función [matemática] f (x) [/ matemática] se define en puntos discretos [matemática] x = h \ cdot i [/ matemática], donde [matemática] h [/ matemática] es la distancia entre el punto y [matemática ] i [/ math] es un número de, por ejemplo, 1 a 100 si el muestreo es grueso. La derivada en un punto [matemática] x_0 [/ matemática] es entonces

[matemáticas] f ‘(x_0) = \ frac {f (x_0 + h) – f (x_0-h)} {2h} [/ matemáticas].

Si dibuja esto en un diagrama, es fácil ver que puede describirse en palabras como (cambio en f ) / (cambio en x ). Verifique la diferenciación numérica y la diferencia finita para obtener más información y métodos.

Para encontrar la derivada de la función completa, simplemente use esta fórmula para todos los puntos [matemática] x [/ matemática]. Esto se puede escribir de forma compacta y elegante con una ecuación de iteración. Si escribe los puntos [matemática] x [/ matemática] y la función [matemática] f (x) [/ matemática] como un vector, incluso puede especificar el esquema de diferenciación como una multiplicación con una matriz . Esta matriz será escasa y solo contendrá elementos cercanos a la diagonal. Una notación matricial se usa comúnmente al diseñar esquemas para resolver ecuaciones diferenciales, que es lo que generalmente define los problemas de física. Entonces, sí, la diferenciación puede reducirse a un problema de álgebra lineal, por lo que Lapack, BLAS y otros paquetes de álgebra lineal numérica toman la mayor parte del tiempo de CPU de las supercomputadoras del mundo .