Hecke.jl icon indicating copy to clipboard operation
Hecke.jl copied to clipboard

sparse_row and SRow accept NCRing instead of Ring

Open Lax202 opened this issue 1 year ago • 10 comments

This is to be able to create Modules in Oscar over non-commutative rings, as discussed with @HechtiDerLachs and @fieker

Lax202 avatar Dec 13 '23 15:12 Lax202

In particular things like scale_row! may need two versions, for left and right action...

A crucial aspect of modules over non-commutative rings is that one has to be careful about which actions are left and which are right otherwise things don't work out in the end...

(@mohamed-barakat is an expert on this, perhaps we can consult with him, too ;-) but in principle I think I know the rules, too)

fingolfin avatar Dec 20 '23 11:12 fingolfin

I have added left and right actions in scale_row, add_scaled_row and divexact (not div). There are tests for everything except divexact since I am unable to find a non-commutative ring for which divexact_left is implemented. The tests use an exterior algebra. This ring does not exist in Hecke. If someone could suggest an Hecke NCRing that can be used for tests, that would be great.

Lax202 avatar Dec 20 '23 17:12 Lax202

R = MatrixAlgebra(QQ, 2) and a = R([1 2; 3 4]) if you want an element. Or rand(R, -10:10) for something random.

thofma avatar Dec 20 '23 17:12 thofma

Someone needs to allow the tests to run :-)

fingolfin avatar Dec 20 '23 17:12 fingolfin

As said, the tests will fail, so no need to approve anything. I have to reapprove for the next commit anyway.

thofma avatar Dec 20 '23 17:12 thofma

A crucial aspect of modules over non-commutative rings is that one has to be careful about which actions are left and which are right otherwise things don't work out in the end...

(@mohamed-barakat is an expert on this, perhaps we can consult with him, too ;-) but in principle I think I know the rules, too)

I am happy to help, of course :) If you have specific questions please let me know.

mohamed-barakat avatar Dec 20 '23 22:12 mohamed-barakat

@Lax202 I just pushed a commit to resolve the conflicts.

joschmitt avatar Jan 24 '24 16:01 joschmitt

@Lax202 it would be good if you implemented the suggestions from the feedback here or figure out why it can't be done. Feel free to talk to me about details.

fingolfin avatar Mar 27 '24 11:03 fingolfin

Could someone (@thofma @joschmitt) please allow the CI tests to run?

fingolfin avatar Jun 12 '24 19:06 fingolfin

Again someone needs to allow the CI tests to run, please

fingolfin avatar Jun 19 '24 13:06 fingolfin

@Lax202 the documentation tests still have some failures you need to address (we discussed these already):

ExpandTemplates: expanding markdown templates.
Error: no docs found for 'sparse_row(::ZZRing, ::Vector{Tuple{Int, ZZRingElem}})' in `@docs` block in src/manual/misc/sparse.md:30-34
```@docs
sparse_row(::ZZRing, ::Vector{Tuple{Int, ZZRingElem}})
sparse_row(::ZZRing, ::Vector{Tuple{Int, Int}})
sparse_row(::ZZRing, ::Vector{Int}, ::Vector{ZZRingElem})
```

fingolfin avatar Jul 17 '24 11:07 fingolfin

Codecov Report

Attention: Patch coverage is 35.71429% with 54 lines in your changes missing coverage. Please review.

Project coverage is 75.62%. Comparing base (32b8b74) to head (2e90d2c). Report is 22 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1322      +/-   ##
==========================================
+ Coverage   75.55%   75.62%   +0.06%     
==========================================
  Files         355      357       +2     
  Lines      113364   113521     +157     
==========================================
+ Hits        85655    85852     +197     
+ Misses      27709    27669      -40     
Files Coverage Δ
src/HeckeTypes.jl 84.36% <62.50%> (ø)
src/Sparse/Row.jl 73.39% <32.89%> (-10.08%) :arrow_down:

... and 58 files with indirect coverage changes

codecov[bot] avatar Jul 22 '24 10:07 codecov[bot]

@thofma @joschmitt @fieker can someone please approve the CI runs? @Lax202 just pushed an update which hopefully will address the documenter issue

fingolfin avatar Jul 22 '24 12:07 fingolfin