                   ----------------------------------------
                   | CHANGES of the numericalsgps package |
                   ----------------------------------------
1->1 dev
- Fixed bug while using SingularSetBaseRing in affine-extra-s.gi

0.980 -> 1
- NumSgpsTests() modified (Thanks Alexander!)
- Corrected and simplified usage of GAP type objects and declarations of GAP representations (Thanks Max!)
- Added functions to find the set of numerical semigrousp (or a random numerical semigroup) with a given set of pseudo-Frobenius numbers.
- Small bug with NumSgpsUseSingular[Interface] solved.
- Added GeneratorsOfKernelCongruence.
- Primitive elements of affine semigroups via Lawrence lifting (if normaliz or 4ti2 are not used) are now done via GeneratorsOfKernelCongruence instead of MinimalPresentationOfAffineSemigroup, since in this setting the generators of the kernel congruence are already a minimal presentation.
- Fixed bug in the definition of proportionaly modular semigroups (affected the case a < c (in this case it should return the entire N) -- )
- The function AperyListOfNumericalSemigroup has been added. It has only a numerical semigroup as argument and does the same than AperyListOfNumericalSemigroupWRTElement when considered relative to the multiplicity (which is, by far, the most important case). 
- The components of the objects "NumericalSemigroup" and "IdealOfNumericalSemigroup" became atributes. All "!." used either to access the components and to assign new values to them have been changed accordingly. It affected various files.
- ReducedSetOfGeneratorsOfNumericalSemigroup became just a synonym of MinimalGeneratingSystemOfNumericalSemigroup, since this function is now reasonably fast and the former one was not significantly used. The name was kept for compatibility with code produced for previous versions.
- GeneratorsOfNumericalSemigroupNC became a synonym of GeneratorsOfNumericalSemigroup. The former one had no interest. The name was kept for compatibility with code produced for previous versions.
- Small bug with InfoLevel 0 corrected.
- Connectedness of graphs now is faster, and thus BettiElementsOfNumericalSemigroup has been changed accordingly.
- Added functions for denumerant, maximal denumerant, additive semigroup, supersymmetric semigroup, adjustment of a numerical semigroup .
- Added functions for the homogenization of a numerical semigroup: Betti elements, catenary degreee (homogeneous catenary degree).
- Fixed bug for the multiplicity of some proportionally modular numerical semigroups.
- Added star operation for ideals of numerical semigroups.
- Small bug fixed in the output of AsGluingOfNumericalSemigroups.
- Added IsUniquelPresentedNumericalSemigroup, IsGenericNumericalSemigroup.
- Fixed small bug in FactorizationsIntegerWRTList when there were duplicates in the second argument.
- New contributions of Chris O'Neil (see the contribution appendix of the manual) for factorizations, delta sets and omega primality of numerical semigroups.
- The chapters related to ideals and minimal presentations have been rearranged.
- Added Moebius function associated to the poset defined by a numerical semigroup.
- Added functions for cyclotomic numerical semigroups.
- Added functions for semigroup of values of curves parametrized by polynomials (also local version; series) and planar curves with a single place at infinity (approximate roots).
- MinimalGeneratingSystem is new function that admits both ideals and numerical semigroups (calling then the corresponding MinimalGeneratingSystem...).
- Added LFormsOfNumericalSemigroup.
- Added alternate catenary degrees: monotone, adjacent, equal, homogeneous.
- Added a new chapter for affine semigroups with functions designed for them (see manual).
- AsAffineSemigroup lets you see a numerical semigroup as an affine semigroup; whence use functions for affine semigroups with it.
- Interaction with 4ti2Interface, NormalizInterface, singular, SingularInterface and GradedModules. Methods implemented depending if these packages have been loaded.
- Now InfoNumSgps is used in more functions.


0.971 -> 0.980
- Fixed N not to be irreducible nor symmetric.
- Gluings of numerical semigroups added to the manual.
- New functions for almost symmetric numerical semigroups:
	-IsAlmostSymmetricNumericalSemigroup
	-AlmostSymmetricNumericalSemogrupsFromIrreducible
	-AlmostSymmetricNumericalSemigroupsWithFrobeniusNumber
- New functions for complete intersection numerical semigroups
	- CompleteIntersectionNumericalSemigroupsWithFrobeniusNumber
	- IsFreeNumericalSemigroup
	- FreeNumericalSemigroupsWithFrobeniusNumber
	- IsTelescopicNumericalSemigroup
	- TelescopicNumericalSemigroupsWithFrobeniusNumber
	- IsNumericalSemigroupAssociatedIrreduciblePlanarCurveSingularity
	- NumericalSemigroupsAssociatedIrreduciblePlanarCurveSingularityWithFrobeniusNumber
- New (faster) implementation of 
        - IrreducibleNumericalSemigroupsWithFrobeniusNumber
- The output of BettiElementsOfNumericalSemigroup is now a set
- NumericalSemigroupsWithGenus(0) now returns []
- Improvements in 
        - BelongsToNumericalSemigroup
        - FundamentalGapsOfNumericalSemigroup (much faster)
        - SpacialGapsOfNumericalSemigroup
- New functions for maximal embedding dimension numerical semigroups
	- ArfNumericalSemigroupsWithFrobeniusNumber
	- SaturatedNumericalSemigroupsWithFrobeniusNumber
- New functions related to factorizations of integers
	- RClassesOfSetsOfFactorizations
	- TameDegreeOfSetOfFactorizations
	- CatenaryDegreeOfSetOfFactorizations
	- DeltaSetOfSetOfIntegers
	- LengthsOfFactorizationsIntegerWRTList
	- FactorizationsIntegerWRTList
- New functions for Apery sets added
	- AperyListOfIdealOfNumericalSemigroupWRTElement
	- AperyTableOfNumericalSemigroup
	- AperyListOfNumericalSemigroupWRTInteger
- New synonym included: S-I denotes (0+S)-I, the oposite or dual of the ideal I
- New contributions by Sammartano
	- TypeSequenceOfNumericalSemigroup
	- IsAperySetAlphaRectangular
	- IsAperySetBetaRectangular
	- IsAperySetGammaRectangular
	- IsGradedAssociatedRingNumericalSemigroupCI
- Factorizations of an integer (expressions as sums with nonnegative
coefficients of elements in a list) are now performed with 
RestrictedPartitions, with a speed up of the functions that deal with 
factorizations 
- Improvement (speed up) of TameDegreeOfNumericalSemigroup
- The computation of minimal presentations now uses 
RClassesOfSetsOfFactorizations and the FactorizationsIntegerWRTList, 
and now is much faster

0.97 -> 0.971
- Fixed some bugs related to the numerical semigroup N. (These bugs did not produce wrong results.) 
- New functions added
	-SaturatedNumericalSemigroupClosure
	-IsSaturatedNumericalSemigroup
	-AsGluingOfNumericalSemigroups
	-IsACompleteIntersectionNumericalSemigroup

0.96 -> 0.97
- Removed (for the sake of non-dependencies and simplicity: in particular, the folder "src" so as the files "drawapery.g*" and "xnumsgp.g*" containing the functions below have been removed) 
	-DrawAperyListOfNumericalSemigroup
	-XDrawAperyListOfNumericalSemigroup
	-XNumericalSemigroup

- Fixed bugs in 
	-IsSubsemigroupOfNumericalSemigroup
	-TameDegreeOfElementInNumericalSemigroup
	-NumericalSemigroupByFundamentalGaps
	-Random[[Proportionally]Modular]NumericalSemigroup

- Improvements in 
	- MinimalGeneratingSystemOfNumericalSemigroup (the case of a semigroup given by generators is new)
	- NumericalSemigroup (when the generators form a range (i.e., an interval of integers); when the semigroup is given by a closed interval with rational ends or when the semigroup is given as a proportionally modular semigroup;  when the semigroup is given by two generators it is immediately seen as modular semigroup; modular semigroups are also proportionally modular semigroups and proportionally modular semigroups of proportion 1 are modular semigroups -- this information is stored so that specific algorithms can be immediately used)

- New functions added
	-GenusOfNumericalSemigroup
	-ConductorOfNumericalSemigroup
	-TypeOfNumericalSemigroup
	-EmbeddingDimensionOfNumericalSemigroup
	-BettiElementsOfNumericalSemigroup 
	-IsGradedAssociatedRingNumericalSemigroupBuchsbaum (by A. Sammartano)
	-IsMpureNumericalSemigroup (by A. Sammartano)
	-IsPureNumericalSemigroup (by A. Sammartano)
	-IsGradedAssociatedRingNumericalSemigroupGorenstein (by A. Sammartano)
	-ReducedSetOfGeneratorsOfNumericalSemigroup

- New methods for existing functions
	-MultiplicityOfNumericalSemigroup (for semigroups given by intervals of rationals)

- Improved methods for existing functions
	- FrobeniusNumberOfNumericalSemigroup (a new algorithm for modular NS)
	- FrobeniusNumberOfNumericalSemigroup (the general method now uses Johnson's reduction, when possible; a fast algorithm for semigroups of embedding dimension 3 has been implemented)
	- SmallElementsOfNumericalSemigroup (As a numerical semigroup generated by an interval is automatically proportionally modular, the method for PM semigroups is used)

- Added documentation for the new functions and for 
	-TameDegreeOfElementInNumericalSemigroup

0.95 -> 0.96

- New functions added:
      - CatenaryDegreeOfElementNS
      - CatenaryDegreeOfElementNS_NC
      - NumericalSemigroupsWithGenus
      - IsMonomialSemigroupRing

- fixed bugs in 
      - IsProportionallyModularNumericalSemigroup
      - SmallElementsOfNumericalSemigroup
      - FactorizationsElementWRTNumericalSemigroup
      - BelongsToNumericalSemigroup [0\in S]
      

- improvements in 
      - MinimalGeneratingSystemOfNumericalSemigroup
      - DrawAperyListOfNumericalSemigroup [to be usable in Windows]
      - GraphAssociatedToElementInNumericalSemigroup
