Skip to content

Commit

Permalink
Some more fixes for the fibration hopping. (#3877)
Browse files Browse the repository at this point in the history
* Some fixes in the production of ideal sheaves.

* give the compiler a hint in order to avoid an infinite recursion

---------

Co-authored-by: Simon Brandhorst <[email protected]>
  • Loading branch information
HechtiDerLachs and simonbrandhorst authored Jun 20, 2024
1 parent 468c67e commit 58abe47
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 3 deletions.
4 changes: 2 additions & 2 deletions experimental/Schemes/src/IdealSheaves.jl
Original file line number Diff line number Diff line change
Expand Up @@ -1583,7 +1583,7 @@ function produce_object(F::PrimeIdealSheafFromChart, U2::AbsAffineScheme)

function complexity(X1::AbsAffineScheme)
init = maximum(total_degree.(lifted_numerator.(gens(F(X1)))); init=0)
glue = default_covering(X)[V, X1]
glue = default_covering(X)[X1, V2]
if glue isa SimpleGluing || (glue isa LazyGluing && is_computed(glue))
return init
end
Expand All @@ -1598,7 +1598,7 @@ function produce_object(F::PrimeIdealSheafFromChart, U2::AbsAffineScheme)
glue = default_covering(X)[W, V2]
f, g = gluing_morphisms(glue)
if glue isa SimpleGluing || (glue isa LazyGluing && first(gluing_domains(glue)) isa PrincipalOpenSubset)
complement_equation(codomain(g)) in F(W) && continue # We know the ideal is prime. No need to saturate!
complement_equation(codomain(g)) in F(W) && return ideal(OO(U2), one(OO(U2))) # We know the ideal is prime. No need to saturate!
I2 = F(codomain(g))
I = pullback(g)(I2)
I = ideal(OO(V2), lifted_numerator.(gens(I)))
Expand Down
2 changes: 1 addition & 1 deletion src/Rings/MPolyQuo.jl
Original file line number Diff line number Diff line change
Expand Up @@ -654,7 +654,7 @@ function ideal(A::MPolyQuoRing{T}, V::Vector{MPolyQuoRingElem{T}}) where T <: MP
return MPolyQuoIdeal(A, ideal(base_ring(A), map(p->p.f, V)))
end

ideal(R::MPolyQuoRing, V::Vector) = ideal(R, R.(V))
ideal(R::MPolyQuoRing, V::Vector) = ideal(R, elem_type(R)[R(x) for x in V])


function ideal(A::MPolyQuoRing{T}, x::T) where T <: MPolyRingElem
Expand Down

0 comments on commit 58abe47

Please sign in to comment.