Zulip Chat Archive

Stream: maths

Topic: Eigenvectors for semirings


Kenny Lau (Sep 15 2025 at 13:19):

Module.End.HasEigenvector currently requires Ring because it is defined using generalised eigenspace, which doesn't mean much without subtraction. However, eigenvector itself doesn't really need subtraction, since it just says f x = μ • x ∧ x ≠ 0. Should we change the definition to generalise to semirings?

Violeta Hernández (Sep 15 2025 at 14:23):

I suspect the answer is the same answer to the question "do we need to talk about eigenvectors on semirings"?

Kenny Lau (Sep 15 2025 at 14:24):

i'm not an expert in semirings, so i don't want to be biased by this

Kevin Buzzard (Sep 15 2025 at 19:38):

If you change it then it will make mathlib slightly slower because it will have to work slightly harder to check that your ring is a semiring lots of times. What do we gain by changing this? Is there a mathematical reason?

My position on this has definitely changed from "woo let's do everything in absolutely the maximal generality" to "actually let's be pragmatic here. Does anyone care?"

Kenny Lau (Sep 15 2025 at 19:40):

Kevin Buzzard said:

work slightly harder to check that your ring is a semiring lots of times

it's already doing that every time you type Module

Kenny Lau (Sep 15 2025 at 19:40):

also a lot of times we have "shortcut instances"

Michael Rothgang (Sep 16 2025 at 10:08):

Often, you can literally weaken a definition - but the new definition becomes "wrong" in the more general context. Hence, I'm careful with just generalising definitions without any motivation at all.

Michael Rothgang (Sep 16 2025 at 10:09):

Do you have any motivating use case in mind? How much of the standard theory dies still work?

Kenny Lau (Sep 17 2025 at 10:47):

@Michael Rothgang in #29610 @Lawrence Wu (llllvvuu) discovered the following fact: if v is an eigenvector for T1 and T2 with e/val μ1 and μ2 then it is an eigenvector for T1*T2 with e/val μ2*μ1

Kenny Lau (Sep 17 2025 at 10:47):

(note that the order is reversed)


Last updated: Dec 20 2025 at 21:32 UTC