BandGenLinSOE is class which is used to store a banded
unsymmetric system with kl subdiagonals and ku superdiagonals. The A
matrix is stored in a 1d double array with (kl+ku+1)*n elements, where
n is the size of the system. A_{i,j} is stored at location
(ku+1+i-j) + j*(ku+1+kl), where i and j range from 0 ton-1, i.e. C
notation. For example when n=5, kl = 2 and ku=1:
\left[
\begin{array}{ccccc}
a_{0,0} & a_{0,1} & 0 & 0 & 0