Una simulación dependiente del tiempo puede parecer bien formulada y aún obligar a un solucionador explícito a dar miles de pasos extremadamente pequeños. Aumentar el orden de Forward Euler a RK4 puede retrasar el problema, pero no siempre lo elimina. El sistema puede estar rígido.
La rigidez aparece cuando la estabilidad numérica requiere un paso de tiempo mucho menor que el paso necesario para resolver el comportamiento de interés científico. Los componentes rápidos pueden decaer casi de inmediato, mientras que los componentes más lentos controlan la solución a largo plazo. Un integrador explícito debe permanecer estable para ambos.
Los solucionadores rígidos implícitos pueden pasar por encima de los modos de decaimiento rápido porque sus regiones de estabilidad se extienden mucho más hacia la mitad izquierda del plano complejo. La compensación es que cada paso aceptado puede requerir evaluación jacobiana, factorización de matriz, álgebra lineal iterativa o solución no lineal.
Por lo tanto, la pregunta correcta no es si los métodos implícitos son siempre mejores. Es si el costo computacional de un paso implícito es menor que el costo de los muchos pequeños pasos explícitos necesarios para la estabilidad.
La guía más amplia Métodos de integración de tiempo para PDE Solvers compara los enfoques explícitos, implícitos y IMEX. Este artículo se centra específicamente en la rigidez, las regiones de estabilidad, los jacobianos y las familias de solución rígida.
que significa rigidez
No existe una definición única de rigidez que se aplique perfectamente a cada sistema no lineal, método numérico, tolerancia e intervalo de integración.
Una descripción práctica útil es:
Un problema es rígido cuando un método numérico debe tomar pasos mucho más pequeños que la escala requerida para la precisión debido a las restricciones de estabilidad.
Esta definición enfatiza que la rigidez depende en parte del solucionador. Un problema que es rígido para un método Runge-Kutta explícito puede ser manejable para un método implícito L-estable.
También depende de la salida solicitada. Un transitorio químico rápido puede ser científicamente importante en un estudio e irrelevante en otro. Si debe resolverse, un pequeño paso es un requisito de precisión en lugar de una restricción de rigidez innecesaria.
un simple sistema rígido
Considere dos componentes en descomposición:
dy₁/dt = -y₁
dy₂/dt = -1000y₂
Las soluciones exactas son:
y₁(t) = y₁(0)e⁻ᵗ
y₂(t) = y₂(0)e⁻¹⁰⁰⁰ᵗ
El segundo componente desaparece mucho más rápido que el primero. Después de su transitorio inicial, la solución científicamente relevante puede ser controlada casi en su totalidad por y₁.
Euler forward aplicado a la segunda ecuación es estable solo cuando:
|1 - 1000Δt| ≤ 1
Esto da:
0 ≤ Δt ≤ 0.002
El solucionador debe continuar usando un paso cerca de esta escala incluso después de que y₂ se haya vuelto insignificante. El componente lento podría representarse con precisión con pasos mucho más grandes, pero el modo rápido controla la estabilidad explícita.
Por qué la relación de rigidez está incompleta
Para un sistema lineal:
dy/dt = Ay
Una relación de rigidez citada comúnmente es:
κ =
max |Re(λᵢ)|
/
min |Re(λᵢ)|
La relación puede ser informativa cuando todos los valores propios relevantes tienen partes reales negativas y la matriz se comporta regularmente. Un gran valor sugiere tasas de decaimiento muy separadas.
Sin embargo, no es una prueba universal. No incluye el intervalo de integración, la precisión solicitada, la condición inicial o la dirección en la que evoluciona la solución. También puede volverse indefinido o engañoso cuando el jacobiano contiene cero valores propios, modos de conservación o comportamiento fuertemente no normal.
En un sistema no lineal, el jacobiano cambia a lo largo de la trayectoria:
J(t) =
∂f
/
∂y
evaluated at y(t)
Por lo tanto, un sistema puede moverse entre regiones rígidas y no rígidas durante una simulación.
Indicadores basados en jacobianos
Las estimaciones de valor propio del jacobiano local son útiles porque los modos estables rápidos están asociados con valores propios que tienen grandes partes negativas reales.
Un indicador más barato a veces usa el rastro escalado:
τ(J) =
trace(J) / d
=
div(f) / d
sobre un intervalo de integración con longitud característica T, un valor muy negativo de:
T trace(J) / d
Puede indicar una rápida contracción de volumen de fase y posibles restricciones de pasos explícitas.
Este es un indicador heurístico, no una definición necesaria y suficiente de rigidez. Una traza promedia las partes reales de valor propio y puede ocultar una dirección fuertemente rígida cuando otras direcciones lo compensan.
Los sistemas no normales también pueden exhibir un crecimiento transitorio que no se predice de manera confiable por valores propios o trazas solos. Las normas logarítmicas, los diagnósticos del solucionador directo y las restricciones de tamaño de paso observadas pueden proporcionar información adicional.
El fondo matemático se resume en La descripción general de las ecuaciones rígidas. Un análisis más profundo de por qué la rigidez resiste una definición simple basada en valores propios se proporciona en rigidez de odes.
Signos prácticos de rigidez
Un modelo puede ser rígido cuando:
- Un método explícito adaptativo reduce repetidamente su paso a pesar de una solución suave.
- El solucionador explícito toma muchos pasos después de que un transitorio rápido ya haya decaído.
- Un pequeño cambio en el tamaño de paso cambia el cálculo de estable a explosivo.
- El jacobiano contiene modos fuertemente negativos con escalas muy diferentes.
- Un solucionador implícito completa el mismo cálculo con muchos menos pasos aceptados.
- Las reacciones químicas, la difusión, la relajación o los términos de penalización introducen escalas de tiempo muy cortas.
Estos síntomas no deben usarse para descartar posibles errores de codificación o modelado. Los signos, unidades, condiciones de contorno o jacobianos incorrectos pueden crear un comportamiento que se asemeja a la rigidez.
La ecuación de prueba de Dahlquist
La estabilidad se estudia comúnmente con:
dy/dt = λy
La solución exacta después de un paso es:
y(t + Δt) =
e^(λΔt)y(t)
Un método numérico produce:
yⁿ⁺¹ =
R(z)yⁿ
z = λΔt
La función R(z) es la función de estabilidad. El método es absolutamente estable cuando:
|R(z)| ≤ 1
El conjunto de todos estos valores forma la región de estabilidad absoluta.
Una introducción clara a la ecuación de Dahlquist y la estabilidad A está disponible en las IIT Numerical Analysis Notes.
Por qué fallan los métodos explícitos
Euler delantero tiene:
R(z) = 1 + z
Su región de estabilidad es un disco centrado en −1 con radio uno. A lo largo del eje real negativo:
−2 ≤ z ≤ 0
Clásico RK4 tiene una región más grande, que se extiende hasta aproximadamente:
z ≈ −2.785
todavía está delimitado. Ningún método explícito de Runge-Kutta puede ser A-estable.
Cuando un valor propio jacobiano es aproximadamente −1000, RK4 requiere un paso más pequeño que aproximadamente:
Δt ≲ 2.785 / 1000
Un método explícito de orden superior mejora la precisión y puede aumentar el intervalo estable, pero no puede extender la estabilidad arbitrariamente a lo largo del eje real negativo.
A-estabilidad
Un método A-estable contiene todo el semiplano izquierdo en su región de estabilidad:
Re(z) ≤ 0
⇒
|R(z)| ≤ 1
Euler hacia atrás es estable porque:
R(z) =
1 / (1 - z)
Para los modos con partes reales negativas, el método permanece estable independientemente del tamaño del paso.
Esto no significa que un paso arbitrariamente grande sea exacto. La estabilidad A elimina una restricción de estabilidad pero no elimina el error de truncamiento.
Estabilidad L
Un método L-estable es A-estable y también satisface:
R(z) → 0
as
z → -∞
Esta propiedad amortigua fuertemente los modos rápidos no resueltos. Euler hacia atrás es estable en L.
Crank-Nicolson es estable pero no en L. Su función de estabilidad es:
R(z) =
(1 + z/2)
/
(1 - z/2)
Como z → -∞, el factor se acerca a −1. Un componente muy rígido puede alternar en signo en lugar de decaer rápidamente. Esto puede crear oscilaciones no físicas a pesar de que el método permanece limitado.
La estabilidad L es especialmente valiosa cuando los transitorios rápidos deberían desaparecer en lugar de permanecer visibles en la solución calculada.
El problema de Prothero-Robinson
El problema de la prueba Prothero-Robinson tiene la forma general:
dy/dt =
λ[y - g(t)]
+ g'(t)
Su solución exacta es:
y(t) =
g(t)
+
[y(0) - g(0)]e^(λt)
Elegir:
g(t) = sin(t)
da:
dy/dt =
λ[y - sin(t)]
+ cos(t)
y:
y(t) =
sin(t)
+
y(0)e^(λt)
Cuando g(0)=0.
Para un gran negativo λ, el transitorio exponencial decae rápidamente, mientras que el forzamiento suave sin(t) permanece. Un método explícito aún puede verse obligado a resolver el modo de estabilidad que se está deteriorando rápidamente.
El problema también se utiliza para estudiar la reducción de orden rígido. Algunos métodos no logran lograr su orden de convergencia nominal cuando interactúan la rigidez, el forzamiento y los efectos de límite o de restricción.
Comparación de Python con Scipy
El siguiente ejemplo compara un método explícito con dos solucionadores rígidos:
import numpy as np
from scipy.integrate import solve_ivp
stiffness = -1000.0
time_interval = (0.0, 10.0)
initial_state = [1.0]
def right_hand_side(time, state):
value = state[0]
return [
stiffness
* (value - np.sin(time))
+ np.cos(time)
]
def jacobian(time, state):
return np.array([
[stiffness]
])
def exact_solution(time):
return (
np.sin(time)
+ np.exp(stiffness * time)
)
methods = [
("RK45", {}),
("Radau", {"jac": jacobian}),
("BDF", {"jac": jacobian}),
("LSODA", {})
]
for method, options in methods:
solution = solve_ivp(
fun=right_hand_side,
t_span=time_interval,
y0=initial_state,
method=method,
rtol=1e-7,
atol=1e-9,
**options
)
reference = exact_solution(
solution.t
)
maximum_error = np.max(
np.abs(
solution.y[0]
- reference
)
)
print(method)
print(" Success:", solution.success)
print(" Accepted points:", solution.t.size)
print(" Function evaluations:", solution.nfev)
print(" Jacobian evaluations:", solution.njev)
print(" LU factorizations:", solution.nlu)
print(" Maximum error:", maximum_error)
Los recuentos exactos dependen de las tolerancias, la versión del software, el estado inicial, la información jacobiana y la configuración del solucionador. La comparación importante es el costo computacional total en el mismo nivel de error.
Familias de solucionadores rígidos
Ningún solucionador es mejor para cada sistema rígido. Las consideraciones importantes incluyen:
- Dimensión del sistema
- Escasez y ancho de banda jacobiano
- Costo de evaluar el lado derecho
- Disponibilidad de derivados analíticos
- Tolerancia solicitada
- presencia de restricciones o una matriz de masa
- Si el problema cambia entre las fases rígidas y no rígidas
Fórmulas de diferenciación hacia atrás
Los métodos BDF son fórmulas de varios pasos implícitas. Se aproximan a la derivada utilizando varios valores de solución anteriores y evalúan la ecuación de gobierno en el nuevo tiempo.
Una fórmula BDF de primer orden es Euler hacia atrás:
(
yⁿ⁺¹ - yⁿ
) / Δt
=
f(tⁿ⁺¹, yⁿ⁺¹)
BDF2 utiliza dos valores anteriores:
(
3yⁿ⁺¹
- 4yⁿ
+ yⁿ⁻¹
) / (2Δt)
=
f(tⁿ⁺¹, yⁿ⁺¹)
Las implementaciones de orden variable pueden usar varios pedidos de BDF y adaptar tanto el orden como el tamaño del paso. Los pedidos uno y dos son A-estable. Las fórmulas BDF de orden superior sacrifican la estabilidad A completa, pero siguen siendo útiles para muchos sistemas rígidos.
Los métodos BDF son a menudo efectivos para sistemas grandes cuando el jacobiano es escaso y se dispone de un solucionador lineal o preacondicionador escaso adecuado.
Los ejemplos incluyen BDF de Scipy, ode15s de MATLAB, CVODE BDF y métodos SCIML como QNDF y FBDF.
Métodos de Rosenbrock
Los métodos de Rosenbrock son métodos linealmente implícitos de Runge-Kutta. Linealizan las ecuaciones de etapa y resuelven sistemas de la forma:
(
I - γΔtJ
)kᵢ
=
known stage terms
Esto evita una solución no lineal completa en cada etapa. El método aún requiere información jacobiana o una aproximación útil.
Los métodos de Rosenbrock son a menudo efectivos para sistemas pequeños y medianos rígidos, especialmente con tolerancias estrictas. La misma estructura de matriz puede reutilizarse en varias etapas.
Los ejemplos en el ecosistema SCIML incluyen:
Rosenbrock23Rodas4Rodas5P
La Documentación actual de Sciml Rosenbrock proporciona recomendaciones específicas del método y detalles de implementación.
Métodos de SDIRC
sdirk significa solamente implícitamente diagonalmente implícita-Kutta. Cada etapa implícita utiliza el mismo coeficiente diagonal en la matriz de Runge-Kutta.
Esto produce sistemas escénicos con una estructura repetida:
(
I - γΔtJ
)kᵢ
=
stage residual
Por lo tanto, una factorización de matriz o preacondicionador puede reutilizarse a través de etapas cuando el jacobiano se mantiene fijo.
Los métodos SDIRK son métodos de un solo paso, lo que facilita su reinicio después de eventos o discontinuidades que las fórmulas BDF de varios pasos.
Los ejemplos incluyen los métodos ESdirk y Kencarp. Algunos proporcionan estabilidad en L y estimaciones de errores integrados.
Tr-BDF2
TR-BDF2 es un método compuesto de un solo paso. Combina una etapa de regla trapezoidal con una etapa de diferenciación hacia atrás de segundo orden.
No debe agruparse con solucionadores de BDF de varios pasos de orden variable ordinario. Su construcción especial ofrece precisión de segundo orden y fuertes propiedades de estabilidad, incluida la estabilidad en L para la elección de parámetros estándar.
TR-BDF2 es a menudo un método rígido práctico de propósito general cuando el orden moderado y la amortiguación robusta son más importantes que el orden asintótico muy alto.
Métodos Runge-Kutta completamente implícitos
Firk significa totalmente implícito Runge-Kutta. Las etapas están acopladas y normalmente requieren resolver un sistema no lineal más grande.
Las familias importantes incluyen:
- Métodos de Radau IIa
- Métodos Gauss-Legendre
- Métodos de Lobatto
Los métodos de Radau IIA pueden proporcionar un alto orden, estabilidad A y L-estabilidad. Son atractivos para problemas rígidos de alta precisión, pero pueden tener un mayor costo por paso que los métodos de Rosenbrock, SDIRK o BDF.
El solucionador Radau de Scipy se basa en un método Radau IIa de quinto orden.
Métodos explícitos estabilizados
Los métodos explícitos estabilizados utilizan polinomios de estabilidad especialmente construidos para extender el intervalo estable a lo largo del eje real negativo.
Los ejemplos incluyen:
- Métodos de RKC
- roca2
- roca4
Para un método con s etapas, el intervalo estable puede crecer aproximadamente como s². Esto hace que el enfoque sea útil para grandes sistemas dominados por difusión donde el espectro jacobiano se encuentra principalmente cerca del eje real negativo.
Estos métodos no son estables y no resuelven todo tipo de rigidez. Pueden ser inadecuados cuando el sistema tiene valores propios sustanciales imaginarios, rigidez de reacción altamente no lineal, restricciones algebraicas diferenciales o acoplamiento difícil.
El material EPFL sobre métodos explícitos estabilizados ilustra cómo los métodos basados en Chebyshev extienden el dominio de estabilidad.
Métodos de Imex
Cuando se puede separar la rigidez de la dinámica no rígida, un método implícito-explícito puede ser más eficiente que tratar implícitamente el sistema completo:
dy/dt =
f_nonstiff(y)
+
f_stiff(y)
El término no rígido se integra explícitamente, mientras que el término rígido se integra implícitamente.
Los ejemplos incluyen la advección tratada explícitamente y la difusión tratada implícitamente, o el transporte tratado explícitamente y las reacciones químicas tratadas implícitamente.
Los métodos IMEX requieren una división de operador significativa física y numéricamente. Su estabilidad depende del par completo explícito-implícito.
Conmutación de rigidez automática
Algunos algoritmos estiman la rigidez mientras se integran y cambian entre fórmulas no rígidas y rígidas.
LSODA cambia entre un método ADAMS y un método BDF. Está disponible a través de Odepack, Scipy y varias interfaces de idioma.
En el ecosistema SCIML, un método automático puede combinar un algoritmo explícito con un solucionador rígido, por ejemplo:
AutoTsit5(
Rosenbrock23()
)
La conmutación automática es útil cuando se desconoce la rigidez o solo aparece durante parte de la trayectoria. La detección no es perfecta, por lo que los problemas difíciles aún pueden beneficiarse de seleccionar un solucionador rígido directamente.
La guía del solucionador de ODE de SciML recomienda métodos de conmutación automática cuando la rigidez es incierta.
Los asuntos jacobianos
Para un paso implícito, el residuo no lineal puede ser:
G(yⁿ⁺¹) =
yⁿ⁺¹
- yⁿ
- Δt f(tⁿ⁺¹, yⁿ⁺¹)
El método de Newton requiere:
[
I
- ΔtJ
]δ
=
-G
donde:
J =
∂f / ∂y
La solución lineal puede dominar el tiempo de ejecución. Un solucionador rígido funcionará mal si trata a un jacobiano escaso grande como una matriz densa.
El rendimiento puede mejorar a través de:
- Un jacobiano analítico
- Diferenciación automática
- un patrón de escasez declarado
- Almacenamiento de matriz con bandas
- Factorización directa escasa
- Métodos de Krylov
- Preacondicionamiento basado en la física
- Productos vectoriales jacobianos sin matriz
El tutorial de SCIML sobre resolviendo grandes ecuaciones rígidas muestra cómo la estructura jacobiana y la selección del solucionador lineal afectan el rendimiento.
Guía de selección de solucionador
| Característica del problema | Posible punto de partida | Consideración principal |
|---|---|---|
| Oda suave no rígida | RK explícito adaptativo | Bajo costo por paso |
| Sistema rígido pequeño o mediano | Método Rosenbrock o Radau | Precisión, costo jacobiano y tolerancia |
| Gran sistema rígido escaso | BDF, Rosenbrock o SDIRK con escasa álgebra lineal | La estructura jacobiana importa más que un umbral de tamaño fijo |
| Integración rígida de alta precisión | Radau IIa o Rosenbrock de alto orden | Mayor costo de etapa y solución |
| Rigidez leve dominada por difusión | RKC o roca | El espectro debe estar principalmente cerca del eje real negativo |
| Física rígida y no rígida separable | Método de imex | Requiere una división adecuada del operador |
| Rigidez desconocida o cambiante | LSODA o conmutación automática implícita explícita | La detección agrega complejidad pero poco ajuste manual |
| DAE o problema de matriz de masa | Método BDF, Radau o Rosenbrock con capacidad DAE | Es posible que los solucionadores de ODE no apliquen las restricciones algebraicas correctamente |
Por qué los umbrales de dimensión fija son engañosos
Es tentador recomendar métodos de Rosenbrock por debajo de 1000 ecuaciones, métodos SDIRK hasta 10 000 y métodos BDF por encima de eso. Tales umbrales no son confiables.
Un denso problema de ecuación 500 puede ser más caro que un sistema escaso que contiene cientos de miles de ecuaciones. Los factores decisivos incluyen:
- Número de entradas jacobianas distintas de cero
- Relleno durante la factorización
- Calidad del preacondicionador
- costo del lado derecho
- Tolerancia requerida
- Frecuencia de actualizaciones jacobianas
- Disponibilidad de productos sin matriz
- Escalabilidad paralela
La elección del solucionador debe probarse a través de comparaciones de trabajo-precisión sobre el problema real.
El ejemplo de propagación de llama
El ejemplo de propagación de llama de Cleve Moler utiliza la ecuación escalar no lineal:
dy/dt =
y²(1 - y)
El valor inicial es muy pequeño. La solución permanece cerca de cero durante un largo período de inducción, hace transiciones rápidamente y luego se acerca a uno.
En la comparación publicada de MATLAB, el solucionador no rígido ode45 tomó 3040 pasos y 20 179 evaluaciones de funciones. El rígido solucionador basado en Rosenbrock ode23s tomó 99 pasos y 412 evaluaciones de funciones.
Estos son aproximadamente treinta veces menos pasos aceptados, no uno por ciento del conteo original de pasos.
El ejemplo y su representación analítica de Lambert W se describen en ecuaciones diferenciales rígidas de Cleve Moler.
El resultado no debe interpretarse como una ventaja triple universal para los métodos implícitos. Demuestra cuán fuertemente puede cambiar la eficiencia del solucionador cuando la estabilidad en lugar de la precisión controla un integrador explícito.
Comparando los solucionadores de manera justa
Un punto de referencia justo debería comparar métodos con una precisión equivalente. Registro:
- Error o error global en una cantidad de interés
- Pasos aceptados y rechazados
- Evaluaciones del lado derecho
- Evaluaciones jacobianas
- Soluciones y factorizaciones lineales
- Iteraciones no lineales
- consumo de memoria
- Tiempo total del reloj de pared
Un solucionador que toma menos pasos aún puede ser más lento si cada paso requiere una costosa factorización. Un método con más evaluaciones de funciones puede ganar cuando la función es barata y el álgebra lineal de la competencia es costosa.
Errores comunes
- Suponiendo que cada solución explícita divergente demuestra la rigidez
- Tratar la relación de rigidez como un diagnóstico definitivo
- Usando la traza jacobiana como una definición de rigidez universal
- Suponiendo que cada método implícito es estable
- Suponiendo que cada método A-estable es L-estable
- Llamar a TR-BDF2 un método BDF de varios pasos ordinario
- Expandir a Firk incorrectamente como una familia Runge-Kutta explícita
- Usando un jacobiano denso para un gran sistema escaso
- No proporcionar un patrón jacobiano o escasez cuando el solucionador puede usar uno
- Seleccionar un solucionador solo del número de ecuaciones
- Usando un método explícito estabilizado para la rigidez fuera de su diseño espectral
- Comparar recuentos de pasos sin comparar errores y tiempo de ejecución
- Dar pasos implícitos muy grandes sin verificar la precisión temporal
un flujo de trabajo práctico
- Verifique las ecuaciones, unidades, signos y condiciones iniciales.
- Ejecute un método explícito adaptativo como diagnóstico.
- Inspeccione los pasos aceptados, los pasos rechazados y el tamaño de paso mínimo.
- Estime o analice el espectro jacobiano cuando sea práctico.
- Compruebe si los componentes rápidos deben resolverse físicamente.
- Pruebe un solucionador rígido estable en L con las mismas tolerancias.
- Suministrar información y escasez jacobiano.
- Compare el trabajo y la precisión, no solo los pasos aceptados.
- Repita con tolerancias más estrictas.
- Solucionador de documentos, tolerancias, álgebra lineal y criterios de falla.
Guías relacionadas
- métodos de integración de tiempo para solucionadores de PDE — Comparar enfoques explícitos, implícitos e híbridos.
- Esquemas de división de operadores, divisiones de estrangulamiento y esquemas IMEX — Separe los procesos físicos rígidos y no rígidos.
- estudios de calidad y convergencia de malla — Determine si el refinamiento espacial aumenta la rigidez y cambia la solución.
- verificación vs. validación en simulaciones científicas — Coloque la convergencia del solucionador dentro el flujo de trabajo de credibilidad más amplio.
- simulación & Proyectos de modelado — Explore los recursos relacionados de MatForge.
Lectura adicional
- Ecuación rígida: definiciones, indicadores y contexto histórico
- Higham y Trefethen: rigidez de las odas
- Notas IIT sobre estabilidad absoluta y estabilidad A
- Material EPFL sobre métodos explícitos estabilizados
- Recomendaciones para el solucionador de odas SCIML
- MathWorks: Ecuaciones diferenciales rígidas
Conclusión
La rigidez ocurre cuando la estabilidad numérica fuerza un método para resolver los componentes rápidos más de cerca de lo que requiere la salida deseada. Los métodos explícitos de Runge-Kutta tienen regiones de estabilidad limitadas, por lo que los grandes modos jacobianos negativos pueden imponer pasos extremadamente pequeños.
Los métodos implícitos A-estables eliminan esta restricción de estabilidad del semiplano izquierdo. Los métodos L-estables van más allá al amortiguar fuertemente los modos rápidos no resueltos. Estas propiedades explican por qué los métodos de Euler, BDF, Rosenbrock, Sdirk, TR-BDF2 y radau pueden superar a los solucionadores explícitos en sistemas rígidos.
Ningún diagnóstico o solucionador funciona para todos los problemas. Los valores propios, las relaciones de rigidez, la divergencia escalada y las restricciones de pasos observadas proporcionan información parcial. La estructura del solucionador jacobiano y lineal puede importar más que el número nominal de ecuaciones.
Los métodos explícitos estabilizados son útiles cuando la rigidez es moderada y está dominada por valores propios del eje real negativo. Los métodos IMEX funcionan cuando se pueden separar operadores rígidos y no rígidos. Los métodos de conmutación automática ayudan cuando el régimen cambia durante la integración.
La elección final debe basarse en pruebas de precisión de trabajo. El mejor solucionador rígido es el método que alcanza la precisión científica requerida con el menor costo computacional confiable.