Can I take advantage of a nearly banded A in AX=b?

I am working on a 1D drift-driffusion problem in a finite-difference (FD) approach.

I hade 3 equations per node ($$3N$$ in total): electron continuity $$E_i$$, Poisson $$P_i$$, hole continuity $$H_i$$. With corresponding variables: electron concentration $$n_j$$, potential $$V_j$$, hole concentration $$p_j$$.

By rearranging the problem has a banded matrix, the Jacobian $$A$$ takes the following form, with shape $$(3N\times 3N)$$

$$A = \begin{pmatrix} A_{1,1} & A_{1,2} & & & & & \\ A_{2,1} & A_{2,2} & A_{2,3} & & & & \\ & A_{3,2} & A_{3,3} & A_{3,4} & & & \\ & & \ddots & \ddots & \ddots & & \\ & & & A_{N-2,N-3} & A_{N-2,N-2} & A_{N-2,N-1} & \\ & & & & A_{N-1,N-2} & A_{N-1,N-1} & A_{N-1,N} \\ & & & & & A_{N,N-1} & A_{N,N} \\ \end{pmatrix}$$

where

$$A_{i, j} = \begin{pmatrix} {\partial E_i}/{\partial n_j} & {\partial E_i}/{\partial V_j} & {\partial E_i}/{\partial p_j} \\ {\partial P_i}/{\partial n_j} & {\partial P_i}/{\partial V_j} & {\partial P_i}/{\partial p_j} \\ {\partial H_i}/{\partial n_j} & {\partial H_i}/{\partial V_j} & {\partial H_i}/{\partial p_j} \end{pmatrix}$$

Owing to that data structure, I have been using scipy.linalg.solve_banded to solve for $$X$$ in

$$AX = b$$

where $$b$$ is a $$(3N \times 1)$$ shaped vector.

My problem comes from that I want to add an equation that controls the potential at one end (say on the left) based on the value of total fluxes of $$n$$ and $$p$$ at both ends.

As a result the additional equation depends on $$(n_1, V_1, p_1, n_2, V_2, p_2)$$ but also $$(n_{N-1}, V_{N-1}, p_{N-1}, n_N, V_N, p_N)$$.

Therefore, if I was to include this new equation in $$A$$ to form a $$(3N+1 \times 3N+1)$$ Jacobian $$A'$$, the bandwith would suddenly become much larger. Though I can optimize this by inserting the new equation in the middle row of $$A$$, the banded representation would remain very sparse.

My question is then: is there a way I can solve for $$X'$$ in $$A' X' = b'$$

while keeping the advantages of the banded structure of $$A$$?

• @zimbra314 Thank for your reply. In that case, does it matter that $A$ is reordered as shown or the natural (non banded) ordering will perform equally well? – Alexis Jan 23 '19 at 13:23