### D.15.16 polyclass_lib

Library:
  polyclass.lib
Purpose:
  Data types for normal forms and normal form equations
Authors:
  Janko Boehm, email: boehm@mathematik.uni-kl.de
  Magdaleen Marais, email: magdaleen.marais@up.ac.za
  Gerhard Pfister, email: pfister@mathematik.uni-kl.de

Overview:
  This library implements a ring independent polynomial type used for the return value in classify2.lib, realclassify.lib and arnold.lib. You can use +, * and == for addition, multiplication and comparison. The key over contains the base ring of the polynomial, the key value its value as a polynomial of type poly. The constructor can be called by assigning a polynomial of type poly to a polynomial of type Poly via =.

  Moreover the library implements a ring independent class NormalForm consisting out of fields of type string, type list, type Poly and type RightEquivalenceChainWithPrecision, that capture the important characteristics of the stored singularity. The type RightEquivalenceChainWithPrecision is created to store a chain of (finite) transformations, ring independently as a list, performed on a sourcegerm. The image of the sourcegerm is stored in the field targetgerm. In this way the chain of transformations used to transform a sourcegerm to a normal form equation can be documented. To store each individual transformation the library implements a ring independent transformation of type PolynomialRightEquivalence, which contains fields for the ring over which the transformation is performed, the images that defines the transformation as a list of Poly's, and the inverse images that defined the inverse transformation as a list of Poly's.

  The library also catains print functions for the newly created types for a user friendly display.

References:
  J. Boehm, M.S. Marais, G. Pfister: Classification of Complex Singularities with Non-Degenerate Newton Boundary, https://arxiv.org/abs/2010.10185

  J. Boehm, M.S. Marais, G. Pfister: Moduli Parameters of Complex Singularities with Non-Degenerate Newton Boundary, https://arxiv.org/abs/2402.05093

  Acknowledgements: This research was supported by the Rubbi fund of the Department of Mathematical Sciences of Stellenbosch University, DFG SPP 1489,
  DFG TRR 195 (Project B5).

Procedures:

> D.15.16.1 makePoly |  | constructor for ring independent polynomial type Poly
> D.15.16.2 ringOf |  | return the parent ring of the Poly P
> D.15.16.3 valueOf |  | get from the Poly P the corresponding poly
> D.15.16.4 printPoly |  | print routine for polynomial type Poly
> D.15.16.5 addPoly |  | add polynomials of type Poly
> D.15.16.6 multPoly |  | multiply polynomials of type Poly
> D.15.16.7 equalPoly |  | check whether two polynomials of type Poly over the same ring are equal
> D.15.16.8 expPoly |  | exponentiate polynomials of type Poly to an integer power
> D.15.16.9 printPolynomialRightEquivalence |  | print a transformation
> D.15.16.10 printRightEquivalenceChainWithPrecision |  | print a chain of transformations
> D.15.16.11 printNormalFormEquation |  | print routine for normal form equation type NormalFormEquation
> D.15.16.12 printNormalForm |  | print routine for normal form type NormalForm

See also: arnold_lib; classify2_lib; realclassify_lib.

User manual for Singular version 4.4.1, 2025, generated by texi2html.