Zulip Chat Archive
Stream: maths
Topic: matrix.minor wrong terminology?
Alexander Bentkamp (Aug 15 2022 at 14:09):
I think the term "minor" is used in the wrong way in mathlib. Minors are the determinants of submatrices, not the submatrix itself. Should I make a PR to rename matrix.minor to matrix.submatrix?
Moritz Doll (Aug 15 2022 at 14:13):
technically it is not even a submatrix, right? you could have rows/columns that you reindex twice (i.e., the maps are not injective)
Eric Wieser (Aug 15 2022 at 14:17):
I think probably we don't need to worry about that though; we frequently use names that only actually match convention under extra assumptions
Eric Wieser (Aug 15 2022 at 14:18):
Such as module which isn't really a module without ring
Eric Wieser (Aug 15 2022 at 14:18):
Or monoid_hom which isn't really a monoid homomorphism without monoid
Eric Wieser (Aug 15 2022 at 14:19):
It's unfortunate that submatrix is almost twice as long a name
Eric Wieser (Aug 15 2022 at 14:22):
Note that on square matrices, matrix.minor A f f is the same as matrix.of (A on f) (docs#function.on_fun). Perhaps then simply matrix.on is a reasonable (protected) name?
Johan Commelin (Aug 15 2022 at 14:24):
I like matrix.on.
Alexander Bentkamp (Aug 15 2022 at 15:29):
Yaël Dillies (Aug 15 2022 at 15:30):
That will conflict with #14035.
Alexander Bentkamp (Aug 15 2022 at 16:07):
That's ok. When the first one gets merged, I am happy to update the other.
Alexander Bentkamp (Aug 16 2022 at 12:01):
The PR for on is ready, but @Anne Baanen  and I aren't really happy about on. For me, it's because on is not really illuminating for newcomers. Indeed, submatrix is a bit long, but maybe acceptable? How about abbreviating it as submat or submx? Any other ideas?
Eric Wieser (Aug 16 2022 at 12:08):
/poll What should matrix.minor be called?
- matrix.minor
 - matrix.on
 - matrix.submat
 - matrix.submx
 
Eric Wieser (Aug 16 2022 at 12:15):
Another similar definition is docs#finsupp.comap_domain, which does the same type of composition on the left; thought the name IMO would be worse here.
Moritz Doll (Aug 16 2022 at 12:28):
yet another similar definition is docs#linear_map.compl₁₂
Anne Baanen (Aug 16 2022 at 12:29):
Some other options I considered are to call this matrix.reindex and rename reindex to reindex_equiv, or matrix.(co)map_index.
Eric Wieser (Aug 16 2022 at 12:39):
That's made a little messy by the fact that src#matrix.reindex is implemented as reindex e f = minor e.symm f.symm; the direction is flipped, so one is not just a bundled version of the other
Alexander Bentkamp (Aug 17 2022 at 14:27):
Ok, submatrix seems to be the most popular.  Here is the PR for submatrix: #16101
Alexander Bentkamp (Aug 18 2022 at 13:38):
merged!
Last updated: May 02 2025 at 03:31 UTC