Hay muchos factores a tener en cuenta a la hora de elegir un integrador numérico. En general, existen dos tipos de metas para este tipo de soluciones:
- Obtener una solución lo suficientemente pequeño error en una lo suficientemente corto de tiempo (o con escasa disposición de recursos computacionales).
- Asegúrese de que la solución satisface importante cualitativo restricciones. Estos pueden incluir cosas como la positividad (por la densidad de las energías, y tal) (conservación de masa, momento, energía, u otros físicamente conservado cantidades) dissipativity o contractivity.
Es muy difícil dar recomendaciones generales, pero aquí hay algunas bastante bien-de acuerdo-a sugerencias:
- Es necesaria una mayor precisión, el más alto orden de métodos eficientes.
- Al final, la rigidez depende de la relación entre la precisión deseada y la constante de Lipschitz para el problema. Para la precisión baja (o la gran constante de Lipschitz), implícito métodos son más eficientes. Dependiendo del espectro de su problema, usted puede necesitar L-estabilidad, Una estabilidad, o sólo $A(0)$-estabilidad.
- Para problemas donde la conservación es importante: cualquier método es conservador, hasta errores de discretización. Si usted necesita de conservación dentro de redondeo de error, utilice un simpléctica método.
- Si dissipativity o contractivity en el centro de la norma de producto es importante, el uso de un B-método estable. Si usted necesita una de estas propiedades con respecto a una norma que no es inducida por un producto interior (por ejemplo, $L_1$ o $L_\infty$), la fuerte estabilidad de la preservación (contractura), los métodos pueden ser útiles.
- Si la memoria es el factor limitante y se necesita una alta precisión (de manera que usted desea usar un método de orden), luego bajo de almacenamiento de Runge-Kutta puede ser útil.
Para muchos problemas, las limitaciones anteriores pueden indicar que razonable de las opciones que existen dentro de la clase de métodos de Runge-Kutta o lineales métodos de varios pasos. En ese momento, la diferencia se convierte en una ingeniería pregunta y puede depender de los detalles de implementación. Usted puede encontrar comparaciones útiles entre los dos, por ejemplo, en los libros de Hairer & Wanner.
Siempre hay excepciones, pero...si usted tiene un pequeño de no-rígido sistema (la definición de pequeñas depende de tu equipo y si el Jacobiano es denso o disperso), entonces por lo general cualquier explícita integrador de orden mayor que uno va a hacer. Si usted tiene una pequeña rigidez en el sistema, por lo general cualquier garantía implícita integrador de orden mayor que uno va a hacer. Usted sólo necesita el sudor que si usted tiene un gran sistema (viniendo de un PDE o problema de los tres cuerpos) o su Odas tienen algunas características peculiares.
Taylor métodos son a menudo razonable para aplicar para una fácil problemas, pero no hay ninguna razón de peso para hacerlo. Por duro (es decir, grandes) problemas, Taylor métodos pueden ser difíciles o imposibles de implementar, aunque automático de diferenciación puede eventualmente cambiar eso.