Skip to content

Commit

Permalink
fix first matrix (presentation matrix) in the resolution
Browse files Browse the repository at this point in the history
  • Loading branch information
jankoboehm committed Aug 7, 2023
1 parent d50896a commit 3573db5
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions src/Modules/UngradedModules.jl
Original file line number Diff line number Diff line change
Expand Up @@ -6384,11 +6384,11 @@ function free_resolution(M::SubquoModule{<:MPolyRingElem};
singular_kernel_entry = Singular.Module(base_ring(singular_free_module),
[singular_free_module(repres(g)) for g in gens(kernel_entry)]...)

singular_kernel_entry.isGB = true
gbpres = Singular.std(singular_kernel_entry)

#= This is the single computational hard part of this function =#
if algorithm == :fres
res = Singular.fres(Singular.std(singular_kernel_entry), length, "complete")
res = Singular.fres(gbpres, length, "complete")
elseif algorithm == :lres
error("LaScala's method is not yet available in Oscar.")
else
Expand All @@ -6399,6 +6399,12 @@ function free_resolution(M::SubquoModule{<:MPolyRingElem};
cc_complete = true
end

dom = domain(maps[1])
codom = codomain(maps[1])
SM = SubModuleOfFreeModule(codom, gbpres)
generator_matrix(SM)
maps[1] = hom(dom, codom, SM.matrix)

#= Add maps from free resolution computation, start with second entry
= due to inclusion of presentation(M) at the beginning. =#
dom = domain(pm.maps[1])
Expand Down

0 comments on commit 3573db5

Please sign in to comment.