- Cochains

Next, we represent a voltage distribution in geometric terms. For a finite-dimensional vector space *U*, we can define its dual space *U*∗ = {*α* : *U* → <sup>R</sup>}, where *α* is a linear map and *U*∗ is a vector space with dim *U*∗ = dim *U*. An element *α* ∈ *U*∗ can be interpreted as an apparatus which measures a vector *u* ∈ *U* and yields *<sup>α</sup>*(*u*). For a basis {*<sup>u</sup>*1, *u*2, ··· , *um*} in *U*, we can define a dual basis {*u*1, *u*2, ··· , *u<sup>m</sup>*} in *U*∗ satisfying *ui* (*uj*) = *δi j*, where the Kronecker delta *δi j* is 1 if *i* = *j*; otherwise, 0. For a vector *v* = ∑*m i*=1 *vi ui* ∈ *U* with *vi* ∈ R, *ui* extracts the component with respect to *ui* as *ui* (*v*) = *vi* .

Along an edge, we can calculate power consumption as a real scalar equal to the voltage multiplied by the current. The total power consumption in the circuit is the sum of power consumption over all edges (power generation is represented by negative power consumption). Therefore, a voltage distribution is considered as *V* ∈ *C*<sup>1</sup> = ( *<sup>C</sup>*1)<sup>∗</sup> yielding total power *V*(*I*) for *I* ∈ *C*1. An element in *C*<sup>1</sup> is called a *1-cochain*. In *C*1, we have a dual basis {*ei* |*i* = 1, 2, ··· , |E|}. Then, we can express *V*(*I*) = ∑|E| *i*=1 *ViI<sup>i</sup>* for *V* = ∑|E| *i*=1 *Vie<sup>i</sup>* and *I* = ∑|E| *i*=1 *Ii ei*. We also write *V*(*I*) as *I V* to stress the analogy to the theory of continuous fields. A 0-cochain *ϕ* ∈ *C*<sup>0</sup> = ( *<sup>C</sup>*0)<sup>∗</sup> also acts for a 0-chain *b* ∈ *C*0 as *bϕ* = *ϕ*(*b*).

#### - Kirchhoff's Voltage Law

Now, we reframe Kirchhoff's voltage law (KVL) in our geometric approach. KVL states that the sum of voltages along any loop must be zero. Then, a voltage distribution *V* ∈ *C*<sup>1</sup> must satisfy *I V* = 0 for all *I* ∈ *Z*1 (also known as Tellegen's theorem) because *I* is generated from mesh currents. To concisely express KVL, we define a null space (*U* )⊥ for a linear subspace *U* in *U* as (*U* )⊥ = {*α* ∈ *<sup>U</sup>*∗|*α*(*u*) = 0 for all *u* ∈ *U* }. The dimension of the null space is given by dim(*U* )⊥ = dim *U* − dim *U* . The relation between *U* and (*U* )⊥ is schematically depicted in Figure 3. By using the concept of a null space, KVL is clearly rewritten to restrict voltage distribution to (*<sup>Z</sup>*1)<sup>⊥</sup>.

**Figure 3.** Relation between *U* and (*U*)<sup>⊥</sup>.
