Nachdem die gesamte Eingabe von JANAP abgearbeitet wurde, und keine Syntax- oder Semantikfehler aufgetreten sind, werden nun die Netzwerkgleichungen in geschlossener Form aufgebaut (bisher waren die Gleichungen ja nur bei den Bauelementen gespeichert und die Verbindungen durch die Zweig-Listen bei jedem Knoten dargestellt).
Aufgrund der bei den Bauelementen gespeicherten Ausdrücke werden die Bauelementgleichungen des Gesamtgleichungssystems erzeugt. Diese Gleichungen beschreiben im wesentlichen um welche Art von Bauelementen es sich handelt (Widerstand, Stromquelle, etc.) und welche Werte dieses Bauelement charakterisieren (Größe des Widerstandes, Temperaturverhalten, Zeitverhalten, etc.).
Zusätzlich zu der Beschreibung der Bauelemente muß auch die Topologie - die Verbindung der einzelnen Bauelemente - in das Gleichungssystem eingebracht werden. Die Topologie wird durch zwei Sätze von Gleichungssystemen (Matrizen) beschrieben:
Der Aufbau der Knotenmatrix entspricht dem graphentheoretischen Problem der Erstellung der Inzidenzmatrix eines gerichteten Graphen [44].
Dieser Prozeß wird verkompliziert, da in JANAP keine Einschränkungen der Topologie einer Schaltung existieren. Im Gegensatz zu den meisten anderen verfügbaren Netzwerksimulationsprogrammen kann ein ``Netzwerk'' - d.h. eine Schaltung die simuliert werden soll - aus mehreren Teilnetzwerken bestehen, die untereinander keine Verbindung haben. Die meisten anderen Netzwerksimulationsprogramme fordern, daß mindestens ein Knoten (in der Regel die Masse) gemeinsam ist. Diese Forderung ist jedoch für JANAP vollkommen sinnlos, da ja durch Öffnen eines Schalters das Netzwerk jederzeit zerfallen kann.
Die Inzidenzmatrix stellt in einem Knoten z.B. die Strombilanz dar, d.h. gibt an, welche Zweigströme in einen Knoten hineinfließen und welche wieder hinausfließen. Dieser Satz von Gleichungen muß so gewählt werden, daß die Gleichungen voneinander linear unabhängig sind. Zu diesem Zweck müssen die Gleichungen für alle Knoten, bis auf einen, jedes zusammenhängenden Teilnetzwerks aufgestellt werden. Die Auswahl des weggelassenen Knotens kann willkürlich erfolgen. Oft wird ein bestimmter Knoten (z.B. die Masse) oder der Knoten mit den meisten angeschlossenen Zweigen weggelassen. JANAP wählt den Knoten mit den meisten angeschlossenen Zweigen.
Die Inzidenzmatrix für das Gesamtnetzwerk wird nach folgendem Algorithmus bestimmt:
Der Aufbau der Matrix für die Kirchhoff'schen Maschenregeln entspricht dem graphentheoretischen Problem der Erstellung der Kreismatrix eines gerichteten Graphen [44][42].
Wie schon beim Aufbau der Knotenmatrix wird dieser Prozeß verkompliziert, da in JANAP keine Einschränkungen der Topologie einer Schaltung existieren.
Eine Zeile der Kreismatrix stellt die Kirchhoff'sche Maschenregel für eine Schleife des Netzwerkes dar. Die Kreise im Gesamtnetzwerk müssen so gewählt werden, daß die Gleichungen voneinander linear unabhängig sind. Zu diesem Zweck muß als erster Schritt für jedes der zusammenhängenden Teilnetzwerke ein ``spannender Baum'' (Gerüst) [44] ermittelt werden. Die Auswahl der Zweige, die in dem spannenden Baum enthalten sind, kann willkürlich erfolgen. Manche Netzwerkanalyseprogramme verwenden bei der Auswahl der Zweige, die im spannenden Baum enthalten sein sollen, die Art des Bauelements (Stromquelle, etc.). Dies ist besonders bei einigen Methoden zur Aufstellung der Netzwerkgleichungen erforderlich. In JANAP wird die Auswahl willkürlich vorgenommen, da durch die Einführung eines Universalelements eine Typisierung der Zweige nicht mehr sinnvoll möglich ist.
Der spannende Baum und darauf aufbauend die Schleifenmatrix wird nach folgendem Algorithmus bestimmt: