Last time I came close to describing the ‘black box functor’, which takes an electrical circuit made of resistors
and sends it to its behavior as viewed from outside. From outside, all you can see is the relation between currents and potentials at the ‘terminals’—the little bits of wire that poke out of the black box:
I came close to defining the black box functor, but I didn’t quite make it! This time let’s finish the job.
The categories in question
The black box functor
goes from the category where morphisms are circuits made of resistors, to the category where morphisms are linear relations. Let me remind you how these categories work, and introduce a bit of new notation.
Here is the category
• an object is a finite set;
• a morphism from to is an isomorphism class of cospans
in the category of graphs with edges labelled by resistances: numbers in Here we think of the finite sets and as graphs with no edges. We call the set of inputs and the set of outputs.
• we compose morphisms in by composing isomorphism classes of cospans.
And here is the category
• an object is a finite-dimensional real vector space;
• a morphism from to is a linear relation meaning a linear subspace
• we compose a linear relation and a linear relation in the usual way we compose relations, getting:
In case you’re wondering: I’ve just introduced the wiggly arrow notation
for a linear relation from to because it suggests that a relation is a bit like a function but more general. Indeed, a function is a special case of a relation, and composing functions is a special case of composing relations.
The black box functor
Now, how do we define the black box functor?
Defining it on objects is easy. An object of is a finite set and we define
The idea is that could be a set of inputs or outputs, and then
is a list of numbers: the potentials and currents at those inputs or outputs.
So, the interesting part is defining the black box functor on morphisms!
For this we start with a morphism in :
The labelled graph consists of:
• a set of nodes,
• a set of edges,
• maps sending each edge to its source and target,
• a map sending each edge to its resistance.
The cospan gives maps
These say how the inputs and outputs are interpreted as nodes in the circuit. We’ll call the nodes that come from inputs or outputs ‘terminals’. So, mathematically,
is the set of terminals: the union of the images of and
In the simplest case, the maps and are one-to-one, with disjoint ranges. Then each terminal either comes from a single input, or a single output, but not both! This is a good picture to keep in mind. But some subtleties arise when we leave this simplest case and consider other cases.
Now, the black box functor is supposed to send our circuit to a linear relation. I’ll call the circuit for short, though it’s really the whole cospan
So, our black box functor is supposed to send this circuit to a linear relation
This is a relation between the potentials and currents at the input terminals and the potentials and currents at the output terminals! How is it defined?
I’ll start by outlining how this works.
First, our circuit picks out a subspace
This is the subspace of allowed potentials and currents on the terminals. I’ll explain this and why it’s called a bit later. Briefly, it comes from the principle of minimum power, described last time.
Then, the map
gives a linear relation
This says how the potentials and currents at the inputs are related to those at the terminals. Similarly, the map
gives a linear relation
This says how the potentials and currents at the outputs are related to those at the terminals.
Next, we can ‘turn around’ any linear relation
to get a relation
Here we are just switching the input and output potentials, but when we switch the currents we also throw in a minus sign. The reason is that we care about the current flowing in to an input, but out of an output.
Finally, one more trick: given a linear subspace
of a vector space we get a linear relation
called the identity restricted to , defined like this:
If is all of this relation is actually the identity function on Otherwise it’s a partially defined function that’s defined only on and is the identity there. (A partially defined function is an example of a relation.) My notation is probably bad, but I don’t know a better one, so bear with me.
Let’s use all these ideas to define
To do this, we compose three linear relations:
1) We start with
2) We compose this with
3) Then we compose this with
1) says how the potentials and currents at the inputs are related to those at the terminals,
2) picks out which potentials and currents at the terminals are actually allowed, and
3) says how the potentials and currents at the terminals are related to those at the outputs.
So, I hope all makes sense, at least in some rough way. In brief, here’s the formula:
Now I just need to fill in some details. First, how do we define and They work exactly the same way, by ‘copying potentials and adding currents’, so I’ll just talk about one. Second, how do we define the subspace This uses the principle of minimum power.
Duplicating potentials and adding currents
Any function between finite sets
gives a linear map
Mathematicians call this linear map the pullback along and for any it’s defined by
In our application, we think of as a list of potentials at terminals. The function could map a bunch of inputs to the same terminal, and the above formula says the potential at this terminal gives the potential at all those inputs. So, we are copying potentials.
We also get a linear map going the other way:
Mathematicians call this the pushforward along and for any it’s defined by
In our application, we think of as a list of currents entering at some inputs. The function could map a bunch of inputs to the same terminal, and the above formula says the current at this terminal is the sum of the currents at all those inputs. So, we are adding currents.
Putting these together, our map
gives a linear relation
where the pair is related to the pair iff
So, here’s the rule of thumb when attaching the points of to the input terminals of our circuit: copy potentials, but add up currents. More formally:
The principle of minimum power
Finally, how does our circuit define a subspace
of allowed potential-current pairs at the terminals? The trick is to use the ideas we discussed last time. If we know the potential at all nodes of our circuit, say , we know the power used by the circuit:
We saw last time that if we fix the potentials at the terminals, the circuit will choose potentials at the other nodes to minimize this power. We can describe the potential at the terminals by
So, the power for a given potential at the terminals is
Actually this is half the power: I stuck in a factor of 1/2 for some reason we’ll soon see. This is a quadratic function
so its derivative is linear. And, our work last time showed something interesting: to compute the current flowing into a terminal we just differentiate with respect to the potential at that terminal:
This is the reason for the 1/2: when we take the derivative of we bring down a 2 from differentiating all those squares, and to make that go away we need a 1/2.
The space of allowed potential-current pairs at the terminals is thus the linear subspace
And this completes our precise description of the black box functor!
The hard part is this:
Theorem. is a functor.
In other words, we have to prove that it preserves composition:
For that, read our paper:
• John Baez and Brendan Fong, A compositional framework for passive linear networks.