I am solving a large system of nonlinear equations. The Jacobian for this system of equations is a block tridiagonal matrix. When solved using Newton's method, the equation residuals may keep oscillating around lower values. In this case I have found that a rank one correction to the Jacobian, i.e. the broyden method, converges more quickly. The problem is that the traditional broyden method of correcting the Jacobian destroys its sparse pattern. Is there a way to update the Jacobi's method while maintaining the (block) tridiagonal matrix?