Zulip Chat Archive

Stream: Is there code for X?

Topic: Special Linear Groups


Sidharth Hariharan (May 05 2022 at 18:22):

Hi all,
I’m a first year undergraduate mathematics student at Imperial College London and a regular attendee at Dr. Kevin Buzzard’s weekly Lean sessions. I am keen to contribute to Mathlib and was browsing through the “Missing undergraduate topics in Lean” page on Lean Community. I found Special Linear Groups on that list, and I couldn’t find it in the Pull Requests either. I was wondering what exactly needs to be done. Any suggestions on how to get started would be much appreciated too.
Thank you!

Eric Wieser (May 05 2022 at 19:18):

It seems we have docs#matrix.special_linear_group but no equivalent definition for linear maps

Eric Wieser (May 05 2022 at 19:19):

I wonder; is docs#unitary applied to docs#module.End distinct from the special linear group?

Kevin Buzzard (May 05 2022 at 19:20):

unitary wants a star, but even if star is trivial you don't get the special linear group, you get orthogonal groups I guess.

Kevin Buzzard (May 05 2022 at 19:21):

@Patrick Massot can Anne's work linked to above be used to remove special linear groups from the UG todo list?

Eric Wieser (May 05 2022 at 19:22):

(docs#linear_map.star_semigroup requires an inner product space too, so is probably too strong on typeclass requirements for docs#unitary to be useful)

Eric Wieser (May 05 2022 at 19:24):

Kevin Buzzard said:

Patrick Massot can Anne's work linked to above be used to remove special linear groups from the UG todo list?

I guess even if we don't want the matrix version, the linear map version is basically just linear_map.det.ker

Patrick Massot (May 05 2022 at 19:57):

I would like to see a version that actually types check.

Patrick Massot (May 05 2022 at 19:58):

I can write

import linear_algebra.determinant

variables {M : Type*} [add_comm_group M] {A : Type*} [comm_ring A] [module A M]

#check @monoid_hom.ker
#check  (linear_map.det : (M →ₗ[A] M) →* A)

but (M →ₗ[A] M) is not a group

Patrick Massot (May 05 2022 at 19:58):

and linear_equiv.det doesn't seem to exist.

Patrick Massot (May 05 2022 at 19:59):

So I would say we don't seem to have the special linear group, but it shouldn't be far away.

Kevin Buzzard (May 05 2022 at 21:47):

@Sidharth Hariharan so it seems that there's a mini project to be done there before we can tick it off -- I can talk you through it next Thurs

Eric Wieser (May 05 2022 at 21:56):

linear_equiv.det doesn't seem to exist

docs#linear_equiv.det

Eric Wieser (May 05 2022 at 21:57):

Apparently I added this in #10751

Sidharth Hariharan (May 05 2022 at 22:11):

@Kevin Buzzard I see. Sounds good, thank you!

Antoine Labelle (May 06 2022 at 03:49):

If we want the linear_map version of the special linear group, it might be good also to add the basis-independant definition of the determinant in terms of exterior powers similar to what we did we the trace recently (docs#linear_map.trace_eq_contract)


Last updated: Dec 20 2023 at 11:08 UTC