In this chapter, we study the solution methods for linear resistive networks. Once the network equations have been assembled, the solution of a linear resistive network reduces to a solution of the *linear algebraic system*:

where *A* is a square *n* × *n* matrix, *b* is an *n*-vector, and *x* is an *n*-vector of the unknown circuit voltages and currents. This is a classical problem, whose solution has been the subject of decades of research in mathematics and numerical analysis. In the West, early solutions to this problem date back to the work of Gauss in 1809. Our version of this problem has the two key features that the problem size is very big (*n* can be in the millions) and, luckily, the matrix *A* is very sparse, typically having no more than about 20 non-zero entries per row, on average. Had circuit matrices been “full,” rather than sparse, we would not be able to simulate the circuits that we simulate today. A full matrix is undesirable for reasons of both memory (storage) and execution time. The cardinal rule in circuit simulation is that one must never allow the matrix to become full; sparsity must be maintained.

Of course, the obvious solution to the problem *Ax* = *b* is *x* = *A*^{−1}*b*, so that one way to find *x* is to first explicitly compute ...

Start Free Trial

No credit card required