Dejando y evaluado para y , la ecuación para el método de Crank-Nicolson es una combinación del método de Euler directo en y el método de Euler inverso en (tenga en cuenta, sin embargo, que el método en sí no es simplemente el promedio de esos dos métodos, ya que el método inverso La ecuación de Euler tiene una dependencia implícita de la solución):
Tenga en cuenta que este es un método implícito : para obtener el "siguiente" valor de en el tiempo, se debe resolver un sistema de ecuaciones algebraicas. Si la ecuación diferencial parcial es no lineal, la discretización también lo será, de modo que avanzar en el tiempo implicará la solución de un sistema de ecuaciones algebraicas no lineales, aunque las linealizaciones son posibles. En muchos problemas, especialmente de difusión lineal, el problema algebraico es tridiagonal y puede resolverse eficientemente con el algoritmo de matriz tridiagonal , que da una solución directa rápida, a diferencia de lo habitual para una matriz completa, en el que se indica el tamaño de la matriz.
Ejemplo: difusión 1D
El método Crank-Nicolson se aplica a menudo a problemas de difusión . Como ejemplo, para difusión lineal,
aplicando una discretización espacial en diferencias finitas para el lado derecho, la discretización de Crank-Nicolson es entonces
Una ecuación cuasilineal, como (este es un ejemplo minimalista y no general)
conduciría a un sistema no lineal de ecuaciones algebraicas, que no podría resolverse fácilmente como se indicó anteriormente; sin embargo, en algunos casos es posible linealizar el problema utilizando el valor antiguo de , es decir, en lugar de . Otras veces, puede ser posible estimar utilizando un método explícito y mantener la estabilidad.
Ejemplo: difusión 1D con advección para flujo constante, con múltiples conexiones de canales
Esta es una solución que generalmente se emplea para muchos propósitos cuando hay un problema de contaminación en arroyos o ríos en condiciones de flujo constante, pero la información se brinda en una sola dimensión. A menudo, el problema se puede simplificar a un problema unidimensional y aun así generar información útil.
Aquí modelamos la concentración de un soluto contaminante en el agua. Este problema se compone de tres partes: la ecuación de difusión conocida ( elegida como constante), una componente advectiva (que significa que el sistema está evolucionando en el espacio debido a un campo de velocidades), que elegimos como constante , y una interacción lateral. entre canales longitudinales ( ):
donde es la concentración del contaminante, y los subíndices y corresponden al canal anterior y siguiente .
El método Crank-Nicolson (donde representa la posición y el tiempo) transforma cada componente del PDE en lo siguiente:
Ahora creamos las siguientes constantes para simplificar el álgebra:
y sustituya ( 2 ), ( 3 ), ( 4 ), ( 5 ), ( 6 ), ( 7 ), y en ( 1 ). Luego colocamos los nuevos términos de tiempo a la izquierda ( ) y los términos de tiempo presente a la derecha ( ) para obtener
Para modelar el primer canal, nos damos cuenta que solo puede estar en contacto con el siguiente canal ( ), por lo que la expresión se simplifica a
De la misma manera, para modelar el último canal, nos damos cuenta que solo puede estar en contacto con el canal anterior ( ), por lo que la expresión se simplifica a
Para resolver este sistema lineal de ecuaciones, ahora debemos ver que primero se deben dar condiciones de frontera al inicio de los canales:
: condición inicial para el canal en el paso de tiempo actual,
: condición inicial para el canal en el siguiente paso,
: condición inicial para el canal anterior al analizado en el paso de tiempo actual,
: condición inicial para el canal siguiente al analizado en el paso de tiempo actual.
Para la última celda de los canales ( ), la condición más conveniente pasa a ser adiabática, por lo que
Esta condición se cumple si y sólo si (independientemente de un valor nulo)
Resolvamos este problema (en forma matricial) para el caso de 3 canales y 5 nodos (incluida la condición de contorno inicial). Expresamos esto como un problema de sistema lineal:
dónde
Ahora debemos darnos cuenta de que AA y BB deben ser arreglos formados por cuatro subarreglos diferentes (recuerde que solo se consideran tres canales para este ejemplo, pero cubre la parte principal discutida anteriormente):
donde los elementos mencionados anteriormente corresponden a los siguientes arrays, y un 4×4 adicional lleno de ceros. Tenga en cuenta que los tamaños de AA y BB son 12×12:
El vector d aquí se utiliza para mantener las condiciones de contorno. En este ejemplo es un vector de 12×1:
Para encontrar la concentración en cualquier momento, se debe iterar la siguiente ecuación:
Ejemplo: difusión 2D
Cuando se extiende a dos dimensiones en una cuadrícula cartesiana uniforme , la derivación es similar y los resultados pueden conducir a un sistema de ecuaciones diagonales de banda en lugar de tridiagonales . La ecuación del calor bidimensional.
se puede resolver con la discretización de Crank-Nicolson de
suponiendo que se utiliza una cuadrícula, de modo que . Esta ecuación se puede simplificar un poco reordenando los términos y usando el número CFL
Para el esquema numérico de Crank-Nicolson, no se requiere un número CFL bajo para la estabilidad; sin embargo, sí se requiere para la precisión numérica. Ahora podemos escribir el esquema como
Resolver un sistema lineal de este tipo es costoso. Por lo tanto, se puede implementar un método implícito de dirección alterna para resolver la PDE numérica, mediante el cual una dimensión se trata implícitamente y otra dimensión explícitamente durante la mitad del paso de tiempo asignado y, a la inversa, durante la mitad restante del paso de tiempo. El beneficio de esta estrategia es que el solucionador implícito solo requiere un algoritmo de matriz tridiagonal para resolverlo. La diferencia entre la verdadera solución de Crank-Nicolson y la solución aproximada de ADI tiene un orden de precisión de y, por lo tanto, puede ignorarse en un paso de tiempo suficientemente pequeño. [4]
Crank-Nicolson para problemas no lineales
Debido a que el método de Crank-Nicolson es implícito , generalmente es imposible resolverlo exactamente. En cambio, se debe utilizar una técnica iterativa para converger hacia la solución. Una opción es utilizar el método de Newton para converger en la predicción, pero esto requiere el cálculo del jacobiano . Para un sistema de alta dimensión como los de la dinámica de fluidos computacional o la relatividad numérica , puede resultar inviable calcular este jacobiano.
Una alternativa libre de jacobiano es la iteración de punto fijo . Si es la velocidad del sistema, entonces la predicción de Crank-Nicolson será un punto fijo del mapa. Si la iteración del mapa no converge, el mapa parametrizado , con , puede comportarse mejor. En forma ampliada, la fórmula de actualización es
¿Dónde está la estimación actual y el paso de tiempo anterior?
Incluso para sistemas de alta dimensión, la iteración de este mapa puede converger sorprendentemente rápido.
Una solución numérica de las ecuaciones de Navier-Stokes en forma de vorticidad. En este caso, era necesario que la iteración de punto fijo de Crank-Nicolson convergiera.
La importancia de esto para las finanzas es que los problemas de fijación de precios de opciones, cuando se extienden más allá de los supuestos estándar (por ejemplo, incorporando dividendos cambiantes), no pueden resolverse de forma cerrada, pero pueden resolverse utilizando este método. Sin embargo, tenga en cuenta que para condiciones finales no uniformes (lo que ocurre con la mayoría de los instrumentos financieros), el método de Crank-Nicolson no es satisfactorio ya que las oscilaciones numéricas no se amortiguan. Para las opciones vainilla , esto resulta en una oscilación en el valor gamma alrededor del precio de ejercicio . Por lo tanto, son necesarios pasos especiales de inicialización de la amortiguación (por ejemplo, método de diferencias finitas totalmente implícito).
^ Tuncer Cebeci (2002). Transferencia de calor por convección. Saltador. ISBN 0-9668461-4-1.
^ Manivela, J.; Nicolson, P. (1947). "Un método práctico para la evaluación numérica de soluciones de ecuaciones diferenciales parciales del tipo de conducción de calor". Proc. Camb. Fil. Soc . 43 (1): 50–67. Código Bib : 1947PCPS...43...50C. doi :10.1017/S0305004100023197. S2CID 16676040.
^ Thomas, JW (1995). Ecuaciones diferenciales parciales numéricas: métodos de diferencias finitas . Textos en Matemática Aplicada. vol. 22. Berlín, Nueva York: Springer-Verlag . ISBN978-0-387-97999-1.. El ejemplo 3.3.2 muestra que Crank-Nicolson es incondicionalmente estable cuando se aplica a .
^ "Problemas parabólicos multidimensionales" (PDF) . Departamento de Informática . RPI . Consultado el 29 de mayo de 2016 .
^ Wilmott, P.; Howison, S.; Dewynne, J. (1995). Las matemáticas de los derivados financieros: una introducción para el estudiante . Universidad de Cambridge. Prensa. ISBN0-521-49789-2. Las matemáticas de los derivados financieros Wilmott.
enlaces externos
Técnicas de PDE numéricas para científicos e ingenieros, conferencias y códigos de acceso abierto para PDE numéricas
Un ejemplo de cómo aplicar e implementar el método de Crank-Nicolson para la ecuación de Advección