The goal when designing electrical networks is to apply a predefined operation on voltages or currents. Typical functions for electrical networks are amplification, oscillators and analog linear algorithmic operations such as addition, subtraction, multiplication, division, differentiation and integration.
To design electrical circuits, electrical engineers need to be able to predict the voltages and currents in the circuit. Linear circuits can be analysed to a certain extent by hand because complex number theory gave engineers the ability to treat all linear elements[?] using a single mathematical representation.
For more complex circuits, engineers turn to circuit simulation software. When faced with a new circuit, the software tries to find a steady state solution; it keeps all independent voltage and current sources in the circuit at a steady, unchanging state. Kirchhoff's Current Law applies for the currents flowing across every node in the circuit.
For a small signal analysis, every non-linear element can be linearized around its operation point to obtain the small signal estimate of the voltages and currents. This is an application of Ohm's Law. The resulting linear circuit matrix can be solved with Gauss-Jordan elimination.