GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
#############################################################################
##
## Tools.gi ToricVarieties Sebastian Gutsche
##
## Copyright 2011 Lehrstuhl B für Mathematik, RWTH Aachen
##
## Tools for toric varieties
##
#############################################################################
##################################
##
## Methods
##
##################################
##
InstallMethod( DefaultFieldForToricVarieties,
" the default field.",
[ ],
function( )
if IsBound( TORIC_VARIETIES!.FIELD ) then
return TORIC_VARIETIES!.FIELD;
fi;
TORIC_VARIETIES!.FIELD := HomalgFieldOfRationalsInDefaultCAS();
return TORIC_VARIETIES!.FIELD;
end );
##
InstallMethod( DefaultGradedFieldForToricVarieties,
" the default field.",
[ ],
function( )
if IsBound( TORIC_VARIETIES!.GRADED_FIELD ) then
return TORIC_VARIETIES!.GRADED_FIELD;
fi;
TORIC_VARIETIES!.GRADED_FIELD := GradedRing( DefaultFieldForToricVarieties() );
return TORIC_VARIETIES!.GRADED_FIELD;
end );
##
InstallMethod( InstallMethodsForSubvarieties,
" installing subvarieties",
[ ],
function( )
local attr;
for attr in List( TORIC_VARIETIES!.prop_and_attr_shared_by_vars_and_subvars, ValueGlobal ) do
LogicalImplicationsForHomalgSubobjects( attr, IsToricSubvariety, HasUnderlyingToricVariety, UnderlyingToricVariety );
od;
return true;
end );
##
InstallMethod( ProjectiveSpace,
"creates projective space of given dim",
[ IsInt ],
function( dimension )
local variety, zero_line, matrix;
matrix := ShallowCopy( IdentityMat( dimension ) );
zero_line := ListWithIdenticalEntries( dimension, 0 );
Add( matrix, zero_line );
variety := Polytope( matrix );
return ToricVariety( variety );
end );
##
InstallMethod( AffineSpace,
"create an affine space of given dim",
[ IsInt ],
function( dimension )
local variety;
variety := IdentityMat( dimension );
return ToricVariety( Cone( variety ) );
end );
##
InstallMethod( HirzebruchSurface,
"creates Hirzebruch surface",
[ IsInt ],
function( r )
local fan;
fan := Fan( [ [0,1],[1,0],[0,-1],[-1,r] ], [ [1,2],[2,3],[3,4],[4,1] ] );
return ToricVariety( fan );
end );
###############################
##
## Precomputation
##
###############################
InstallMethodsForSubvarieties( );