Solving large, sparse system of linear equations

1.3k Views Asked by At

I have a system of linear equations as follows:

$$(A+I)x=B$$

where $I$ is the $n\times n$ identity matrix,

$A$ is a $n\times n$ matrix such that the first and last rows are blank, and, for every other row $i$, with $2\le i\le(n-1)$, we choose one $k_i, 1\le k_i \le \min(i-1,n+1)$ such that, for a known value $q$,

$$a_{i,i-k_i}=-q, a_{i,i+k_i}=q-1, 0<q<1$$

and $B$ is an $n\times 1$ matrix:

$$B = \begin{pmatrix} 1 \\ 0 \\ \vdots \\ 0 \end{pmatrix}$$

What would be the most efficient way to calculate the solution $x$ if

  1. I required the full solution vector $x$?
  2. I only require the first few elements of the solution vector $x$ (in the case of large $n$)?

I realize that my question is a bit specific, so I would appreciate if the answers could point me towards computational techniques, rather than giving me an exact answer. What I have in mind would be some decomposition technique that makes the calculation less computationally intensive. I'd also appreciate if someone could provide a better representation of $A$ that more clearly captures the symmetry.

My current approach is to directly calculating the solution. While this is faster than calculating the full inverse of the matrix, it does not exploiting the inherent symmetry and sparseness of the matrix.