Category Theory
Zulip Server
Archive

You're reading the public-facing archive of the Category Theory Zulip server.
To join the server you need an invite. Anybody can get an invite by contacting Matteo Capucci at name dot surname at gmail dot com.
For all things related to this archive refer to the same person.


Stream: theory: applied category theory

Topic: Laplacian of an open graph


view this post on Zulip Peva Blanchard (Nov 12 2025 at 06:13):

Hi, for some project (unrelated to CT), I am studying real matrices LL which satisfy

Laa0Lab0LaabaLab\begin{align*} L_{aa} &\ge 0 \\ L_{ab} &\le 0 \\ L_{aa} &\ge \sum_{b \ne a} |L_{ab}| \end{align*}

They look like laplacian matrices, the difference being that the third condition is an inequality instead of an equality. So I'm calling them super-laplacian matrices.

A laplacian matrix LL is the matrix representation of the laplacian operator associated with a weighted graph. The vertices of the graph index the rows (and columns) of LL, and there is an edge between two distinct vertices a,ba,b whenever Lab<0L_{ab} < 0, the weight of this edge being Lab|L_{ab}|. The quantity LaaL_{aa} is equal to the sum of weights of all edges incident to aa.

I think we can also interpret a super-laplacian matrix as a laplacian operator associated with some "open graph". Roughly speaking, such an open graph is a graph where some vertices are marked as "exterior" (the remaining vertices being "interior"). The interior vertices index the rows (and columns) of LL. The difference LaabaLabL_{aa} - \sum_{b\ne a} |L_{ab}|, where bb runs over interior vertices, accounts for the sum of weights of "boundary edges" connecting aa to exterior vertices.

I came up with a more formal definition, but, given the ACT literature about open systems, I wonder if this has been studied already.

view this post on Zulip John Baez (Nov 12 2025 at 11:31):

I don't understand one key sentence in your description. I'd hope that we have

Laa=baLabL_{aa} = \sum_{b\ne a} |L_{ab}|

for all interior vertices aa.

Anyway, I haven't seen this idea. It - or something similar, I haven't thought about it enough yet - looks very interesting. The spectral analysis of open graph Laplacians should be very cool if done right.

view this post on Zulip John Baez (Nov 12 2025 at 12:05):

The fact that I haven't seen it doesn't mean very much, though! If it appeared in the structured cospan literature I should have seen it, but if it appeared in the graph theory literature I would never have seen it.

view this post on Zulip James Deikun (Nov 12 2025 at 13:05):

I think by "interior vertices" was meant all the vertices corresponding to rows and columns of the matrix and "exterior vertices" was meant to refer to the notional vertices connected to the "unattached" edges.

I think a "super-laplacian" matrix is indeed a matrix that's an on-diagonal block of a laplacian matrix, and you can always realize it this way by adding one row and column. You add La=bLabL_{a{*}} = - \sum_{b \ne {*}} |L_{ab}| and Lb=0L_{{*}b} = 0.

view this post on Zulip Peva Blanchard (Nov 12 2025 at 17:42):

James Deikun said:

I think by "interior vertices" was meant all the vertices corresponding to rows and columns of the matrix and "exterior vertices" was meant to refer to the notional vertices connected to the "unattached" edges.

I think a "super-laplacian" matrix is indeed a matrix that's an on-diagonal block of a laplacian matrix, and you can always realize it this way by adding one row and column. You add La=bLabL_{a{*}} = - \sum_{b \ne {*}} |L_{ab}| and Lb=0L_{{*}b} = 0.

Yes that's right.

Here is an example
image.png

The usual laplacian of the whole graph is the matrix

Δ=abcxya31110b13101c11200x10010y01001\Delta = \begin{array}{c|ccc|cc} & a & b & c & x & y \\ \hline a & 3 & -1 & -1 & -1 & 0 \\ b & -1 & 3 & -1 & 0 & -1 \\ c & -1 & -1 & 2 & 0 & 0 \\ \hline x & -1 & 0 & 0 & 1 & 0 \\ y & 0 & -1 & 0 & 0 & 1 \end{array}

And if I "discard" the exterior vertices xx and yy, I obtain the submatrix

L=(311131112)L = \begin{pmatrix} 3 & -1 & -1 \\ -1 & 3 & -1 \\ -1 & -1 & 2 \end{pmatrix}

which is "super-laplacian".

view this post on Zulip Peva Blanchard (Nov 12 2025 at 17:43):

John Baez said:

Anyway, I haven't seen this idea. It - or something similar, I haven't thought about it enough yet - looks very interesting. The spectral analysis of open graph Laplacians should be very cool if done right.

Oh thanks. Well, if this is new, I might give it a try. I have some preliminary results about a (baby) co/homology. But my current formal definition of open graphs feel clumsy. I'll have a look at structured (or decorated?) cospans.

view this post on Zulip John Baez (Nov 12 2025 at 18:01):

Open graphs are one of the basic examples in structured cospan theory, so they appear in all introductions to structured cospans.

view this post on Zulip Peva Blanchard (Nov 13 2025 at 08:58):

I explained a bit more the motivation behind my question in this topic

view this post on Zulip JR (Nov 13 2025 at 19:07):

If this works it ought to (IMO) inform surgery on Riemannian manifolds. And vice versa. Like say (this is probably not the ideal reference) https://doi.org/10.1215/S0012-7094-06-13323-9

view this post on Zulip Peva Blanchard (Nov 14 2025 at 13:10):

If anyone doesn't mind, I'll do like David Egolf, and use this thread to think out loud.

Base category G\mathbb{G}

So, I reread the definition of a structured cospan. And before even using them, I need to figure out which category G\mathbb{G} of graphs I want to use. I will need this category to be closed under finite colimit, and I'll probably need a left adjoint L:FinSetGL : \text{FinSet} \to \mathbb{G}.

I'll start with informally stated requirements for the kind of graphs I need, and then I'll choose the most appropriate category G\mathbb{G}. My problem is about heat propagation. Equivalently, I'm picturing random walks on graphs.

So, in my situation, I think a graph is a diagram of sets
image.png
where s,ts,t denote the source and target map, ii is the involution that reverse edges, and ω\omega is the weight function.

view this post on Zulip Peva Blanchard (Nov 14 2025 at 13:16):

The part that troubles me is the involution. It has to satisfy some conditions

This last condition is a bit weird, as it refers to elements of EE.

view this post on Zulip Peva Blanchard (Nov 14 2025 at 13:18):

The other part that troubles me is the weight ω\omega, because it refers directly to (0,)(0,\infty). I remember that attributes were handled a specific way in ACSets.

view this post on Zulip Peva Blanchard (Nov 14 2025 at 13:59):

Ok, I re-read this blog post. I could present my schema as a profunctor SS between the category consisting of E,VE,V and i,s,ti,s,t, and the singleton category, with single object (0,)(0,\infty). And then a graph would be an attributed c-set on this schema, i.e. some 22-cell etc. I guess this framework is useful to obtain general results about ac-sets, e.g., closure under colimits.

view this post on Zulip Peva Blanchard (Nov 14 2025 at 14:09):

Anyway, I'll stay low-brow, and define my category G\mathbb{G} explicitly.

view this post on Zulip Peva Blanchard (Nov 14 2025 at 22:57):

An object GG of G\mathbb{G} is specified by

view this post on Zulip John Baez (Nov 14 2025 at 23:08):

That inequality will tend to prevent your category from having nice coequalizers.... I'd avoid that if I were you. (Equations are preserved by "quotient maps", inequalities not.)

view this post on Zulip Peva Blanchard (Nov 14 2025 at 23:12):

Oh thanks. I'll follow your advice. So an object GG of G\mathbb{G} is specified by

view this post on Zulip Peva Blanchard (Nov 14 2025 at 23:13):

For morphisms, I see two options.

  1. The most obvious one. A morphism from GG to HH is specified by functions f:V(G)V(H)f : V(G) \to V(H) and g:E(G)E(H)g : E(G) \to E(H) such that source and target functions are compatible (sg=fssg = fs, tg=fttg = ft), involutions are compatible (ig=giig = gi), and weights are preserved (ωg=ω\omega g = \omega).

  2. Weights are accumulated. A morphism from GG to HH is specified by functions f,gf , g as above, except for the preservation of weight. Instead,

ω(g(e))=e : g(e)=g(e)ω(e) \omega(g(e)) = \sum_{e' ~:~ g(e') = g(e)} \omega(e')

I may need to think a bit more about my use case to decide which one is the best.

view this post on Zulip Peva Blanchard (Nov 14 2025 at 23:55):

At the end, I would like to relate my graphs with laplacian matrices. From my small experience with computing graph laplacians, I noticed the following behaviour. Given a graph GG, possibly with multiple edges with the same endpoints, it has laplacian matrix Δ\Delta. The off-diagonal entries of Δ\Delta aggregate the weights. Also, I can almost go the other way around: given a laplacian matrix Δ\Delta, I can build a graph (with at most one edge between any two distinct vertices) which has Δ\Delta as laplacian matrix.This situation feels like an adjunction.

So I'll stick with option 2 for my morphisms.

view this post on Zulip Peva Blanchard (Nov 15 2025 at 00:23):

Now, to use the structured cospan machinery, it suffices that I

  1. check that G\mathbb{G} has finite colimits
  2. define a left-adjoint functor L:FinSetGL : \text{FinSet} \to \mathbb{G}

I believe 1 is true. For (finite) coproducts, I can do pointwise (finite) coproducts. This really amounts to putting a bunch of graphs next to each other. For coequalizers, consider two parallel morphisms a,ba,b from GG to HH. I want to build a coequalizer graph QQ. Let's define

V(Q)=V(H)/(a(x)=b(x))E(Q)=E(H)/(a(e)=b(e))\begin{align*} V(Q) &= V(H) / (a(x) = b(x)) \\ E(Q) &= E(H) / (a(e) = b(e)) \end{align*}

where (a(x)=b(x))(a(x) = b(x)) is a short-hand notation for the equivalence relation on V(H)V(H) generated by uvu \simeq v iff there exists xV(G)x \in V(G) such that u=a(x)u = a(x) and v=b(x)v = b(x). And similarly for (a(e)=b(e))(a(e) = b(e)). The source and target maps can be defined consistenly on E(Q)E(Q), the involution as well (thanks to John's advice).

The weight function is not so obvious, because of my choice of morphism

view this post on Zulip Peva Blanchard (Nov 15 2025 at 07:58):

Actually, we have no choice. An edge ϵE(Q)\epsilon \in E(Q) is an equivalence class (subset of edges in E(H)E(H)). I define its weight as the sum of weights of its members, ω(ϵ)=eϵω(e)\omega(\epsilon) = \sum_{e\in \epsilon} \omega(e). This is the only way to define it if I want the quotient map π:HQ\pi : H \to Q to satisfy the weight aggregation rule.

view this post on Zulip Peva Blanchard (Nov 15 2025 at 08:07):

I'll skip the details on checking that QQ, so defined, is indeed a coequalizer.

view this post on Zulip Peva Blanchard (Nov 15 2025 at 08:10):

Alright, now, the functor L:FinSetGL : \text{FinSet} \to \mathbb{G}. It maps a finite set VV to the the graph with VV as set of vertices, and empty set of edges. The right adjoint is the functor that maps a graph GG to its set of vertices. Again, I'll skip checking the details (that they are functors, and adjoint to each other).

view this post on Zulip Peva Blanchard (Nov 15 2025 at 08:16):

Open graphs

Finally, I obtain a symmetric monoidal double category Open(G)\text{Open}(\mathbb{G}) of open graphs.

view this post on Zulip Peva Blanchard (Nov 15 2025 at 08:25):

Associated vector spaces

Ok, now the fun part, defining the laplacian. In algebraic graph theory, we can define the laplacian by considering the vector space C0=[V,R]C^0 = [V,\mathbb{R}] of functions on vertices, C1=[E,R]C^1 = [E, \mathbb{R}] of functions on edges, equipping them with the obvious inner products, defining the discrete differential δ:C0C1\delta : C^0 \to C^1 by

δ(f):ef(s(e))f(t(e))\delta(f) : e \mapsto f(s(e)) - f(t(e))

and the laplacian Δ:C0C0\Delta : C^0 \to C^0 as

Δ=δδ \Delta = \delta^* \delta

where δ\delta^* is the adjoint of δ\delta.

view this post on Zulip Peva Blanchard (Nov 15 2025 at 08:36):

Thanks to the categorical perspective, I want to try the following strategy:

view this post on Zulip Peva Blanchard (Nov 15 2025 at 09:52):

Not sure, if this is the right approach. Even if I have an open cochain complex, how do I obtain a "laplacian"?

view this post on Zulip John Baez (Nov 15 2025 at 10:35):

We usually get a graph Laplacian by making C0C^0 (resp. C1C^1) into inner product spaces such that vertices (resp. edges) form an orthonormal basis. This lets you define an operator d:C1(G)C0(G)d: C^1(G) \to C^0(G) by

da,b=a,δb \langle d a, b \rangle = \langle a, \delta b \rangle

(i.e. dd is the adjoint operator of δ\delta). Then we get a Laplacian on C0(G)C^0(G) by Δ=dδ \Delta = d \delta and one on C1(G)C^1(G) by taking δd\delta d.

view this post on Zulip John Baez (Nov 15 2025 at 10:38):

By the way, the people I know write dd for your δ\delta and \partial for what I just called dd.

view this post on Zulip Peva Blanchard (Nov 15 2025 at 12:45):

Yes. This gives me another idea. So we want define inner product spaces C0(G)C^0(G) and C1(G)C^1(G), and a linear map d:C0(G)C1(G)d : C^0(G) \to C^1(G) when GG is an open graph, i.e. a horizontal 1-morphism in Open(G)\text{Open}(\mathbb{G}).

So, maybe, we want to define symmetric monoidal double functors C0,C1:Open(G)UC^0, C^1 : \text{Open}(\mathbb{G}) \to \mathbb{U} into a well-chosen sym mon double category U\mathbb{U}, and a transformation d:C0C1d: C^0 \Rightarrow C^1 that satisfy some good properties.

view this post on Zulip Peva Blanchard (Nov 15 2025 at 13:03):

Defining U=Open(V)\mathbb{U} = \text{Open}(\mathbb{V})

I will try to define U\mathbb{U} using the structured cospan construction, U=Open(V)\mathbb{U} = \text{Open}(\mathbb{V}).

Let's try with V\mathbb{V} the category specified by:

I claim V\mathbb{V} is closed under finite colimits. Indeed, Orthogonal direct sums provide coproducts. Cokernel of f:ABf : A \to B is provided by the projection on the orthogonal complement of the image of ff in BB.

view this post on Zulip Peva Blanchard (Nov 15 2025 at 13:29):

Now, I want to define a functor L:FinSetVL : \text{FinSet} \to \mathbb{V} that preserve finite colimits.

Given a finite set XX, I define L(X)L(X) to be the free vector space equipped with the unique inner product that makes XX an orthonormal basis.

I don't think LL is a left adjoint, because, intuitively, the right adjoint would need to pick an orthonormal basis. So I'll check directly if LL preserve finite colimits.

view this post on Zulip Peva Blanchard (Nov 15 2025 at 13:30):

It seems clear to me that LL preserve finite coproducts, so I'll focus on coequalizers.
Consider two parallel functions f,g:XYf,g : X \to Y between finite sets, and q:YQq : Y \to Q their coequalizer.
image.png

We have to check that the linear map Lq:L(Y)L(Q)Lq : L(Y) \to L(Q) is a cokernel of h=L(f)L(g)h = L(f) - L(g).

view this post on Zulip Peva Blanchard (Nov 15 2025 at 15:09):

LqLq is a cokernel

view this post on Zulip Peva Blanchard (Nov 15 2025 at 15:11):

We conclude that LL preserves finite colimits.

Wrapping everything up, the structured cospan construction gives a sym monoidal double
category U=Open(V)\mathbb{U} = \text{Open}(\mathbb{V}). Concretely,

view this post on Zulip Peva Blanchard (Nov 15 2025 at 15:45):

Functor C0C^0

I want to define a (sym mon double) functor C0:Open(G)Open(V)C^0 : \text{Open}(\mathbb{G}) \to \text{Open}(\mathbb{V}).
Both double categories have the same vertical category FinSet\text{FinSet}, so the object and vertical parts of C0C^0 are clear.

Focus on the horizontal part. Consider an open graph (X,G,Y)(X,G,Y), i.e. a cospan in G\mathbb{G}

L(X)GL(Y)L(X) \to G \leftarrow L(Y)

The core idea is to send a graph HGH \in \mathbb{G} to the vector space of real functions on the vertices of HH, equipped with the obvious inner product f,g=vf(v)g(v)\langle f, g \rangle = \sum_v f(v) g(v). If ϕ:HK\phi : H \to K is morphism in G\mathbb{G}, the linear map ψ=C0ϕ:C0KC0H\psi = C^0 \phi : C^0 K \to C^0 H is defined, for all fC0Kf \in C^0 K

ψ(f):(vV(H))f(ϕ(v))\psi(f) : (v \in V(H)) \to f( \phi(v) )

The functor so defined is contravariant.

view this post on Zulip Peva Blanchard (Nov 15 2025 at 15:45):

Thus, from the cospan in G\mathbb{G}, we obtain a cospan in Vop\mathbb{V}^{op}

C0(X)C0(G)C0(Y)C^0(X) \to C^0(G) \leftarrow C^0(Y)

Connecting with my original intent, I would like to consider this cospan as "the vector space of 0-cochains on the open graph". (But, of course, it is not an actual vector space)

view this post on Zulip Peva Blanchard (Nov 15 2025 at 15:47):

What would an element of this "space" look like? Concretely, it is a function ff on the vertices of the graph GG, together with its restrictions fXf|_X and fYf|_Y.

view this post on Zulip Peva Blanchard (Nov 15 2025 at 16:20):

This whole thing is going a bit out of control, but let's continue with 2-cells.
Consider the 2-cell in Open(G)\text{Open}(\mathbb{G})
image.png

where α:GH\alpha : G \to H is a morphism in G\mathbb{G}, f:XIf : X \to I and g:YJg : Y \to J are functions.

We define a 2-cell (diagram in Vop\mathbb{V}^{op})
image.png

In this diagram C0(α)C^0(\alpha) represents the linear map that sends any functions λ\lambda on the vertices of HH to the function λα\lambda\alpha on the vertices of GG. And similarly for C0(f),C0(g)C^0(f), C^0(g).

I won't write the details, but it seems that all the squares commute indeed. Basically, it's all about copying function values or restricting to subsets of vertices.

view this post on Zulip Peva Blanchard (Nov 15 2025 at 16:35):

Now, I am realizing that C0C^0 arrives in Open(Vop)\text{Open}(\mathbb{V}^{op}). But I have not verified if Vop\mathbb{V}^{op} is eligible for the structured cospan construction.

view this post on Zulip Peva Blanchard (Nov 15 2025 at 16:40):

Vop\mathbb{V}^{op} is ok

view this post on Zulip Peva Blanchard (Nov 15 2025 at 16:48):

There are lots of other laws (vertical/horizontal compositions, ...) to check in order to state that C0:Open(G)Open(Vop)C^0 : \text{Open}(\mathbb{G}) \to \text{Open}(\mathbb{V}^{op}) is a sym monoidal double functor.

I'll take a break on the details of C0C^0 here, possibly coming back to it when I am more confident that the end is worth it.

view this post on Zulip Peva Blanchard (Nov 16 2025 at 20:37):

Ok, I think I went too fast into double category territory and got lost. I'll take a step back.

view this post on Zulip John Baez (Nov 16 2025 at 22:13):

You can really delete comments by mousing to the right of them, clicking on the three dots that appear, and then clicking on "Delete message". Then we won't see these messages saying deleted.

view this post on Zulip Peva Blanchard (Nov 16 2025 at 22:18):

I tried, but a Zulip option prevents me from deleting my own messages if they are more than 1 day old.

view this post on Zulip John Baez (Nov 16 2025 at 22:19):

Oh, I guess you're right.

view this post on Zulip Peva Blanchard (Nov 17 2025 at 17:21):

Alright, I may have a more appropriate approach. Here is the general outline.

I have my category G\mathbb{G} of graphs (weighted multigraph, with edge involution, and morphisms that aggregate weights), and the associated double category Open(G)\text{Open}(\mathbb{G}) of open graphs.

Let V\mathbb{V} be the category of finite dimensional inner product spaces with linear maps. I'll consider the double category Cospan(V)\text{Cospan}(\mathbb{V}) of cospans in V\mathbb{V}.

Next, I want to define double functors

C0:Open(G)Cospan(V)C1:Open(G)Cospan(V)\begin{align*} C^0 : \text{Open}(\mathbb{G}) &\to \text{Cospan}(\mathbb{V}) \\ C^1 : \text{Open}(\mathbb{G}) &\to \text{Cospan}(\mathbb{V}) \end{align*}

Then, I want to define (double) natural transformations

d:C0C1d:C1C0\begin{align*} d : C^0 \Rightarrow C^1 \\ d^*: C^1 \Rightarrow C^0 \end{align*}

Finally, I'll obtain my "open graph laplacian" as the composition

Δ=dd:C0C0\Delta = d^*d : C^0 \Rightarrow C^0

Similarly, I'll obtain the "edge laplacian", as dd:C1C1dd^* : C^1 \Rightarrow C^1.

view this post on Zulip Peva Blanchard (Nov 17 2025 at 17:45):

Functor C0C^0

definition

view this post on Zulip Peva Blanchard (Nov 17 2025 at 17:57):

Functor C1C^1

This one was trickier than I thought.

definition

view this post on Zulip Peva Blanchard (Nov 17 2025 at 18:10):

Transformation d:C0C1d : C^0 \Rightarrow C^1

definition

view this post on Zulip Peva Blanchard (Nov 17 2025 at 18:14):

Transformation d:C1C0d^* : C^1 \Rightarrow C^0

definition

view this post on Zulip John Baez (Nov 17 2025 at 19:17):

Let V\mathbb{V} be the category of finite dimensional inner product spaces with linear maps.

These are arbitrary linear maps I guess, not preserving the inner product?

view this post on Zulip John Baez (Nov 17 2025 at 19:35):

this work of yours looks very interesting, though I have not gone through it all yet.

By the way, the edge involution may not be very important to all of this. I brought it into my paper Topological crystals, along with the annoying inequality i(e)ei(e) \ne e, because it's a reasonably convenient way to make each edge "bidirectional": you can reverse an edge from a vertex $$v$ to a vertex ww and get one going from ww to vv, and this new reversed edge is never the same as the original edge. The italicized clause only matters from edges from a vertex to itself. Without this clause you could have some edges from vv to vv that are their own reverses, and others that are not, and this can be confusing. But do these edges from a vertex to itself affect the graph Laplacian at all?

view this post on Zulip Peva Blanchard (Nov 17 2025 at 19:56):

John Baez said:

These are arbitrary linear maps I guess, not preserving the inner product?

Indeed, I'm not enforcing the linear maps to preserve the inner product. Actually, I'm not really using the inner product structures explicitly. For dd^*, I'm giving an explicit formulation, which I derived from the usual adjoint of a linear map.

view this post on Zulip Peva Blanchard (Nov 17 2025 at 19:57):

John Baez said:

this work of yours looks very interesting, though I have not gone through it all yet.

Thank you :) I havn't gone through it all either, as there are double categorical concepts I have to experiment with.

view this post on Zulip Peva Blanchard (Nov 17 2025 at 20:03):

John Baez said:

But do these edges from a vertex to itself affect the graph Laplacian at all?

Mmh, actually these self-loops caused me some issue in defining C1C^1. I had to explicitly "kill" these self-loops. The space C1GC^1G is that of functions cc on the edges of GG that are anti-symmetric with respect to the involution, and which assigns 00 to self-loops.

Moreover, in the usual graph-theoretic laplacian, self-loops are also killed, because the differential dfdf on this edge is automatically zero.

view this post on Zulip Peva Blanchard (Nov 17 2025 at 20:05):

I assumed bidirectional edges because of the original situation where I encountered these "super-laplacian matrices". Maybe they are not needed after all to define the open graph laplacian.

In graph theory, it is possible to define the laplacian matrix of a directed (multi)graph. This laplacian is not symmetric anymore, so the usual spectral analysis is not as convenient.

view this post on Zulip Peva Blanchard (Nov 17 2025 at 21:03):

Transformation Δ=dd\Delta = d^*d

Now, I want to have a look at what Δ\Delta does. Composing all things together, we obtain this diagram
image.png

Let ϕC0G\phi \in C^0G. We obtain, for any vertex vV(G)v \in V(G)

Δϕv=χ(v)(s(e)=vϕ(v)χ(t(e))ϕ(t(e)))\Delta \phi \cdot v = \chi(v) \cdot \left(\sum_{s(e) = v} \phi(v) - \chi(t(e)) \cdot \phi(t(e))\right)

where

χ(v)={1if v∉XY0if vXY\chi(v) = \begin{cases} 1 &\text{if } v \not\in X \cup Y \\ 0 &\text{if } v \in X \cup Y \end{cases}

For instance, for the graph GG that is line of 4 vertices, the two endpoints being exterior vertices, we obtain, as a matrix

Δ=(0000021001200000)\Delta = \begin{pmatrix} 0 & 0 & 0 & 0 \\ 0 & 2 & -1 & 0 \\ 0 & -1 & 2 & 0 \\ 0 & 0 & 0 & 0 \end{pmatrix}

which is indeed "super-laplacian".

view this post on Zulip Peva Blanchard (Nov 17 2025 at 21:11):

Bug

I made a mistake in my definitions: the transformation Δ\Delta is not natural ...

counter-example

I think that's because I allow too many graph morphisms in G\mathbb{G}.

view this post on Zulip John Baez (Nov 17 2025 at 21:57):

Peva Blanchard said:

John Baez said:

These are arbitrary linear maps I guess, not preserving the inner product?

Indeed, I'm not enforcing the linear maps to preserve the inner product. Actually, I'm not really using the inner product structures explicitly. For dd^*, I'm giving an explicit formulation, which I derived from the usual adjoint of a linear map.

Good, then don't include the inner product in the definition of the category V\mathbb{V} - it's much nicer to let V=Vect\mathbb{V} = \mathsf{Vect} if that works, or maybe FinVect\mathsf{FinVect} if you demand that your graphs are finite - which you probably need, for all your sums to converge!

view this post on Zulip Peva Blanchard (Nov 18 2025 at 17:24):

I'll do that!

view this post on Zulip Peva Blanchard (Nov 18 2025 at 17:26):

I found this paper. The authors introduce a generalized graph laplacian. They also consider graphs with boundaries, which they call \partial-graphs.

They even define a category of \partial-graphs, with a notion of "harmonic morphisms". That might be the kind of morphisms I need for my construction to be "natural".

view this post on Zulip Peva Blanchard (Nov 19 2025 at 06:46):

This is interesting.
An harmonic morphism α:GH\alpha : G \to H between graphs has a degree function, degα:V(G)R\deg_\alpha : V(G) \to \mathbb{R}. This degree function comes up when relating the laplacians of GG and HH.
Namely, writing α:C0HC0G\alpha^* : C^0H \to C^0G for the pullback map,

ΔGαψ(u)=degα(u)αΔHψ(u)\Delta_G \alpha^*\psi (u) = \deg_\alpha(u) \cdot \alpha^* \Delta_H \psi (u)

for all ψ:V(H)R\psi : V(H) \to \mathbb{R} and uV(G)u \in V(G).

view this post on Zulip Peva Blanchard (Nov 19 2025 at 06:48):

In short notation,

ΔGα=degααΔH\Delta_G \alpha^* = \deg_\alpha{} \cdot \alpha^* \Delta_H

with the small caveat that degα\deg_\alpha acts diagonally. So it "almost" commutes.

I'm guessing this is a case of a 2-dimensional categorical structure
image.png

view this post on Zulip Peva Blanchard (Nov 19 2025 at 07:00):

So, by restricting graph morphisms α\alpha to be harmonic, my candidate for the natural transformation Δ\Delta of the double functor C0C^0 into itself should satisfy the following kind of "naturalness"
image.png

view this post on Zulip John Baez (Nov 19 2025 at 10:52):

Interesting stuff!

Peva Blanchard said:

An harmonic morphism α:GH\alpha : G \to H between graphs has a degree function, degα:V(G)R\deg_\alpha : V(G) \to \mathbb{R}. This degree function comes up when relating the laplacians of GG and HH.
Namely, writing α:C0HC0G\alpha^* : C^0H \to C^0G for the pullback map,

ΔGαψ(u)=degα(u)αΔHψ(u)\Delta_G \alpha^*\psi (u) = \deg_\alpha(u) \cdot \alpha^* \Delta_H \psi (u)

for all ψ:V(H)R\psi : V(H) \to \mathbb{R} and uV(G)u \in V(G).

Is that the only definition of degα\mathrm{deg}_\alpha, or does it also have some other characterization? From the name "degree", I'd guess degα(u)\deg_\alpha(u) might be the number of vertices in GG that α\alpha maps to the vertex uu of HH - that's a bit like the degree of a continuous map.

view this post on Zulip John Baez (Nov 19 2025 at 11:07):

Btw, it's worth noting that for a map α ⁣:GH\alpha \colon G \to H between finite graphs, we not only have a pullback α:C0(H)C0(G)\alpha^\ast : C^0(H) \to C^0(G) but also a pushforward α:C0(G)C0(H)\alpha_\ast: C^0(G) \to C^0(H), which is also very useful. The idea is that α(ψ)(u)\alpha_\ast(\psi)(u) is the sum of ψ\psi over all vertices that α\alpha maps to uu.

I'm wondering if the definition of harmonic morphism might be cleaner in terms of the pushforward, like this:

ΔHα=αΔG \Delta_H \alpha_* = \alpha_* \Delta_G

I'm wondering if the "degree function" shows up because they're using the pullback instead of the pushfoward. (This is how degree functions sometimes show up, if I'm remembering correctly.)

view this post on Zulip Peva Blanchard (Nov 19 2025 at 12:16):

John Baez said:

Is that the only definition of degα\mathrm{deg}_\alpha, or does it also have some other characterization?

I wrote too hastily, but the relation with laplacian is not how the authors define the degree function.
The actual definition is embedded with the definition of a harmonic graph morphism.

A harmonic graph morphism α:GH\alpha : G \to H between weighted graphs, is a usual graph morphism together with the condition that for any vertex uu in GG, with x=α(u)x = \alpha(u) its image in HH, for any edge ϵ\epsilon in HH that starts at xx, the sum of weights of the edges ee in GG over ϵ\epsilon that start at uu is proportional to the weight of ϵ\epsilon, and this coefficient λ(u)\lambda(u) of proportionality is the same for all ϵ\epsilon. In symbols,

eE(G),s(e)=u,α(e)=ϵω(e)=λ(u)ω(ϵ)\sum_{e \in E(G), s(e)=u, \alpha(e)=\epsilon} \omega(e) = \lambda(u) \cdot \omega(\epsilon)

The function λ:V(G)R\lambda : V(G) \to \mathbb{R} is the degree function.

view this post on Zulip Peva Blanchard (Nov 19 2025 at 12:18):

The authors explicitly refer to analytic maps between Riemannian manifolds, as a source of inspiration for this definition; but I don't know enough about this topic.

view this post on Zulip Peva Blanchard (Nov 19 2025 at 12:20):

John Baez said:

I'm wondering if the definition of harmonic morphism might be cleaner in terms of the pushforward, like this:

ΔHα=αΔG \Delta_H \alpha_* = \alpha_* \Delta_G

I'm wondering if the "degree function" shows up because they're using the pullback instead of the pushfoward. (This is how degree functions sometimes show up, if I'm remembering correctly.)

I tried that! But, with the definition above, it does not work. I don't have an explicit counter-example, but the result is very easy to prove for pullbacks, so I guess pullbacks are the right things to consider.

view this post on Zulip John Baez (Nov 19 2025 at 12:49):

Okay. I'm glad the degree is not extra structure you have to choose, but something defined in terms of the map of graphs.

view this post on Zulip Peva Blanchard (Nov 19 2025 at 17:07):

The following characterization of harmonic morphisms is helpful.

A graph morphism α:GH\alpha : G \to H is harmonic iff

view this post on Zulip Peva Blanchard (Nov 19 2025 at 17:10):

But then, we have a bad news: the category of graphs with harmonic morphisms is not closed under pushouts.

counter-example

This means we cannot use the structured cospan construction :sad:

view this post on Zulip Peva Blanchard (Nov 19 2025 at 17:17):

Should I consider the presheaves over the category of graphs with harmonic morphisms? sounds daunting...

view this post on Zulip Peva Blanchard (Nov 19 2025 at 17:28):

Mmh, maybe there is a work-around. I need push-outs only for horizontal composition.
So, maybe

view this post on Zulip Peva Blanchard (Nov 19 2025 at 17:30):

Mmh, but ... I would still need horizontal composition of 2-cells.

view this post on Zulip John Baez (Nov 19 2025 at 22:19):

You say "category of graphs with harmonic morphisms is not closed under pushouts" and you propose this example: the pushout of

GKH G \leftarrow K \to H

where
G=baG = b \leftarrow a
H=acH = a \to c
and K=aK = a.

But are the morphisms KGK \to G and KHK \to H harmonic?

view this post on Zulip Peva Blanchard (Nov 20 2025 at 09:08):

Oh indeed. I think they are. Since KK is just a point, its laplacian is the matrix (0)(0). So, the pullback of any harmonic function along any morphism out of KK is trivially harmonic. Actually the pullback of any function along any morphism out of KK is trivially harmonic.

But it feels like a convention issue.

view this post on Zulip Peva Blanchard (Nov 20 2025 at 09:37):

There might be a way out.

I want to consider cospans XGYX \to G \leftarrow Y (with XX and YY being discrete finite graph) in the usual graph category.

But, I restrict the 2-cells to be of the form
image.png

where f,gf,g are functions, and α\alpha is a graph morphism such that

I'll call these 2-cells: harmonic 2-cells.

view this post on Zulip Peva Blanchard (Nov 20 2025 at 10:25):

Then, I want to check if these kinds of 2-cells compose well horizontally.
image.png

I.e., assuming (f,α,g)(f,\alpha,g) and (g,β,h)(g,\beta,h) are harmonic 2-cells, is it true that the 2-cell (f,γ,h)(f,\gamma,h) is also harmonic?

view this post on Zulip Peva Blanchard (Nov 20 2025 at 17:42):

It does not work. Since γG=α\gamma|_G = \alpha and γH=β\gamma|_H = \beta, and γ\gamma should be harmonic over JJ, α\alpha and β\beta must have well-defined degrees over JJ, and they must match.

view this post on Zulip Peva Blanchard (Nov 20 2025 at 17:53):

Ok, I see two paths:

view this post on Zulip John Baez (Nov 20 2025 at 22:57):

If it were me, I'd think hard about what's going on with this stuff, not worrying too much about the formalism involved until I understood what was going on, the stuff that the formalism should capture - and eventually it would all work out perfectly, because this particular stuff is bound to be beautiful. I know this is not very useful advice.

view this post on Zulip Peva Blanchard (Nov 21 2025 at 06:42):

I think I see what you mean. I think the phenomenon at hand is roughly the following.

A harmonic morphism GHG \to H is about "locally relating diffusion (or random walks) on the two spaces". Or, pulling back a random walk on HH to a random walk on GG.

Now, when composing open graphs (horizontally), we are gluing two spaces together along a specified subspace. But there must be a condition on the kinds of gluing I want, otherwise my harmonic morphisms won't go through.

It's like concatenating two differentiable functions α,β\alpha, \beta on [0,1][0,1] and [1,2][1,2]: even if they match at 11, α(1)=β(1)\alpha(1) = \beta(1), if their derivatives at 11 don't match, the resulting function has a singularity at 11.

In this figure
image

α\alpha and β\beta match "vertex-wise", but may not match "degree-wise".

view this post on Zulip John Baez (Nov 21 2025 at 09:13):

Now, when composing open graphs (horizontally), we are gluing two spaces together along a specified subspace. But there must be a condition on the kinds of gluing I want, otherwise my harmonic morphisms won't go through.

It's like concatenating two differentiable functions α,β\alpha, \beta on [0,1][0,1] and [1,2][1,2]: even if they match at 11, α(1)=β(1)\alpha(1) = \beta(1), if their derivatives at 11 don't match, the resulting function has a singularity at 11.

Right. This kind of issue shows up in a lot of places. In the study of PDE we don't usually demand that functions are harmonic on the boundary: instead, we impose boundary conditions. In TQFT, we don't glue smooth manifolds together along a boundary, because the result wouldn't be smooth: instead we thicken the boundary up to a 'collar' and glue the collars together.

Both issues would show up if one were trying to cook up a (double) category where the morphisms M:STM : S \to T are something like smooth manifolds MM with boundary M=ST\partial M = S \cup T equipped with harmonic functions f:MRf: M \to \mathbb{R}. That sounds like something people studying the Laplace equation would like to do - but they'd instantly run into issues like you're hitting. So they'd try to use tricks to deal with these issues.

view this post on Zulip Peva Blanchard (Nov 21 2025 at 10:48):

I think I found a trick. I'll define the category FinSetΔ\text{FinSet}_\Delta of finite sets, with "harmonic functions".

Objects are finite sets. And a "harmonic function" from XX to YY is a pair (f,degf)(f, \deg_f) where f:XYf : X \to Y is a usual function, and degf:X(0,)\deg_f : X \to (0,\infty) is a function. I am interpreting degf\deg_f as the degree function of ff, although there is no laplacian to work with.

Composition of f:XYf : X \to Y and g:YZg : Y \to Z is given by the usual function composition for the function part, and its degree by a "chain rule"

deggf(x)=degg(f(x))degf(x)\deg_{gf}(x) = \deg_g(f(x)) \cdot \deg_f(x)

view this post on Zulip Peva Blanchard (Nov 21 2025 at 10:55):

Then, I can define a 2-cell of open graphs to be

such that α\alpha matches (f,degf)(f,\deg_f) on XX, and (g,degg)(g,\deg_g) on YY, both with respect to vertices, and the degrees. I.e., for all xXx \in X and yYy\in Y,

α(x)=f(x), degα(x)=degf(x)α(y)=g(y), degα(y)=degg(y)\begin{align*} \alpha(x) = f(x), &~ \deg_\alpha(x) = \deg_f(x) \\ \alpha(y) = g(y), &~ \deg_\alpha(y) = \deg_g(y) \end{align*}

view this post on Zulip Peva Blanchard (Nov 21 2025 at 11:03):

I believe these 2-cells compose correctly horizontally, because the boundary condition now contains just enough information (vertex mapping, and degree) to guarantee a "harmonious" gluing.

view this post on Zulip John Baez (Nov 21 2025 at 12:33):

I haven't had time to understand this right, but I want to advocate using harmonious as a technical term somewhere.