Si se evalúa para y , la ecuación para el método de Crank-Nicolson es una combinación del método de Euler directo en y del 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 la ecuación de Euler inverso tiene una dependencia implícita de la solución):
Obsérvese que este es un método implícito : para obtener el "próximo" valor de en el tiempo, se debe resolver un sistema de ecuaciones algebraicas. Si la ecuación diferencial parcial no es lineal, la discretización también será no lineal, 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 la difusión lineal, el problema algebraico es tridiagonal y puede resolverse de manera eficiente con el algoritmo de matriz tridiagonal , que proporciona una solución directa rápida , a diferencia de la habitual para una matriz completa, en la que indica el tamaño de la matriz.
Ejemplo: difusión 1D
El método de Crank-Nicolson se aplica a menudo a problemas de difusión . Por ejemplo, para la difusión lineal,
Aplicando una discretización espacial de diferencias finitas para el lado derecho, la discretización de Crank-Nicolson es entonces
o, dejando ,
Dado que se conocen los términos del lado derecho de la ecuación, este es un problema tridiagonal , por lo que puede resolverse de manera eficiente utilizando el algoritmo de matriz tridiagonal en lugar de la inversión de matriz mucho más costosa .
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 . En otras ocasiones, puede ser posible realizar una estimación utilizando un método explícito y mantener la estabilidad.
Ejemplo: difusión 1D con advección para flujo constante, con conexiones de múltiples canales
Esta es una solución que se suele emplear para muchos propósitos cuando existe un problema de contaminación en arroyos o ríos en condiciones de caudal constante, pero la información se proporciona solo en una dimensión. A menudo, el problema se puede simplificar a un problema unidimensional y aun así proporcionar información útil.
Aquí modelamos la concentración de un contaminante soluto en el agua. Este problema se compone de tres partes: la ecuación de difusión conocida ( elegida como constante), un componente advectivo (que significa que el sistema está evolucionando en el espacio debido a un campo de velocidad), 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 de la EDP en lo siguiente:
Ahora creamos las siguientes constantes para simplificar el álgebra:
y sustituimos ( 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, debemos ver ahora que las condiciones de contorno deben darse primero al comienzo 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 de tiempo,
: condición inicial del 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 solo 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). Lo expresamos como un problema de sistema lineal:
dónde
Ahora debemos darnos cuenta de que AA y BB deben ser matrices compuestas de cuatro submatrices 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 las siguientes matrices 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 se utiliza aquí para contener las condiciones de contorno. En este ejemplo, es un vector 12×1:
Para encontrar la concentración en cualquier momento, se debe iterar la siguiente ecuación:
Ejemplo: difusión 2D
Al extenderse a dos dimensiones en una cuadrícula cartesiana uniforme , la derivación es similar y los resultados pueden conducir a un sistema de ecuaciones de banda diagonal en lugar de tridiagonales . La ecuación de 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 reorganizando los términos y utilizando el número CFL
En el esquema numérico de Crank-Nicolson, no se requiere un número CFL bajo para la estabilidad, pero sí para la precisión numérica. Ahora podemos escribir el esquema como
Debido a que el método de Crank-Nicolson es implícito , generalmente es imposible resolverlo con exactitud. En cambio, se debe utilizar una técnica iterativa para converger a la solución. Una opción es utilizar el método de Newton para converger a 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 que no sea factible calcular este jacobiano.
Una alternativa libre de jacobianos 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 expandida, la fórmula de actualización es
donde es la estimación actual y es el paso de tiempo anterior.
Incluso para sistemas de alta dimensión, la iteración de este mapa puede converger sorprendentemente rápido.
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 se pueden resolver en forma cerrada, pero se pueden resolver utilizando este método. Sin embargo, tenga en cuenta que para las condiciones finales no suaves (que ocurren para 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 da como resultado una oscilación en el valor gamma alrededor del precio de ejercicio . Por lo tanto, son necesarios pasos especiales de inicialización de amortiguación (por ejemplo, el método de diferencia finita completamente implícito).
^ Tuncer Cebeci (2002). Transferencia de calor por convección. Saltador. ISBN 0-9668461-4-1.
^ Crank, 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. Phil. Soc . 43 (1): 50–67. Bibcode :1947PCPS...43...50C. doi :10.1017/S0305004100023197. S2CID 16676040.
^ Thomas, JW (1995). Ecuaciones diferenciales parciales numéricas: métodos de diferencias finitas . Textos de matemáticas aplicadas. Vol. 22. Berlín, Nueva York: Springer-Verlag . ISBN.978-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 Ciencias de la Computación . 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 estudiantes . Cambridge Univ. Press. ISBN0-521-49789-2. Las matemáticas de los derivados financieros Wilmott.
Enlaces externos
Técnicas de ecuaciones diferenciales numéricas para científicos e ingenieros, acceso abierto. Conferencias y códigos para ecuaciones diferenciales numéricas
Un ejemplo de cómo aplicar e implementar el método Crank-Nicolson para la ecuación de advección