When you solve numerically a (system of) linear partial differential equation (PDE) as for example Lapace's equation $\nabla^2\varphi = 0$ or Poisson's equation $\nabla^2\varphi = f$ you obtain a linear system of equations that can be solve easily with the tools provided by the theory of linear algebra. Conversely, when you solve a quasilinear (system of) PDE, as for example a simple convection-difussion problem $\nabla^2\varphi - \vec{v}\cdot\nabla\varphi = f$, or a nonlinear (system of) PDE, as for example a general convection-difussion problem $\nabla\cdot(\Gamma\nabla\varphi) - \nabla(\vec{v}\varphi) = f$, you obtain a nonlinear system of equations that cannot be solved (directly) with the same tools.One possible solution is the use Newton or Quasi-Newton method, but you must evaluate full or approximate Jacobian, which increases the complexity of algorithm. Another solution is to use Jacobi/Gauss-Seidel/SOR methods, but they do not work unless the system is diagonally dominant and the nonlinearities are small. What methods are used in practice or more often to solve these problems?
Solving quasilinear/nonlinear equations obtained from the discretization of partial differential equations
pde;solver