Skip to content

Comparing ideal sheaves #4355

Closed
Closed
@lkastner

Description

@lkastner

Followup on #4348 , @benlorenz remarked that there sometimes was a failure in /home/runner/work/Oscar.jl/Oscar.jl/test/AlgebraicGeometry/ToricVarieties/toric_blowups.jl:76, see #4353 (comment)

The issue can be reproduced by manually defining P2:

julia> RS = [1 0; -1 -1; 0 1]
3×2 Matrix{Int64}:
  1   0
 -1  -1
  0   1

julia> IM = incidence_matrix([[1,2],[2,3],[1,3]])
3×3 IncidenceMatrix
[1, 2]
[2, 3]
[1, 3]


julia> F = polyhedral_fan(IM, RS; non_redundant=true)
Polyhedral fan in ambient dimension 2

julia> P2 = normal_toric_variety(F)
Normal toric variety

julia> S = cox_ring(P2)
Multivariate polynomial ring in 3 variables over QQ graded by
  x1 -> [1]
  x2 -> [1]
  x3 -> [1]

julia> I = ideal(S, [S[1], S[2]])
Ideal generated by
  x1
  x2

julia> bl2 = blow_up(P2, I)
Toric blowup morphism

julia> II = IdealSheaf(P2, I)
Sheaf of ideals
  on normal, smooth toric variety
with restrictions
  1: Ideal (x_1_1, x_2_1)
  2: Ideal (1, x_1_2)
  3: Ideal (x_1_3, 1)

julia> bl = blow_up(P2, [1, 1])
Toric blowup morphism

julia> II == center_unnormalized(bl) # should be true according to test file
false

So there seems to be something else going on.

Manually executing the code for == gives:

julia> I = II
Sheaf of ideals
  on normal, smooth toric variety
with restrictions
  1: Ideal (x_1_1, 1)
  2: Ideal (1, x_1_2)
  3: Ideal (x_1_3, x_2_3)

julia> J = center_unnormalized(bl)
Sheaf of ideals
  on normal, smooth toric variety
with restrictions
  1: Ideal (x_2_1, x_1_1)
  2: Ideal (1)
  3: Ideal (1)

julia> X = space(I)
Normal, smooth toric variety

julia> X === space(J)
true

julia> Oscar.basic_patches(default_covering(X))
3-element Vector{AffineNormalToricVariety}:
 Normal toric variety
 Normal toric variety
 Normal toric variety

julia> for U in Oscar.basic_patches(default_covering(X))
       println(I(U))
       end
Ideal (x_1_1, 1)
Ideal (1, x_1_2)
Ideal (x_1_3, x_2_3)

julia> for U in Oscar.basic_patches(default_covering(X))
       println(J(U))
       end
Ideal (x_2_1, x_1_1)
Ideal (1)
Ideal (1)

julia> 

@HereAround

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions