Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 418346############################################################################# ## #W affine.gd Manuel Delgado <[email protected]> #W Pedro A. Garcia-Sanchez <[email protected]> ## #Y Copyright 2015-- Centro de Matemática da Universidade do Porto, Portugal and Universidad de Granada, Spain ############################################################################# ############################################################################### #O BelongsToAffineSemigroup # Determines if the vector v is in the affine semigroup a ########################################################################### DeclareOperation("BelongsToAffineSemigroup",[IsHomogeneousList,IsAffineSemigroup]); ############################################################################### #F BasisOfGroupGivenByEquations # Computes a basis of a subgroup of Z^n with defining equations # Ax =0 \in Z_m1\times\Z_mt \times Z^k, k is n-length(m), # m=[m1,...,mt] ########################################################################### DeclareGlobalFunction("BasisOfGroupGivenByEquations"); ############################################################# ### #F EquationsOfGroupGeneratedBy # Computes the defining equations of the group of Z^n # generated by M # the output is [A,m] such that Ax=0 mod m are the equations ############################################################ DeclareGlobalFunction("EquationsOfGroupGeneratedBy"); ############################################################## ### #F GluingOfAffineSemigroups # Determines if there is a gluing of the two affine semigroups # if so, returns the gluin of them, and fail otherwise ############################################################## DeclareGlobalFunction("GluingOfAffineSemigroups"); ################################################################ ### #F IsFullAffineSemigroup # Detects if the affine semigroup is full: the nonnegative # of the the group spanned by it coincides with the semigroup # itself; or in other words, if a,b\in S and a-b\in \mathbb N^n, # then a-b\in S ################################################################ ## moved to affine-def #DeclareGlobalFunction("IsFullAffineSemigroup"); ###################### ContejeanDevieAlgorithm #DeclareGlobalFunction("ContejeanDevieAlgorithmForEquations"); #DeclareGlobalFunction("ContejeanDevieAlgorithmForInequalities"); ############################################################################### #O FactorizationsVectorWRTList # # Computes the set of factorizations of v in terms of the elements of ls # That is, a Hilbert basis for ls*X=v # While using normaliz: # If ls contains vectors that generate a nonreduced monoid, then it # deprecates the infinite part of the solutions, or in other words, it # returns only the minimal solutions of the above system of equations # If not using nomaliz: then the above can cause an infinite loop ######################################################################## DeclareOperation("FactorizationsVectorWRTList",[IsHomogeneousList,IsMatrix]); ############################################################################### #O BettiElementsOfAffineSemigroup # Computes the Betti elements of the affine semigroup a ########################################################################### DeclareOperation("BettiElements",[IsAffineSemigroup]); DeclareSynonym("BettiElementsOfAffineSemigroup",BettiElements); ############################################################ #O GeneratorsOfKernelCongruence # computes a set of generators of the kernel congruence # of the monoid morphism associated to the matrix m ############################################################ DeclareOperation("GeneratorsOfKernelCongruence",[IsRectangularTable]); ############################################################ #O CanonicalBasisOfKernelCongruence # computes a canonical basis of the kernel congruence # of the monoid morphism associated to the matrix m with # nonnegative integer coefficients wrt the term ordering # the kernel is the pairs (x,y) such that xm=ym ############################################################ DeclareOperation("CanonicalBasisOfKernelCongruence",[IsRectangularTable, IsMonomialOrdering]); ############################################################ #O GraverBasis # computes the Graver basis of matrix with integer entries ############################################################ DeclareOperation("GraverBasis",[IsRectangularTable]); ############################################################################### #O MinimalPresentationOfAffineSemigroup # Computes a minimal presentation of the affine semigroup a ########################################################################### DeclareOperation("MinimalPresentationOfAffineSemigroup",[IsAffineSemigroup]); DeclareOperation("MinimalPresentation",[IsAffineSemigroup]); ############################################################################# ## #P IsUniquelyPresentedAffineSemigroup(a) ## ## For an affine semigroup s, checks it it has a unique minimal presentation ## Basado en GS-O ## ############################################################################# DeclareProperty("IsUniquelyPresentedAffineSemigroup", IsAffineSemigroup); ############################################################################# ## #P IsGenericAffineSemigroup(a) ## ## For an affine semigroup a, checks it it has a generic presentation, ## that is, in every relation all minimal generators appear. These semigroups are uniquely ## presented véase B-GS-G. ## ############################################################################# DeclareProperty("IsGeneric", IsAffineSemigroup); DeclareSynonymAttr("IsGenericAffineSemigroup", IsGeneric); ############################################################################# ## #F ShadedSetOfElementInAffineSemigroup(x,a) ## computes the shading set of x in a as defined in ## -Székely, L. A.; Wormald, N. C. Generating functions for the Frobenius ## problem with 2 and 3 generators. Math. Chronicle 15 (1986), 49–57. ############################################################################# DeclareGlobalFunction("ShadedSetOfElementInAffineSemigroup"); ############################################################################### #F CatenaryDegreeOfAffineSemigroup # Computes the catenary degree of the affine semigroup a ########################################################################### DeclareGlobalFunction("CatenaryDegreeOfAffineSemigroup",[IsAffineSemigroup]); ############################################################################### #F DeltaSetOfAffineSemigroup # Computes the Delta set of the affine semigroup a ########################################################################### DeclareGlobalFunction("DeltaSetOfAffineSemigroup",[IsAffineSemigroup]); ############################################################################### #F EqualCatenaryDegreeOfAffineSemigroup # Computes the equal catenary degree of the affine semigroup a # uses [GSOSN] ########################################################################### DeclareGlobalFunction("EqualCatenaryDegreeOfAffineSemigroup",[IsAffineSemigroup]); ############################################################################### #F HomogeneousCatenaryDegreeOfAffineSemigroup # Computes the homogeneous catenary degree of the affine semigroup a # uses [GSOSN] ########################################################################### DeclareGlobalFunction("HomogeneousCatenaryDegreeOfAffineSemigroup",[IsAffineSemigroup]); ############################################################################### #F MonotoneCatenaryDegreeOfAffineSemigroup # Computes the monotone catenary degree of the affine semigroup a # uses [PH] ########################################################################### DeclareGlobalFunction("MonotoneCatenaryDegreeOfAffineSemigroup",[IsAffineSemigroup]); ############################################################################# ## #O HilbertBasisOfSystemOfHomogeneousEquations # # Computes the Hilbert basis of the system A X=0 mod md, where the rows # of A are the elements of ls. # md can be empty of have some modulus, if the length of md is smaller than # the lengths of the elements of ls, then the rest of equations are considered # to be homogeneous linear Diophantine equations ########################################################################## DeclareOperation("HilbertBasisOfSystemOfHomogeneousEquations",[IsMatrix,IsHomogeneousList]); ############################################################################# ## #O HilbertBasisOfSystemOfHomogeneousInequalities # # Computes the Hilbert basis of the system ls*X>=0 over the nonnegative # integers ########################################################################## DeclareOperation("HilbertBasisOfSystemOfHomogeneousInequalities",[IsMatrix]); ############################################################################### ## #O OmegaPrimalityOfElementInAffineSemigroup # # Computes the omega-primality of v in the monoid a ########################################################################### DeclareOperation("OmegaPrimalityOfElementInAffineSemigroup",[IsHomogeneousList,IsAffineSemigroup]); ############################################################################### ## #F OmegaPrimalityOfAffineSemigroup # # Computes the omega primality of the affine semigroup a ########################################################################### DeclareGlobalFunction("OmegaPrimalityOfAffineSemigroup"); ############################################################################### #F ElasticityOfAffineSemigroup # Computes the elasticity of the affine semigroup a ########################################################################### DeclareGlobalFunction("ElasticityOfAffineSemigroup"); ############################################################################### ## #F Lawrence lifting of an affine semigroup ############################################################################## DeclareGlobalFunction("LawrenceLiftingOfAffineSemigroup"); ############################################################################### ## #O PrimitiveElementsOfAffineSemigroup_Normaliz # An implementation of PrimitiveElementsOfAffineSemigroup using # Normaliz ##################################################################### DeclareOperation("PrimitiveElementsOfAffineSemigroup",[IsAffineSemigroup]); ############################################################################### ## #O TameDegreeOfAffineSemigroup # Computes the tame degree of the affine semigroup a ########################################################################### DeclareOperation("TameDegreeOfAffineSemigroup",[IsAffineSemigroup]); ############################################################################### ## ############################################################################### ############################################################################### ## #F RandomAffineSemigroup # Returns an affine semigroup generated by a random n'*d' matrix where d' (the dimension) is randomly choosen from [1..d] and n' (the number of generators) is randomly choosen from [1..n] ########################################################################### DeclareGlobalFunction("RandomAffineSemigroup"); ############################################################################### ## #F RandomFullAffineSemigroup # Computes the tame degree of the affine semigroup a ########################################################################### DeclareGlobalFunction("RandomFullAffineSemigroup"); ########################################################################## ## #F NumSgpsUseNormaliz # Loads the package NormalizInterface and reads affine-extra-ni ########################################################################## DeclareGlobalFunction("NumSgpsUseNormaliz"); ########################################################################## ## #F NumSgpsUseSingular # Loads the package singular and reads affine-extra-s ########################################################################## DeclareGlobalFunction("NumSgpsUseSingular"); ########################################################################## ## #F NumSgpsUseSingularInterface # Loads the package SingularInterface and reads affine-extra-si ########################################################################## DeclareGlobalFunction("NumSgpsUseSingularInterface"); ########################################################################## ## #F NumSgpsUse4ti2 # Loads the package 4ti2Interface and reads affine-extra-4ti2 ########################################################################## DeclareGlobalFunction("NumSgpsUse4ti2"); ########################################################################## ## #F NumSgpsUse4ti2gap # Loads the package 4ti2Interface and reads affine-extra-4ti2gap ########################################################################## DeclareGlobalFunction("NumSgpsUse4ti2gap"); ########################################################################## ## #F NumSgpsUseGradedModules # Loads the package GradedModules and reads affine-extra-gm ########################################################################## DeclareGlobalFunction("NumSgpsUseGradedModules");