What is the Large Ill-Conditioned Nonlinear Brusselator System?

Written by linearization | Published 2025/03/29
Tech Story Tags: nonlinearsolve.jl | robust-nonlinear-solvers | julia-programming-language | gpu-accelerated-computation | sparse-matrix-computations | jacobian-free-krylov-methods | scientific-machine-learning | benchmarking-nonlinear-solvers

TLDRSolving ill-conditioned nonlinear systems requires specializing the linear solver on properties of the Jacobian to cut down on the linear solve...via the TL;DR App

Table of Links

Abstract and 1. Introduction

2. Mathematical Description and 2.1. Numerical Algorithms for Nonlinear Equations

2.2. Globalization Strategies

2.3. Sensitivity Analysis

2.4. Matrix Coloring & Sparse Automatic Differentiation

3. Special Capabilities

3.1. Composable Building Blocks

3.2. Smart PolyAlgortihm Defaults

3.3. Non-Allocating Static Algorithms inside GPU Kernels

3.4. Automatic Sparsity Exploitation

3.5. Generalized Jacobian-Free Nonlinear Solvers using Krylov Methods

4. Results and 4.1. Robustness on 23 Test Problems

4.2. Initializing the Doyle-Fuller-Newman (DFN) Battery Model

4.3. Large Ill-Conditioned Nonlinear Brusselator System

5. Conclusion and References

where

and the initial conditions are

with the periodic boundary condition

We analyze our solvers for this problem in 3 parts. Firstly, Figure 10 compares the scaling of NewtonRaphson and TrustRegion between frameworks. NonlinearSolve.jl leverages sparsity detection and colored sparse matrix algorithms to accelerate Jacobian construction and is consistently faster than all existing solvers here. None of the frameworks have built-in sparsity support and, unsurprisingly, don’t scale well. However, with increasing discretization, explicitly forming Jacobians eventually becomes infeasible. Figure 11 demonstrates NonlinearSolve.jl Jacobian-free Krylov Methods with Preconditioning that solve the linear system without constructing the Jacobian. We note that Sundials KINSOL with their built-in GMRES fails to converge to the solution, and MINPACK and NLsolve.jl don’t support Jacobian-Free methods.

Finally, in Figure 12, we present a Work-Precision Diagram for the discretized Brusselator on a 32 Ă— 32 grid, showing that our methods are an order of magnitude faster than the ones in other software.

This paper is available on arxiv under CC BY 4.0 DEED license.

Authors:

(1) AVIK PAL, CSAIL MIT, Cambridge, MA;

(2) FLEMMING HOLTORF;

(3) AXEL LARSSON;

(4) TORKEL LOMAN;

(5) UTKARSH;

(6) FRANK SCHĂ„FER;

(7) QINGYU QU;

(8) ALAN EDELMAN;

(9) CHRIS RACKAUCKAS, CSAIL MIT, Cambridge, MA.


Written by linearization | We publish those who illuminate the path and make the intricate intuitive.
Published by HackerNoon on 2025/03/29