From 99f79aea82b1da13cc67de764bfa8631618d6ce5 Mon Sep 17 00:00:00 2001 From: Mohamed Barakat Date: Wed, 29 Apr 2020 19:35:15 +0200 Subject: [PATCH] fixed bug in membership test_function the assumption made on HilbertPolynomial in the code is wrong --- ToricSheaves/PackageInfo.g | 2 +- ToricSheaves/examples/Hirzebruch7.gi | 11 ++++++----- ToricSheaves/gap/ToricSheaves.gi | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/ToricSheaves/PackageInfo.g b/ToricSheaves/PackageInfo.g index 966de21615..dfca7da198 100644 --- a/ToricSheaves/PackageInfo.g +++ b/ToricSheaves/PackageInfo.g @@ -10,7 +10,7 @@ SetPackageInfo( rec( PackageName := "ToricSheaves", Subtitle := "Toric sheaves as Serre quotients", -Version := "2020.10-01", +Version := "2021.02-01", Date := Concatenation( "01/", ~.Version{[ 6, 7 ]}, "/", ~.Version{[ 1 .. 4 ]} ), License := "GPL-2.0-or-later", diff --git a/ToricSheaves/examples/Hirzebruch7.gi b/ToricSheaves/examples/Hirzebruch7.gi index 1e1f29828a..1605da2c09 100644 --- a/ToricSheaves/examples/Hirzebruch7.gi +++ b/ToricSheaves/examples/Hirzebruch7.gi @@ -6,14 +6,15 @@ CohH7 := CategoryOfToricSheaves( H7 ); S := CoxRing( H7 ); -Mirr := HomalgMatrix( "[x_3*x_4,x_1*x_4,x_1*x_2,x_2*x_3]",4,1,S ); - gen_degs := DegreesOfGenerators( IrrelevantIdeal( H7 ) ); -Irrel := AsGradedLeftPresentation( Mirr ); +## A module supported on the irrelevant locus +Mirr := AsGradedLeftPresentation( HomalgMatrix( "[x_1*x_2, x_1*x_3, x_2*x_4, x_3*x_4]", 4, 1, S ) ); + +SheafMirr := AsSerreQuotientCategoryObject( CohH7, Mirr ); -SheafIrrel := AsSerreQuotientCategoryObject( CohH7, Irrel ); +Assert( 0, IsZero( SheafMirr ) ); -MS := AsGradedLeftPresentation( FreeLeftPresentation( 1, S ) ); +MS := GradedFreeLeftPresentation( 1, S ); SheafS := AsSerreQuotientCategoryObject( CohH7, MS ); diff --git a/ToricSheaves/gap/ToricSheaves.gi b/ToricSheaves/gap/ToricSheaves.gi index 21005eeef5..454cd3710e 100644 --- a/ToricSheaves/gap/ToricSheaves.gi +++ b/ToricSheaves/gap/ToricSheaves.gi @@ -36,7 +36,7 @@ InstallMethod( CategoryOfToricSheaves, presentation_category := GradedLeftPresentations( graded_ring ); - if IsFree( DegreeGroup( graded_ring ) ) and ForAll( degree_matrix_as_list_list, i -> ForAll( i, j -> j >= 0 ) ) and comes_from_smooth_variety then + if IsFree( DegreeGroup( graded_ring ) ) and Rank( DegreeGroup( graded_ring ) ) = 1 and ForAll( degree_matrix_as_list_list, i -> ForAll( i, j -> j >= 0 ) ) and comes_from_smooth_variety then test_function := module -> IsZero( HilbertPolynomial( UnderlyingMatrixOverNonGradedRing( UnderlyingMatrix( module ) ) ) );