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: learning: questions

Topic: Lax monoidal functors


view this post on Zulip Eric Forgy (Dec 26 2020 at 23:12):

The nLab says:

Proposition 3.1. Lax monoidal functors send monoids to monoids.

However, monoidal categories and monoids are defined in terms of morphisms and commuting diagrams and functors preserve commuting diagrams so I was under the impression that any functor would preserve monoids (thought of as one-object categories). What am I missing?

Thank you for any help :pray:

view this post on Zulip Nathanael Arkor (Dec 26 2020 at 23:14):

A monoid is defined with respect to the tensor product of the monoidal category, so you need the functor to be (lax) monoidal to send MMM \otimes M to F(M)F(M)F(M) \boxtimes F(M).

view this post on Zulip Eric Forgy (Dec 26 2020 at 23:49):

Nathanael Arkor said:

A monoid is defined with respect to the tensor product of the monoidal category, so you need the functor to be (lax) monoidal to send MMM \otimes M to F(M)F(M)F(M) \boxtimes F(M).

That makes sense. Thank you.

I guess I am confused because the nLab also says that any monoid can be realized as a one-object category with endomorphisms. If you realize a monoid this way, then it doesn't involve tensor product and I would think any functor should send such a one-object monoid to a one-object monoid and this should work for any category including monoidal catageories. Does that make sense? :thinking:

I'm working with the one-object monoid N\mathbb{N} and I was thinking any functor NC\mathbb{N}\to C should give a one-object monoid in CC and I'm not sure why I would need to consider anything other than normal functors :thinking:

view this post on Zulip Nathanael Arkor (Dec 26 2020 at 23:57):

The word "monoid" is overloaded here. On the page about monoidal functor, "monoid" means "monoid object in a monoidal category". When people say that monoids are one-object categories, they mean traditional, set-theoretic monoids (which are a special case of monoid objects, namely monoid objects in the cartesian monoidal category Set). Functors between one-object categories are monoid homomorphisms, but that's not what the nLab is referring to.

view this post on Zulip Nathanael Arkor (Dec 26 2020 at 23:59):

So it depends whether you want to consider the monoid multiplication as a morphism MMMM \otimes M \to M or as the composition within a category, restricted to a single object – and these are two different (albeit related) notions of monoid.

view this post on Zulip Reid Barton (Dec 27 2020 at 00:04):

A lot of people like to say "a monoid is a one-object category" but I think it's really better to think of monoids as corresponding to one-object categories, not being them. (The same way negative integers "correspond" to positive integers, but aren't the same as them.)

view this post on Zulip Reid Barton (Dec 27 2020 at 00:05):

The thing that turns a monoid into a category is called BB.

view this post on Zulip Eric Forgy (Dec 27 2020 at 00:11):

Thank you :pray:

It is still not 100% clear to me, but I'll think about it :+1:

view this post on Zulip John Baez (Dec 27 2020 at 01:45):

Eric Forgy said:

It is still not 100% clear to me, but I'll think about it.

view this post on Zulip John Baez (Dec 27 2020 at 01:46):

The point is that when the nLab says "monoid" here, they don't mean monoid! - not in the sense you know, Eric:

view this post on Zulip John Baez (Dec 27 2020 at 01:46):

Proposition 3.1. Lax monoidal functors send monoids to monoids.

view this post on Zulip John Baez (Dec 27 2020 at 01:47):

When they say "monoid" here, they really mean "monoid object in a monoidal category".

view this post on Zulip John Baez (Dec 27 2020 at 01:47):

That's a different, more general concept.

view this post on Zulip John Baez (Dec 27 2020 at 01:47):

For example a monoid object in the monoidal category (Vect,)(\mathsf{Vect}, \otimes) is what you'd call an associative algebra.

view this post on Zulip John Baez (Dec 27 2020 at 01:48):

A monoid object in the monoidal category (Set,×)(\mathsf{Set}, \times) is what you'd call a monoid.

A monoid object in the monoidal category (Set,+)(\mathsf{Set}, +) is what you'd call a set.

view this post on Zulip John Baez (Dec 27 2020 at 01:48):

And so on.

view this post on Zulip John Baez (Dec 27 2020 at 01:49):

But people who deal a lot with monoid objects in monoidal categories get sick of saying "monoid object in monoidal category", so they start just saying "monoid".

view this post on Zulip John Baez (Dec 27 2020 at 01:49):

E.g. if I were talking to myself I'd say "A monoid in (Vect,)(\mathsf{Vect}, \otimes) is an associative algebra."

view this post on Zulip John Baez (Dec 27 2020 at 01:50):

But don't mix up the basic concept of monoid that you know and love with this fancy generalization!!!

view this post on Zulip John Baez (Dec 27 2020 at 01:50):

A monoid in your sense amounts to the same thing as a one-object category, but that fact is not true for this fancy generalization.

view this post on Zulip John Baez (Dec 27 2020 at 01:51):

(Luckily, some fancy generalization of this fact is true.)

view this post on Zulip Eric Forgy (Dec 27 2020 at 02:49):

John Baez said:

E.g. if I were talking to myself I'd say "A monoid in (Vect,)(\mathsf{Vect}, \otimes) is an associative algebra."

Funny you mention this. I have seen you say "an algebra is a monoid in Vect\mathsf{Vect}" but I thought this was shorthand for saying "an algebra is HomVect(V,V)\mathsf{Hom_{Vect}}(V,V) (or EndVect(V)\mathsf{End_{Vect}}(V)) for an object VV in Vect\mathsf{Vect}" in which case we don't even need the tensor product :thinking:

I don't know why I get hung up on this, but when I see things like AAAA\otimes A\to A, I think "I need to two objects AA and AAA\otimes A to define this morphism." But then that means we also need an AAAA\otimes A\otimes A and AnA^{\otimes n} and then :mind-blown:

I avoid this mind explosion by just thinking of AA and EndVect(A).\mathsf{End_{Vect}}(A).

So what is the right way to think of the monoid N\mathbb{N}? I currently think of this as a one-object category. Then a functor P:NSpan(Set)P: \mathbb{N}\to\mathsf{Span(Set)} sends this object to a set and each morphism 0,1,2,.. is sent to a span (and I don't need to think about "lax" stuff).

view this post on Zulip Fawzi Hreiki (Dec 27 2020 at 06:31):

Anyway, even if you want to define a monoid as a one object category, such a thing still has to be defined in terms of products if you want to internalise it. So functors won’t in general preserve them.

view this post on Zulip Fawzi Hreiki (Dec 27 2020 at 06:33):

Internal categories actually require finite limits since the object of composable pairs is a pullback, but in the case that the object of objects is terminal (ie the internal category is a monoid) this pullback will reduce to a product.

view this post on Zulip Fawzi Hreiki (Dec 27 2020 at 06:36):

You’re thinking of the endomorphism monoid which is attached to every object in your category already. Those are subcategories of your category, not internal categories.

view this post on Zulip John Baez (Dec 27 2020 at 16:00):

Eric Forgy said:

John Baez said:

E.g. if I were talking to myself I'd say "A monoid in (Vect,)(\mathsf{Vect}, \otimes) is an associative algebra."

Funny you mention this. I have seen you say "an algebra is a monoid in Vect\mathsf{Vect}" but I thought this was shorthand for saying "an algebra is HomVect(V,V)\mathsf{Hom_{Vect}}(V,V) (or EndVect(V)\mathsf{End_{Vect}}(V)) for an object VV in Vect\mathsf{Vect}" in which case we don't even need the tensor product :thinking:

Well, it's not shorthand for saying that. An algebra is not always EndVect(V)\mathsf{End_{Vect}}(V) for an object VV in Vect\mathsf{Vect}. There are lots of algebras that aren't an algebra of matrices!

I don't know why I get hung up on this, but when I see things like AAAA\otimes A\to A, I think "I need to two objects AA and AAA\otimes A to define this morphism." But then that means we also need an AAAA\otimes A\otimes A and AnA^{\otimes n} and then :mind-blown:

Stop thinking that stuff. It makes no sense.

An algebra is a vector space AA and a bilinear associative multiplication m:A×AAm: A \times A \to A and a unit, an element eAe \in A. But to avoid the word "bilinear" and stay within the category of vector spaces and linear maps we can say the multiplication is a linear map m:AAAm: A \otimes A \to A. And to avoid the word "element" we can describe the unit as a linear map i:kAi: k \to A (where kk is our field) with i(1)=ei(1) = e. Now everything is happening in our monoidal category (Vect,)(\mathsf{Vect} ,\otimes).

So, an algebra is an object A(Vect,)A \in (\mathsf{Vect},\otimes) and morphisms m:AAAm: A \otimes A \to A and i:kAi: k \to A obeying associativity and the left and right unit laws.

More generally, a monoid object in a monoidal category (V,)(\mathsf{V}, \otimes) is an object AVA \in \mathsf{V} and morphisms m:AAAm: A \otimes A \to A and i:kAi: k \to A obeying associativity and the left and right unit laws.

Now if you set (V,)=(Set,×)(\mathsf{V}, \otimes) = (\mathsf{Set},\times) you'll see a monoid object in (Set,×)(\mathsf{Set},\times) is a monoid!

I avoid this mind explosion by just thinking of AA and EndVect\mathsf{End_{Vect}}

It's better to avoid it by thinking clearly, not succumbing to weird daydreams.

So what is the right way to think of the monoid N\mathbb{N}? I currently think of this as a one-object category.

There are lots of right ways to think of it. It's the free monoid on one generator. It's the category freely generated by one object and one endomorphism. Etc.

view this post on Zulip Eric Forgy (Dec 27 2020 at 19:28):

I don't know why I get hung up on this, but when I see things like AAAA\otimes A\to A, I think "I need to two objects AA and AAA\otimes A to define this morphism." But then that means we also need an AAAA\otimes A\otimes A and AnA^{\otimes n} and then :mind-blown:

Stop thinking that stuff. It makes no sense.

Why doesn't it make sense? Let's switch hats for a second. It would be no less painful for you to think about writing code than it is for me to write proper maths so think about how you would write this up in code (I have, see TensorAlgebra.jl). A method m:AAAm: A\otimes A\to A takes two arguments of different types. AAA\otimes A is merely a symbol describing a type whose instances satisfies certain properties. It is a different type than the type AA. So if you tell me (or you tell a computer) you have an object AA and a morphism AAAA\otimes A\to A it simply doesn't parse. You need to tell the computer you have a type AA and a type AAA\otimes A before you can define a map between the two types.

view this post on Zulip Eric Forgy (Dec 27 2020 at 19:35):

The way to do this in code (and the way I did it) is to tell the computer how to generate new types from existing types.

view this post on Zulip Eric Forgy (Dec 27 2020 at 19:39):

I should think in code more often. It helps. When I enter the world of maths, sometimes I get lost and leave my existing knowledge at the door.

view this post on Zulip Eric Forgy (Dec 27 2020 at 19:41):

I should probably implement a monoid in code actually. It shouldn't be too difficult starting with TensorAlgebra.jl.

view this post on Zulip John Baez (Dec 27 2020 at 19:59):

Eric Forgy said:

I don't know why I get hung up on this, but when I see things like AAAA\otimes A\to A, I think "I need to two objects AA and AAA\otimes A to define this morphism." But then that means we also need an AAAA\otimes A\otimes A and AnA^{\otimes n} and then :mind-blown:

Stop thinking that stuff. It makes no sense.

Why doesn't it make sense?

What makes no sense is this:

then that means we also need an AAAA\otimes A\otimes A and AnA^{\otimes n} and then :mind-blown:

Especially the :mind-blown: part.

Yes, in a monoidal category as soon as you have an object AA you have objects AAA \otimes A , AAAA \otimes A \otimes A, and so on. (Of course some or all of these objects may be the same.)

But we don't freak out over that!

It's like I told you 1+1 = 2 and you said

but that means there exists 1+1+1, 1+1+1+1 and so on! INFINITELY MANY NUMBERS! :mind-blown:

And I guess my answer would be "yeah, math is like that, I probably found that mind-blowing too at some point, but I got used to it".

view this post on Zulip Eric Forgy (Dec 27 2020 at 20:47):

Thank you :raised_hands:

Yeah. Something clicked as soon as I started thinking in terms of code.

I started writing a Julia package Categories.jl. It is still early days (and no documentation yet). The simplest way I could think of to define a category in code was this:

struct Category{O,M}
    ob::Type{Object{O}}
    hom::Type{Morphism{O,M}}
    id::Id{O,M}

    Category(::Type{O},::Type{M}) where {O,M} = new{O,M}(Object{O},Morphism{O,M},Id{O,M}())
end

Even without knowing Julia, I think it is fairly clear. A category is a special "type" that itself consists of a type called "Object" and a type called "Morphism" where the type of Morphism depends on the type of Object, but also has its own, possibly distinct, type associated with it (which could be any type including another category).

I don't need to list every object as long as I know some way to check whether something is an object. Same with morphisms. In both cases, it is a simple check of the type (which the computer knows).

In this context, the way I would think about \otimes in a monoidal category is as a way to generate new types (objects) from existing types. So just saying you have an object AA in a monoidal category means you have AAA\otimes A, AAAA\otimes A\otimes A, etc. You don't need to state that explicitly because it is understood (just like "1+1+1+1" is understood) because that is what having \otimes means.

Thank you again :pray:

view this post on Zulip John Baez (Dec 27 2020 at 21:03):

Okay. I'm always amazed that people find code helpful for understanding. To me it's like "It's so much easier to understand if you write it in hieroglyphics so a machine can get it!" :upside_down: But people are very different in how they think.

view this post on Zulip Eric Forgy (Dec 27 2020 at 21:17):

Getting back to the original question...

Let's say I have a functor F:(C,,1)F: \bullet\to (C,\otimes,1) from the category with 1 object and one identity morphism to any mondoidal category. First, does that sentence even parse? If it does parse, then c=F()c = F(\bullet) would be an object in (C,,1)(C,\otimes,1). What I want is cc, ccc\otimes c, cccc\otimes c\otimes c, etc. What is the correct way to write / say that?

Would I need to consider (,,1)(\bullet,\otimes,1) as a monoidal category with a lax monoidal functor (,,1)(C,,1)(\bullet,\otimes,1)\to (C,\otimes,1)?

Specifically, I have a functor

NSpan(Set)\mathbb{N}\to\mathsf{Span(Set)}

and I want to compose this with another functor to a monoidal category

NSpan(Set)(C,,1).\mathbb{N}\to\mathsf{Span(Set)}\to (C,\otimes,1).

I think of N\mathbb{N} as a category with one object and morphisms labelled by natural numbers so the first step gives me a "set VV and a span from the set VV to itself (endospan) and all compositions with itself."

Going from the second to third step, my set VV maps to an object cc of CC, but I also want to end up somehow with ccc\otimes c, cccc\otimes c\otimes c (plus the morphisms). Is it possible to write that as a functor?

view this post on Zulip Eric Forgy (Dec 27 2020 at 21:18):

John Baez said:

Okay. I'm always amazed that people find code helpful for understanding. To me it's like "It's so much easier to understand if you write it in hieroglyphics so a machine can get it!" :upside_down: But people are very different in how they think.

Yes, but to 99% of the people on this planet, the maths is the hieroglyphics :blush:

view this post on Zulip Eric Forgy (Dec 27 2020 at 21:24):

I kind of think

NSpan(Set)(C,,1)\mathbb{N}\to\mathsf{Span(Set)}\to (C,\otimes,1)

should be fine because I do end up with a specific object cCc\in C, but then (like we just said) the fact (C,,1)(C,\otimes,1) is a monoidal category, we can generate ccc\otimes c via \otimes and we don't need to say anything special about that.

view this post on Zulip John Baez (Dec 27 2020 at 21:25):

Eric Forgy said:

Getting back to the original question...

Let's say I have a functor F:(C,,1)F: \bullet\to (C,\otimes,1) from the category with 1 object and one identity morphism to any mondoidal category. First, does that sentence even parse?

It parses, but since you're saying "functor" and not "monoidal functor", you are not using anything about CC being a monoidal category here.

A functor of the sort you describe simply picks out an arbitrary object of CC, no more and no less.

For any object cCc \in C there is a unique functor F:CF: \bullet\to C sending the one object of \bullet to cCc \in C.

Making CC monoidal doesn't affect this at all.

view this post on Zulip John Baez (Dec 27 2020 at 21:26):

\bullet is called the terminal category, and what you've described is a useful highbrow way to talk about an object of CC: it's the same as a functor from the terminal category to CC.

view this post on Zulip Eric Forgy (Dec 27 2020 at 21:29):

Ok, but if I say "monoidal functor", then wouldn't both the domain and codomain of the functor need to be monoidal? :thinking:

Maybe what I need to say is we have a composition of lax monoidal functors

(N,,1)(Span(Set),,1)(C,,1).(\mathbb{N},\otimes,1)\to (\mathsf{Span(Set)},\otimes,1)\to (C,\otimes,1).

That would be fine if that's what I need to do, but it seems a little bloated. I wish there was a way to promote nonmonoidal category to a monoidal one by introducing a \otimes or something.

view this post on Zulip Eric Forgy (Dec 27 2020 at 21:31):

Is there a forgetful functor U:(C,,1)CU: (C,\otimes,1) \to C?

view this post on Zulip Eric Forgy (Dec 27 2020 at 21:34):

If so, then maybe I can write it like

NSpan(Set)C(C,,1)\mathbb{N}\to\mathsf{Span(Set)}\to C\to (C,\otimes,1)

where the last functor is left adjoint to UU.

view this post on Zulip John Baez (Dec 27 2020 at 21:39):

Eric Forgy said:

Ok, but if I say "monoidal functor", then wouldn't both the domain and range of the functor need to be monoidal? :thinking:

Sure. But \bullet is monoidal in a unique way, so there's no ambiguity.

A monoidal functor from \bullet to an arbitrary monoidal category (C,,I)(C,\otimes, I) picks out an object cCc \in C that's isomorphic to II, and some other stuff. I believe in the end it boils down to something rather boring, though it's a bit of work to show this.

view this post on Zulip John Baez (Dec 27 2020 at 21:42):

Eric Forgy said:

Is there a forgetful functor U:(C,,1)CU: (C,\otimes,1) \to C?

That's a weird thing to ask, since if you just say functor then you're saying I don't give a shit about the monoidal structure of (C,,1)(C,\otimes,1), I'm not going to use it in this question. So you're really just saying "is there a forgetful functor U:CCU: C \to C?" And that's also a weird thing to ask.

First, the concept of "forgetful" is not precisely defined - it's a "you know it when you see it" sort of thing. So my answer would probably be "yeah, the identity functor from CC to CC is a forgetful functor, in a sort of degenerate way where you're not actually forgetting anything".

That is a long reply to a question that would make most category theorists say "Bye, I gotta go now." I'm just explaining why it would make them want to leave.

view this post on Zulip Dan Doel (Dec 27 2020 at 21:42):

I haven't been paying close attention, but I have a suspicion that some of this functor composing doesn't make a whole lot of sense. For instance, the suggestion in the other thread about N was that each functor F:NSpan(Set)F : ℕ → \mathsf{Span}(\mathsf{Set}) corresponds to a digraph. So, composing with such a functor is sending an entire digraph to an arrow in CC, which doesn't seem like it matches what your goal was.

view this post on Zulip Dan Doel (Dec 27 2020 at 22:00):

If you want to say something about the structure of a digraph, you need a setting where there are arrows between digraphs. But a particular F:NSpan(Set)F : ℕ → \mathsf{Span}(\mathsf{Set}) just picks out a single digraph that happens to be an arrow in the span category. An example of the former would be the functor category [N,Span(Set)][ℕ,\mathsf{Span}(\mathsf{Set)}], but it was mentioned that its arrows aren't necessarily what you'd want for talking about digraphs.

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:05):

Dan Doel said:

I haven't been paying close attention, but I have a suspicion that some of this functor composing doesn't make a whole lot of sense. For instance, the suggestion in the other thread about N was that each functor F:NSpan(Set)F : ℕ → \mathsf{Span}(\mathsf{Set}) corresponds to a digraph. So, composing with such a functor is sending an entire digraph to an arrow in CC, which doesn't seem like it matches what your goal was.

Hi Dan. Thanks for your comment :pray:

In my case, CC is a category with

The image of a set VSpan(Set)V\in\mathsf{Span(Set)} is an algebra ACA\in C (which is trivially an AA-bimodule) and the digraph VEVV\leftarrow E\rightarrow V maps to an AA-bimodule homomorphism AΩ1AA\leftarrow\Omega^1\rightarrow A. The composition of the AA-bimodule homomorphism AΩ1AA\leftarrow\Omega^1\rightarrow A with itself is the AA-bimodule homomorphism AΩ1AΩ1AA\leftarrow \Omega^1\otimes_A\Omega^1\to A, etc.

This is nice because it gives me the AA-bimodules I want AA, Ω1\Omega^1, Ω1AΩ1\Omega^1\otimes_A\Omega^1, etc, but I also need AKAA\otimes_K A, AKAKAA\otimes_K A\otimes_K A, etc (which are also AA-bimodules).

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:09):

Dan Doel said:

If you want to say something about the structure of a digraph, you need a setting where there are arrows between digraphs. But a particular F:NSpan(Set)F : ℕ → \mathsf{Span}(\mathsf{Set}) just picks out a single digraph that happens to be an arrow in the span category. An example of the former would be the functor category [N,Span(Set)][ℕ,\mathsf{Span}(\mathsf{Set)}], but it was mentioned that its arrows aren't necessarily what you'd want for talking about digraphs.

Right, but I am not wanting to talk about digraphs. I want to talk about digraphs generating higher geometric structures. These higher dimensional structures can be generated by graded algebras of the form Ω1\Omega^1, Ω1AΩ1\Omega^1\otimes_A\Omega^1, etc.

If I only wanted digraphs, then the traditional functor XSetX\to\mathsf{Set} and corresponding functor category [X,Set][X,\mathsf{Set}] would be sufficient, but I need the directed paths as well, which is why I am so happy Amar brought NSpan(Set)\mathbb{N}\to\mathsf{Span(Set)} to my attention :pray:

view this post on Zulip Dan Doel (Dec 27 2020 at 22:13):

Oh, okay. Maybe it does make sense, then.

view this post on Zulip Dan Doel (Dec 27 2020 at 22:14):

I thought you were wanting to talk about where edges go or something.

view this post on Zulip John Baez (Dec 27 2020 at 22:14):

What kind of "maybe" is that, Dan?

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:15):

Dan Doel said:

I thought you were wanting to talk about where edges go or something.

I do care about where edges go and I care about where directed paths of length nn go (where a directed edge is a directed path of length 1) :blush:

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:16):

If you send a set to an AA-bimodule, then the elements of that set are a basis for the underlying algebra (vector space + product).

view this post on Zulip Dan Doel (Dec 27 2020 at 22:17):

It's the kind of maybe where I still don't really understand what's going on, but it at least looks like the right shape of things.

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:17):

In this case, vertices of a directed graph generate an algebra AA.

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:19):

Directed edges of a directed graph generate an AA-bimodule Ω1\Omega^1.

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:20):

Directed paths of length 2, generate an AA-bimodule Ω1AΩ1.\Omega^1\otimes_A\Omega^1.

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:26):

As described in a different stream here, there is a universal derivation d~:AΩ~1\tilde d: A\to\tilde\Omega^1. The AA-bimodule Ω~1\tilde\Omega^1 (which is the kernel of the product m:AKAAm: A\otimes_K A\to A) corresponds to a complete directed graph and the AA-bimodule Ω1\Omega^1 is obtained from Ω~1\tilde\Omega^1 by removing edges from the complete graph.

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:30):

In a similar way, starting with just a directed graph, we can construct a space Ω2\Omega^2 which is the kernel of some other map from Ω1AΩ1.\Omega^1\otimes_A\Omega^1.

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:34):

This can be iterated with Ω3\Omega^3 being the kernel of the equalizer of maps from Ω1AΩ2\Omega^1\otimes_A\Omega^2 and Ω2AΩ1.\Omega^2\otimes_A\Omega^1.

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:35):

You end up with a cochain complex completely generated by a directed graph.

view this post on Zulip John Baez (Dec 27 2020 at 22:35):

By the way, I don't understand this stuff you're saying.

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:37):

John Baez said:

By the way, I don't understand this stuff you're saying.

Any of it? Which part?

I thought you understood how to generate a diffential algebra from a directed graph. You said "Nice!" which was a highlight of the week (which is a high bar given the holidays :blush: )

view this post on Zulip John Baez (Dec 27 2020 at 22:37):

You're talking about a functor F:NSpan(Set)F : \mathbb{N} \to \mathsf{Span}(\mathsf{Set)}, and then all of a sudden you're talking about bimodules, but I don't understand the mathematical claim you're making about how FF is related to something...

view this post on Zulip John Baez (Dec 27 2020 at 22:38):

I understand how to generated a differential graded algebra from a graph; I just don't understand what you're saying.

Don't take "Nice!" as equal to "I understand and believe you." If you do that, I'll have to be much more careful about making any sort of friendly remark. :upside_down:

view this post on Zulip John Baez (Dec 27 2020 at 22:38):

"Nice!" meant more like "I'm glad you think you're doing something cool."

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:39):

Explaining this is the main reason for me to write the paper I'm working on. I believe there is a simple explanation for it and I'm working on it :sweat_smile:

I know it works (I can write code to implement it).

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:40):

John Baez said:

"Nice!" meant more like "I'm glad you think you're doing something cool."

I am absolutely doing something cool. Just failing to explain it :pensive:

view this post on Zulip John Baez (Dec 27 2020 at 22:41):

If what you're saying makes sense, it should be possible to say a few sentences, each of which states a mathematical fact that I can verify.

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:41):

Yes. That is the goal.

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:42):

You sound like Sullivan :joy:

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:42):

I've been working on a simple explanation for 20 years. I feel I am closer. I just need to get this last functor sorted.

view this post on Zulip John Baez (Dec 27 2020 at 22:43):

I sound like what any mathematician confronted with you is secretly thinking.

You should say something like "a functor F:NSpan(Set)F: \mathbb{N} \to \mathsf{Span}(\mathsf{Set}) is the same as..."

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:46):

I don't know what it is the "same as", but I can say what it is on morphisms of N\mathbb{N}. F()F(\bullet) is a set of vertices of a directed graph. F(1)F(1) is a span VEVV\leftarrow E\rightarrow V, i.e. a directed graph. F(2)F(2) is a like a directed graph but deals with paths of length 2. Etc.

view this post on Zulip Dan Doel (Dec 27 2020 at 22:47):

It doesn't really seem that important to talk about that part, because it's just picking out a particular digraph. The functor that sends spans of sets to bimodules seems like the complicated part. E.G. has it been said how you choose the algebra AA from the set VV?

view this post on Zulip John Baez (Dec 27 2020 at 22:48):

Eric Forgy said:

I don't know what it is the "same as", but I can say what it is on morphisms of N\mathbb{N}. F()F(\bullet) is a set of vertices of a directed graph. F(1)F(1) is a span VEVV\leftarrow E\rightarrow V, i.e. a directed graph. F(2)F(2) is a like a directed graph but deals with paths of length 2. Etc.

I assume you're treating N\mathbb{N} here as a category with one object and one endomorphism for each natural number, with composition being addition? There are a couple of famous ways of thinking of N\mathbb{N} as a category.

See, I don't think I even understood this much of what you're talking about! Let's clear this part up at least.

view this post on Zulip John Baez (Dec 27 2020 at 22:49):

Usually mathematicians would start by saying "Think of the additive monoid of N\mathbb{N} as a one-object category" before diving in and talking about functors out of N\mathbb{N}... if that's what they meant.

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:51):

I wish I could take credit for the functor NSpan(Set)\mathbb{N}\to\mathsf{Span(Set)}, but that was Amar's idea here. I really love the idea though :+1:

view this post on Zulip John Baez (Dec 27 2020 at 22:52):

You didn't even answer my basic question.

view this post on Zulip John Baez (Dec 27 2020 at 22:53):

We're doomed....

view this post on Zulip John Baez (Dec 27 2020 at 22:53):

I don't want f------g heart symbols, I want the answer to my question!

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:54):

The only question mark I see is from

I assume you're treating N\mathbb{N} here as a category with one object and one endomorphism for each natural number, with composition being addition?

I kind of thought that was a rhetorical question mark. If not, the answer is, "Yes. Your assumption is correct."

view this post on Zulip John Baez (Dec 27 2020 at 22:56):

I don't have time to ask "rhetorical" questions.

view this post on Zulip John Baez (Dec 27 2020 at 22:56):

Okay, good.

view this post on Zulip John Baez (Dec 27 2020 at 22:56):

So then a functor F:NCF: \mathbb{N} \to C for any category CC is a fancy-ass way of talking about an object in CC and an endomorphism of that object.

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:57):

I refrain from the f------ heart emoji, but it is there :joy:

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:57):

John Baez said:

So then a functor F:NCF: \mathbb{N} \to C for any category CC is a fancy-ass way of talking about an object in CC and an endomorphism of that object.

Yes.

view this post on Zulip John Baez (Dec 27 2020 at 22:58):

So a functor F:NSpan(Set)F: \mathbb{N} \to \mathsf{Span}(\mathsf{Set}) is completely determined by, and determines, a set and an endospan of that set - in other words, a directed graph.

view this post on Zulip John Baez (Dec 27 2020 at 22:58):

So the answer to my question "what's it the same as?" is "a directed graph".

view this post on Zulip Eric Forgy (Dec 27 2020 at 22:59):

Exactly. Yes. But more because you can compose the directed graph with itself.

view this post on Zulip John Baez (Dec 27 2020 at 22:59):

When I said this:

John Baez said:

You should say something like "a functor F:NSpan(Set)F: \mathbb{N} \to \mathsf{Span}(\mathsf{Set}) is the same as..."

you should have continued: "... a directed graph".

view this post on Zulip John Baez (Dec 27 2020 at 23:00):

Eric Forgy said:

Exactly. Yes. But more because you can compose the directed graph with itself.

No, nothing more. You can always form edge paths in any graph. This is not "extra".

view this post on Zulip John Baez (Dec 27 2020 at 23:00):

At best this way of describing a directed graph is nice because it focuses your attention on those edge paths.

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:01):

It is also nice because it can send morphisms to bimodule morphisms (which is the motivation).

view this post on Zulip John Baez (Dec 27 2020 at 23:01):

"A functor F:NSpan(Set)F: \mathbb{N} \to \mathsf{Span}(\mathsf{Set}) is the same as a directed graph" is a theorem.

It's short for "the category of functors F:NSpan(Set)F: \mathbb{N} \to \mathsf{Span}(\mathsf{Set}) is equivalent to the category of directed graphs".

view this post on Zulip John Baez (Dec 27 2020 at 23:02):

If you say something like this to a category theorist they will think a while and say "yup". And you will have communicated.

view this post on Zulip Dan Doel (Dec 27 2020 at 23:02):

Well, that's probably not a theorem, because the arrows are different.

view this post on Zulip Dan Doel (Dec 27 2020 at 23:02):

Apparently.

view this post on Zulip John Baez (Dec 27 2020 at 23:03):

Eric Forgy said:

It is also nice because it can send morphisms to bimodule morphisms (which is the motivation).

Okay, now you've switched back to saying vague stuff that doesn't mean anything to me.

view this post on Zulip John Baez (Dec 27 2020 at 23:04):

Dan Doel said:

Well, that's probably not a theorem, because the arrows are different.

Okay, now we're talking. I should have said it's a potential theorem: it's something with a well-defined truth value.

view this post on Zulip John Baez (Dec 27 2020 at 23:05):

Let's see. What's a natural transformation between functors F:NSpan(Set)F: N \to Span(Set)? (I'm getting tired of the fancy fonts.)

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:05):

For the record, I don't think it is true, but at least, like you say, it is something that can be proven (or disproven) which is apparently progress :sweat_smile:

view this post on Zulip John Baez (Dec 27 2020 at 23:06):

It's huge progress. We have entered the territory where we are actually talking about things that are either true or false.

view this post on Zulip John Baez (Dec 27 2020 at 23:06):

So let's me answer my last question....

view this post on Zulip John Baez (Dec 27 2020 at 23:07):

Say I've got a functor F:NSpan(Set)F: N \to Span(Set) and you've got a functor G:NSpan(Set)G: N \to Span(Set).

view this post on Zulip John Baez (Dec 27 2020 at 23:07):

So I've got a set XX and an endospan on it, and you've got a set XX' and an endospan on it.

view this post on Zulip John Baez (Dec 27 2020 at 23:08):

Say XEXX \leftarrow E \to X and XEXX' \leftarrow E' \to X'.

view this post on Zulip John Baez (Dec 27 2020 at 23:09):

Then a natural transformation is a span XAXX \to A \to X' such that... okay yeah, this is not a map of graphs!

view this post on Zulip John Baez (Dec 27 2020 at 23:10):

I see, we need to be working in the double category of spans to describe the category of graphs this way.

view this post on Zulip John Baez (Dec 27 2020 at 23:10):

Pretend I didn't say that... I don't want to talk about it. Too much work!

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:10):

I am allowed a mind exploded emoji?

view this post on Zulip John Baez (Dec 27 2020 at 23:11):

So thanks, Dan, you caught me. And I guess Eric already knew it wouldn't work.

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:12):

At least we're on the same page about what NSpan(Set)\mathbb{N}\to\mathsf{Span(Set)} is :+1:

view this post on Zulip John Baez (Dec 27 2020 at 23:12):

So the category of functors from N\mathbb{N} to Span(Set)\mathsf{Span}(\mathsf{Set}) is something cute where the objects are directed graphs but the morphisms are something more fancy than maps of directed graphs... something worth pondering for me at least....

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:13):

Yes. It is cute, I think, and deserves its own name. Open to suggestions :blush:

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:15):

Next, I think it is clear how to freely construct a commutative associative algebra with unit from a set.

view this post on Zulip John Baez (Dec 27 2020 at 23:16):

There are two famous ways, which agree when the set is finite.

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:16):

The elements of the set map to basis elements of the algebra and the product of two bases is 1 if the bases are the same and 0 otherwise. The unit element is the sum of all basis elements.

view this post on Zulip John Baez (Dec 27 2020 at 23:17):

Okay, yes, that's one of the two ways.

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:17):

I am probably fine to restrict to finite sets if it helps, but I would like to consider infinite "checkboard" graphs at some point.

view this post on Zulip John Baez (Dec 27 2020 at 23:17):

If your set is SS and your field is kk I call this algebra k[S]k[S], but sadly lots of people don't have any standard name for it.

view this post on Zulip John Baez (Dec 27 2020 at 23:18):

If your set is finite, this algebra is isomorphic to another one: kSk^S. That's the algebra of all functions from SS to kk.

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:18):

Let's call it AA :blush:

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:18):

Yes. KSK^S is a cool way to think about it.

view this post on Zulip John Baez (Dec 27 2020 at 23:19):

The algebra you're talking about is only the same as kSk^S when SS is finite. A little point to bear in mind.

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:19):

Does KSK^S work even if SS is infinite?

view this post on Zulip John Baez (Dec 27 2020 at 23:20):

A typical vague question: what the hell does "work" mean?

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:21):

So apparently, as you say, K[S]K[S] and KSK^S are two algebras and they are isomorphic if SS is finite. Can SS be infinite in both cases?

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:23):

I am fine to choose one once and for all and not too bothered which one I use.

view this post on Zulip John Baez (Dec 27 2020 at 23:23):

Yes. I said there are two famous ways of getting a commutative associative algebra from a set SS: k[S]k[S] and kSk^S, and they're isomorphic when SS is finite.

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:23):

KSK^S is kind of nice because I call these "discrete 0-forms" anyway.

view this post on Zulip John Baez (Dec 27 2020 at 23:24):

Eric Forgy said:

I am fine to choose one once and for all and not too bothered which one I use.

That's fine if your sets SS are finite; otherwise you will get in trouble.

view this post on Zulip John Baez (Dec 27 2020 at 23:25):

That is, you'll get in trouble pretending kSk^S and k[S]k[S] are "more or less the same". kSk^S is the dual of k[S]k[S] - but not the other way around when SS is infinite.

view this post on Zulip John Baez (Dec 27 2020 at 23:27):

Anyway, we don't need to worry about it now, and if SS is always finite we never need to worry about it.

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:27):

Oh! Ok. That makes sense. It kind of depends. AA should be cochains.

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:27):

(Forget I said that!)

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:28):

Let's go with A:=KVA := K^V.

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:29):

So we send a set VV of vertices to the algebra A:=KVA := K^V.

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:31):

The span VEVV\leftarrow E\rightarrow V gets sent to the AA-bimodule homomorphism AΩ1A.A\leftarrow \Omega^1\rightarrow A.

view this post on Zulip John Baez (Dec 27 2020 at 23:31):

Gets sent by whom?

view this post on Zulip John Baez (Dec 27 2020 at 23:31):

Or more precisely, by what?

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:34):

By our functor, but I guess before I'm allowed to talk about our functor, I need to define the category.

Consider a category CC with

We are defining the second functor in the composition

NSpan(Set)C.\mathbb{N}\to\mathsf{Span(Set)}\to C.

view this post on Zulip Dan Doel (Dec 27 2020 at 23:34):

I don't think that's what CC is.

view this post on Zulip Dan Doel (Dec 27 2020 at 23:35):

Shouldn't it be objects are algebras, and arrows are bimodules?

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:35):

Yes. That would be fine :+1:

view this post on Zulip Dan Doel (Dec 27 2020 at 23:36):

Does Ω1Ω^1 make sense in that scenario, though? You need to be able to do KVΩ1KUK^V \leftarrow Ω^1 \rightarrow K^U given a span VEUV \leftarrow E \rightarrow U.

view this post on Zulip John Baez (Dec 27 2020 at 23:38):

Eric Forgy said:

Yes. That would be fine :+1:

What do you mean, "that would be fine"? Dan said something completely different than what you just said.

In math, you're not supposed to say "that would be fine" when someone says the opposite of what you just said. You're supposed to either say "you're wrong" or "whoops, I was wrong".

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:38):

If our category CC is

then we have a bicategory (I believe), but I only care about AA-bimodules (i.e. (A,A)(A,A)-modules), in which case an algebra AA is already an AA-bimodule, so I moved things down a notch so I could deal with normal categories.

view this post on Zulip John Baez (Dec 27 2020 at 23:39):

Okay, but how you index these things completely changes what a functor Span(Set)CSpan(Set) \to C does.

view this post on Zulip John Baez (Dec 27 2020 at 23:40):

In one case it sends objects of Span(Set), i.e. sets, to algebras.

In another case it sends objects of Span(Set), i.e. sets, to bimodules of some particular algebra which we should have chosen ahead of time.

view this post on Zulip John Baez (Dec 27 2020 at 23:40):

So which is it?

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:41):

Yes. I would like to choose my original way if that is ok although understand there is another way to do it. The other way is probably better but requires me to think about bicategories. I think I can do this with just categories though.

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:41):

There is probably some "oidification" that can happen later.

view this post on Zulip Dan Doel (Dec 27 2020 at 23:43):

But if AA is chosen ahead of time, then KVK^V doesn't enter into the picture, does it?

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:44):

True

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:45):

Thank you. That is a good point.

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:46):

So I don't really have a choice. I need to use the bicategory. Does it have a name btw?

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:52):

In the paper John referenced a few days ago

this is referred to as NCAlgebra.\mathsf{NCAlgebra}. Should I go with that? Is that standard?

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:54):

The 2-category of algebras NCAlgebras\mathsf{NCAlgebras} has:
A1) Objects: associative (possibly non-commutative)
algebras.
A2) Arrows: bimodules over algebras.
A3) 2-arrows: bimodule morphisms.

view this post on Zulip Dan Doel (Dec 27 2020 at 23:55):

I guess. But it seems like the problem is that the previous steps need to be made bicategorical, then.

view this post on Zulip Dan Doel (Dec 27 2020 at 23:56):

Also what about my Ω1Ω^1 question?

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:57):

I'll go with NCAlgebras\mathsf{NCAlgebras} for now. Let's also give the cute new category [N,Span(Set)][\mathbb{N},\mathsf{Span(Set)}] a name. I'll just call it PP for now.

view this post on Zulip Eric Forgy (Dec 27 2020 at 23:57):

Dan Doel said:

I guess. But it seems like the problem is that the previous steps need to be made bicategorical, then.

Oh no.

view this post on Zulip Eric Forgy (Dec 28 2020 at 00:00):

Dan Doel said:

Does Ω1Ω^1 make sense in that scenario, though? You need to be able to do KVΩ1KUK^V \leftarrow Ω^1 \rightarrow K^U given a span VEUV \leftarrow E \rightarrow U.

I'm not sure. I've only ever thought about Ω1\Omega^1 in the context of (A,A)(A,A)-bimodules :thinking:

view this post on Zulip Eric Forgy (Dec 28 2020 at 00:03):

I think it should be fine. It just needs a little work that I have never thought about before.

view this post on Zulip Eric Forgy (Dec 28 2020 at 00:12):

Yes. I think it makes sense.

Let A=KVA = K^V and A=KVA' = K^{V'}, then (following Lupercio) I'd write the span as AAΩAAA\leftarrow {}_A\Omega_{A'}\rightarrow A'.

Similarly, I'd write VVEVVV\leftarrow {}_V E_{V'}\rightarrow V' in Span(Set).\mathsf{Span(Set)}.

(Not crazy about the notation AΩA{}_A\Omega_{A'}. Maybe Ω(A,A)\Omega(A,A') is better.)

The (A,A)(A,A')-bimodule AΩA{}_A\Omega_{A'} is a subset of AKAA\otimes_K A'.

view this post on Zulip Dan Doel (Dec 28 2020 at 00:15):

Well, perhaps you should be saying Ω(E)Ω(E) anyway, since it's generated by a span EE.

view this post on Zulip Eric Forgy (Dec 28 2020 at 00:15):

Good idea :blush:

view this post on Zulip Eric Forgy (Dec 28 2020 at 00:18):

I was wondering how to write the composition of the span

AAΩAAAΩAAA\leftarrow {}_A\Omega_{A'} \otimes_{A'} {}_{A'}\Omega_{A''}\rightarrow A''

is a mess :sweat_smile:

Much better to see this as

AΩ(E)AΩ(E)AA\leftarrow\Omega(E) \otimes_{A'} \Omega(E') \rightarrow A''

:+1:

view this post on Zulip Eric Forgy (Dec 28 2020 at 00:23):

I think this is a slightly nicer way to think about it in terms of spans than what is presented in Lupercio :+1:

view this post on Zulip Eric Forgy (Dec 28 2020 at 00:48):

Dan Doel said:

I guess. But it seems like the problem is that the previous steps need to be made bicategorical, then.

Is it enough to just say we will consider N\mathbb{N} to be a bicategory with one object, morphisms labelled by natural numbers and one identity 2-morphism? Similar, for Span(Set)\mathsf{Span(Set)} with objects sets, morphisms spans of sets and identity 2-morphisms so that we can write down the composite

NSpan(Set)NCAlgebras\mathbb{N}\to\mathsf{Span(Set)}\to\mathsf{NCAlgebras}

?

But then I think I need these to be "lax monoidal functors" (going full circle).

view this post on Zulip Dan Doel (Dec 28 2020 at 00:59):

I don't know. It depends what structure is important for the functors to operate on.

I don't see how lax monoidal functors are relevant, though, because these are bicategories not monoidal categories.

view this post on Zulip Eric Forgy (Dec 28 2020 at 01:01):

Maybe they are monoidal bicategories? I definitely have a tensor product around here :thinking:

view this post on Zulip Eric Forgy (Dec 28 2020 at 01:03):

If AA is an object of NCAlgebras\mathsf{NCAlgebras} then AKAA\otimes_K A is also an object of NCAlgebras\mathsf{NCAlgebras} :thinking:

view this post on Zulip Eric Forgy (Dec 28 2020 at 01:05):

More generally, I guess, if AA and AA' are objects, then so is AKA.A\otimes_K A'.

view this post on Zulip Dan Doel (Dec 28 2020 at 01:06):

Okay, but does that matter? It hasn't been mentioned yet.

view this post on Zulip Eric Forgy (Dec 28 2020 at 01:06):

Yes. I am building up the story incrementally.

view this post on Zulip Eric Forgy (Dec 28 2020 at 01:10):

Wait. Unless, AA and AA' are both commutative, I'm not sure if AKAA\otimes_K A' is an algebra. If they are commutative, then AKAA\otimes_K A' is an algebra with product

(xx)(yKy)(xy)K(xy).(x\otimes x')\otimes(y\otimes_K y') \mapsto (x\,y)\otimes_K (x'\,y').

view this post on Zulip Eric Forgy (Dec 28 2020 at 01:26):

Once I've got this composition

NSpan(Set)NCAlgebras\mathbb{N}\to\mathsf{Span(Set)}\to\mathsf{NCAlgebras}

sorted, then I need to introduce some special bimodule homomorphisms so that I can generate some subspaces as kernels.

For example:

I can show that the spaces Ω0=A\Omega^0 = A, Ω1\Omega^1, ..., Ωn\Omega^n constitute a cochain complex with a nilpotent derivation d:ΩrΩr+1d:\Omega^r\to\Omega^{r+1} satisfying the graded Leibniz rule so I have a graded differential algebra derived from the data of a directed graph.

view this post on Zulip Eric Forgy (Dec 28 2020 at 01:31):

Then, because Span(Set)\mathsf{Span(Set)} (and any image of it in other categories) is a \dagger-category, I get not just a DGA, but a differential graded Hilbert bimodule that serves as a discrete model of spacetime for scientific computation (and possibly more).

Making all this precise is what I'm trying to do here.

view this post on Zulip Eric Forgy (Dec 28 2020 at 01:33):

Essentially I am trying to formalize / simplify and extend an old preprint I wrote with Urs Schreiber back in 2004:

view this post on Zulip John Baez (Dec 28 2020 at 01:47):

Eric Forgy said:

In the paper John referenced a few days ago

this is referred to as NCAlgebra.\mathsf{NCAlgebra}. Should I go with that? Is that standard?

It's not standard, so you have to explain it whenever you start talking to someone. But that's okay.

view this post on Zulip John Baez (Dec 28 2020 at 01:48):

Eric Forgy said:

Wait. Unless, AA and AA' are both commutative, I'm not sure if AKAA\otimes_K A' is an algebra. If they are commutative, then AKAA\otimes_K A' is an algebra with product

(xx)(yKy)(xy)K(xy).(x\otimes x')\otimes(y\otimes_K y') \mapsto (x\,y)\otimes_K (x'\,y').

You mean

(xx)(yKy)(xy)K(xy).(x\otimes x') \, (y\otimes_K y') \mapsto (x\,y)\otimes_K (x'\,y').

This product makes AKAA \otimes_K A' into an algebra works regardless of whether the algebras A,AA, A' are commutative or not. This is the usual "tensor product of algebras over the field KK".

view this post on Zulip Dan Doel (Dec 28 2020 at 01:49):

I'm not really sure I understand all that. It looks like what you're describing is similar to a natural transformation from F:NNCAlgebrasF : ℕ → \mathsf{NCAlgebras} (which goes through spans) to G:NNCAlgebrasG : ℕ → \mathsf{NCAlgebras} which takes the arrow nn to AKnA^{\otimes_K n}. But maybe the details wouldn't work out.

view this post on Zulip Dan Doel (Dec 28 2020 at 01:50):

In that scenario, there'd be no monoidal stuff. The monoids would be part of the bicategory structure.

view this post on Zulip John Baez (Dec 28 2020 at 01:51):

Btw, my small side-remarks should not be taken to suggest that I understand what Eric is actually talking about.

view this post on Zulip Eric Forgy (Dec 28 2020 at 01:52):

John Baez said:

Btw, my small side-remarks should not be taken to suggest that I understand what Eric is actually talking about.

Understood and appreciated :+1:

view this post on Zulip Eric Forgy (Dec 28 2020 at 02:20):

Dan Doel said:

I'm not really sure I understand all that. It looks like what you're describing is similar to a natural transformation from F:NNCAlgebrasF : ℕ → \mathsf{NCAlgebras} (which goes through spans) to G:NNCAlgebrasG : ℕ → \mathsf{NCAlgebras} which takes the arrow nn to AKnA^{\otimes_K n}. But maybe the details wouldn't work out.

This sounds cool, but isn't obvious to me. I'll think about it. Thank you :pray:

view this post on Zulip Dan Doel (Dec 28 2020 at 02:24):

It would have to be some kind of 2-natural transformation, though, and there are potentially more than one to choose from, I think.

view this post on Zulip Eric Forgy (Dec 28 2020 at 05:06):

Dan Doel said:

I'm not really sure I understand all that. It looks like what you're describing is similar to a natural transformation from F:NNCAlgebrasF : ℕ → \mathsf{NCAlgebras} (which goes through spans) to G:NNCAlgebrasG : ℕ → \mathsf{NCAlgebras} which takes the arrow nn to AKnA^{\otimes_K n}. But maybe the details wouldn't work out.

I've been looking at this for a little while now and still can't quite see how we get AKnA^{\otimes_K n} from a morphim nn and a natural transformation.

20201227_204606.jpg

Since F(V)=KV=AF(V) = K^V = A and G(V)=KV=AG(V) = K^V = A, then F(V) = G(V) and the left and right components are equal to the "identity" bimodule homomorphism A1AA\leftarrow 1\rightarrow A. Tracing the commuting square we have

A1AΩ(E)AnA=AΩ(E)AnA1A.A\leftarrow 1\otimes_A \Omega(E)^{\otimes_A n}\rightarrow A = A\leftarrow \Omega(E)^{\otimes_A n}\otimes_A 1\rightarrow A.

Similar to how morphisms of Span(Set)\mathsf{Span(Set)} are isomorphism classes of spans, I think morphisms in the rightmost category (so far - which Lupercio calls NCAlgebras\mathsf{NCAlgebras}) should be isomorphism classes of bimodules so that the above commuting square is true.

Am I missing something about AKnA^{\otimes_K n}?

I understand how we get Ω(E)An\Omega(E)^{\otimes_A n} from nn, but I can't see how we get AKnA^{\otimes_K n} :thinking:

view this post on Zulip John Baez (Dec 28 2020 at 05:11):

It would be great if you could describe what you're trying to do without sinking into the details of how to do it (which apparently you're still not sure about).

view this post on Zulip John Baez (Dec 28 2020 at 05:15):

Are you trying to get a dga from a graph? Something else? Maybe you already know how to do it and you're just trying to say it in a more fancy way?

view this post on Zulip Eric Forgy (Dec 28 2020 at 05:24):

Yes. I already know how to do it ("it" being construct a DGA from a graph), but it is very tedious. It takes me 5+ pages of "start with this, add this structure, then do this and add this other structure" before I can start doing calculations with it. I know it works. I can compute with it, but I believe there should be a one or two line statement about a functor that gets the message across and the rest is details.

view this post on Zulip Eric Forgy (Dec 28 2020 at 05:26):

The functor

NSpan(Set)NCAlgebras\mathbb{N}\to\mathsf{Span(Set)}\to\mathsf{NCAlgebras}

helps a LOT because in one line I already get most of the basic components I need.

view this post on Zulip John Baez (Dec 28 2020 at 05:30):

Okay, you're just trying to construct a DGA from a graph in a slick way.

view this post on Zulip Eric Forgy (Dec 28 2020 at 05:31):

This gets me

I'm not sure yet if I get AKnA^{\otimes_K n} from this, which I need.

view this post on Zulip Eric Forgy (Dec 28 2020 at 05:31):

John Baez said:

Okay, you're just trying to construct a DGA from a graph in a slick way.

Yes

view this post on Zulip John Baez (Dec 28 2020 at 05:34):

Here's how I might try to do it.

  1. Start with a graph G.
  2. Apply the "free category on a graph" functor F:GraphCatF: \mathsf{Graph} \to \mathsf{Cat} to get a category F(G)F(G) whose morphisms are paths in the graph GG.
  3. Apply the "nerve" functor N:CatSSetN: \mathsf{Cat} \to \mathsf{SSet}, which turns categories into simplicial sets. An n-simplex in N(F(G))N(F(G)) will be a length-n path in the graph GG.
  4. Apply the "cochains" functor C:SSetDGAC: \mathsf{SSet} \to \mathsf{DGA} to create the dga of cochains on your simplicial set.

view this post on Zulip Eric Forgy (Dec 28 2020 at 05:35):

I get a cochain complex Ω0,,Ωn\Omega^0,\cdots, \Omega^n by considering special maps from ΩAnAKn\Omega^{\otimes_A n}\to A^{\otimes_K n} but I'd rather not get into the details yet if possible. Once I have ΩAn\Omega^{\otimes_A n} and AKnA^{\otimes_K n} in a slick way I'll be happy enough for now.

view this post on Zulip John Baez (Dec 28 2020 at 05:35):

All the functors I listed are really standard things to do in math. You can read about all of them on the nLab, for example.

view this post on Zulip John Baez (Dec 28 2020 at 05:36):

I may not be quite doing what you want, because there could be a few variants of what to do.

view this post on Zulip John Baez (Dec 28 2020 at 05:37):

But I think this 4-step process is pretty close to what you're talking about.

view this post on Zulip Eric Forgy (Dec 28 2020 at 05:38):

Yeah. My impression (could be wrong) is that doesn't look like what I want because nothing I do involved simplices. Simplices don't work for me (although I can't rule out that they are involved).

view this post on Zulip John Baez (Dec 28 2020 at 05:38):

It's just a fact that length-n paths in a graph are secretly n-simplices.

view this post on Zulip John Baez (Dec 28 2020 at 05:41):

There's a simplicial set where the n-simplices are length-n paths in a graph, and you get it by applying the functors I called 1. and 2.

view this post on Zulip Eric Forgy (Dec 28 2020 at 05:44):

A length nn-path in Span(Set)\mathsf{Span(Set)} gets sent to a special "tensor path" that explictly looks like

(e1Ke2)A(e2Ke3)A(e3Ke4)A(e^1\otimes_K e^2) \otimes_A (e^2\otimes_K e^3) \otimes_A (e^3\otimes_K e^4) \otimes_A \dots

on basis elements. This "path" might secretly be a simplex.

Then I need to construct a sub-bimodule of paths results from the kernel of certain bimodules homomorphisms.

view this post on Zulip Eric Forgy (Dec 28 2020 at 05:45):

These sub-bimodules are in the shape of "diamonds" and form a cochain complex.

view this post on Zulip Eric Forgy (Dec 28 2020 at 05:47):

Once I'm in the category with algebras AKnA^{\otimes_K n}, isomorphism classes of bimodules ΩAn\Omega^{\otimes_A n} and bimodule homomorphisms, then I've got it.

view this post on Zulip Eric Forgy (Dec 28 2020 at 05:51):

For example,

(eiKej1)A(ej1ek)(eiKej2)A(ej2ek)(e^i\otimes_K e^{j_1})\otimes_A (e^{j_1}\otimes e^k) - (e^i\otimes_K e^{j_2})\otimes_A (e^{j_2}\otimes e^k)

is a 2-diamond.

view this post on Zulip Eric Forgy (Dec 28 2020 at 05:54):

It is a linear combination of two length-2 "paths".

view this post on Zulip John Baez (Dec 28 2020 at 06:00):

I promise that if you learn those four functors I just mentioned you'll be better off for it.

view this post on Zulip Eric Forgy (Dec 28 2020 at 06:01):

I'm sure you're right, but I have 3 kids, a dwindling bank account and I've been unemployed for more than 2 years. I don't want a course on category theory. I want / need to finish this paper so I can get back to trying to feed my family. I am on the last step and the finish line is in sight. I don't want to start a new marathon right now.

view this post on Zulip John Baez (Dec 28 2020 at 06:02):

I meant that these constructions are likely to save you lots of time. You're probably hacking your way through the jungle when a few hundred yards to your left there's a highway.

view this post on Zulip John Baez (Dec 28 2020 at 06:04):

I may be a bit off in my recommendation, but I think it's on the right track.

However, if you're almost done with something and just want to finish it, do that. None of this stuff should be taking away time from "feeding your family".

view this post on Zulip Eric Forgy (Dec 28 2020 at 06:04):

True, I have been hacking away, but I am seriously very close to finishing. Once I get those ingredients, I can finish my paper. I actually think we could be there, I'm just not sure if I get AKnA^{\otimes_K n} from this functor.

view this post on Zulip Eric Forgy (Dec 28 2020 at 06:07):

I started this journey and I just wanted to apply for an engineering faculty position but I haven't published anything in close to 20 years so I thought if I had at least a solid preprint I could point to, it might help. In this environment, the chance I can get an engineering faculty position is probably close to zero and I'm probably too late by now anyway. I started this paper early last month.

view this post on Zulip Eric Forgy (Dec 28 2020 at 06:08):

I'm actually REALLY happy with my latest result. I just need to write it up, but I want it to be beautiful.

view this post on Zulip John Baez (Dec 28 2020 at 06:09):

Then I suggest using the tools of linear algebra that you're comfortable with, like algebras, modules, tensor products and so on, and not try to use much category theory.

view this post on Zulip Eric Forgy (Dec 28 2020 at 06:09):

Even my PhD advisor said, "Aren't you too rusty by now" when I asked for a reference letter :joy:

Maybe he is right :pensive:

view this post on Zulip John Baez (Dec 28 2020 at 06:10):

Your use of categories so far is very raw: you don't have enough concepts under your command to choose the best ones.

view this post on Zulip John Baez (Dec 28 2020 at 06:11):

It takes at least a couple years of studying category theory full-time to get really good at wielding it.

view this post on Zulip John Baez (Dec 28 2020 at 06:13):

So I think your paper will look better if you use tools you're really familiar with.

view this post on Zulip Eric Forgy (Dec 28 2020 at 06:13):

True. You and a few people here (Amar, Dan, etc) have been super helpful (and amazingly patient :pray: )

I think this guy

NSpan(Set)NCAlgebras\mathbb{N}\to\mathsf{Span(Set)}\to\mathsf{NCAlgebras}

is probably what I need. Like I said, this gives me A=KVA = K^V and ΩAn\Omega^{\otimes_A n}. Does it also give me AKnA^{\otimes_K n} or do I need to monoidify something? :sweat_smile:

view this post on Zulip John Baez (Dec 28 2020 at 06:14):

See, I think you should skip all the Span(Set) stuff and just work with the vector spaces you're talking about.

view this post on Zulip John Baez (Dec 28 2020 at 06:15):

I think if you clearly write up your construction in terms of vectors spaces, algebras, modules, tensor products and such, a category theorist could come along and make it pretty later.

view this post on Zulip Eric Forgy (Dec 28 2020 at 06:23):

A rough outline of how it goes without cute functors is:

view this post on Zulip Eric Forgy (Dec 28 2020 at 06:25):

I believe the first 3 bullets are captured by the functor

NSpan(Set)NCAlgebras.\mathbb{N}\to\mathsf{Span(Set)}\to\mathsf{NCAlgebras}.

view this post on Zulip Dan Doel (Dec 28 2020 at 06:28):

The reason behind what I said is the same as the other functor. A functor G:NCG : ℕ → C corresponds to picking out an object G()G(\bullet) and an endomorphism G(1):G()G()G(1) : G(\bullet) → G(\bullet), then G(n)G(n) is the n-fold composition of G(1)G(1). In the previous case it was the n-fold composition of whatever Ω(E)Ω(E) is. But instead it could be whatever that other n-fold tensor is.

However, I don't know if the natural transformation actually corresponds to the structure you want.

view this post on Zulip Dan Doel (Dec 28 2020 at 06:32):

If it's something different for each nn, I would guess it's not, since all the n-ary stuff is being determined by 11 for most of this.

view this post on Zulip Eric Forgy (Dec 28 2020 at 06:32):

Dan Doel said:

The reason behind what I said is the same as the other functor. A functor G:NCG : ℕ → C corresponds to picking out an object G()G(\bullet) and an endomorphism G(1):G()G()G(1) : G(\bullet) → G(\bullet), then G(n)G(n) is the n-fold composition of G(1)G(1). In the previous case it was the n-fold composition of whatever Ω(E)Ω(E) is. But instead it could be whatever that other n-fold tensor is.

However, I don't know if the natural transformation actually corresponds to the structure you want.

Thanks Dan :pray:

How about something like this?

We have a span KAKK\leftarrow A\rightarrow K and composing this, we get KAKAKK\leftarrow A\otimes_K A\rightarrow K. Composing nn times, we get KAKnK.K\leftarrow A^{\otimes_K n}\rightarrow K.

Is that what you meant?

view this post on Zulip Eric Forgy (Dec 28 2020 at 06:34):

That is neat :thinking:

view this post on Zulip Eric Forgy (Dec 28 2020 at 06:35):

I feel this is too pretty to give up at this point. Especially since I think we're so close.

view this post on Zulip Eric Forgy (Dec 28 2020 at 06:38):

So maybe

:thinking:

view this post on Zulip Dan Doel (Dec 28 2020 at 06:38):

I'm not sure what AA is supposed to be exactly, or how to get it.

view this post on Zulip Eric Forgy (Dec 28 2020 at 06:39):

We also (although I haven't mentioned it in this conversation) have a derivation d:AΩd: A\to\Omega.

view this post on Zulip Eric Forgy (Dec 28 2020 at 06:40):

Dan Doel said:

I'm not sure what AA is supposed to be exactly, or how to get it.

A=KVA = K^V

view this post on Zulip Eric Forgy (Dec 28 2020 at 06:41):

VV is the set of vertices.

view this post on Zulip Eric Forgy (Dec 28 2020 at 06:42):

If the directed graph has no loops, then Ω=KE\Omega = K^E is an AA-bimodule.

view this post on Zulip Eric Forgy (Dec 28 2020 at 06:43):

(It is an AA-bimodule even if (V,E)(V,E) has loops, but I don't allow loops for other reasons.)

view this post on Zulip Eric Forgy (Dec 28 2020 at 07:28):

Thank you both for your help today :raised_hands:

It was painful, but I feel we made progress :muscle: