# An Implementation of Lipschitz Simple Functions in Computer Algebra System Singular

Authors: Yanan Liu; Muhammad Ahsan Binyamin; Adnan Aslam; Minahal Arshad; Chengmei Fan; Hassan Mahmood; Jia-Bao Liu
Journal: Complexity
 (2021)

---

## Abstract

A complete classification of simple function germs with respect to Lipschitz equivalence over the field of complex numbersℂ was given by Nguyen et al. The aim of this article is to implement a classifier in terms of easy computable invariants to compute the type of the Lipschitz simple function germs without computing the normal form in the computer algebra system Singular.


---

## Body

## 1. Introduction and Preliminaries

LetK be a field and On be the collection of all germs of smooth function at 0∈Kn. The collection of all germs f∈On such that f0=0 is denoted by m. If K=ℂ, then it is equivalent to consider On as ℂx1,…,xn, the local ring of formal power series in n variables and m its maximal ideal. Let ℛ=Autℂℂx1,…,xn, the set of all ℂ-automorphisms of ℂx1,…,xn, and ℋ=Homℂℂx1,…,xn, the set of all ℂ-bi-Lipschitz homeomorphisms of ℂx1,…,xn. Two smooth germs f and g∈m are right equivalent (resp., bi-Lipschitz right equivalent) denoted by f∼rg (resp., f∼Lg) if there exists an automorphism ϕ∈ℛ (resp., a bi-Lipschitz homeomorphisms ϕ∈ℋ) such that ϕf=g. In case of two variables (resp., three variables), we will later use ℂx,y (resp., ℂx,y,z) instead of ℂx1,x2 (resp., ℂx1,x2,x3) [13].In seventies, Arnold [1–3] introduced the notion of modality for singularities over the fields ℝ and ℂ. He gave a classification of hypersurfaces of modality 0,1, and 2 under right equivalence. These are also classifications with respect to contact equivalence. Also we have the contributions by Guisti [4], Wall [5], and many others [6–11]. Mostowski [12] showed that germs of complex analytic set do not admit moduli with respect to bi-Lipschitz equivalence. Note that the result of Mostowski does not hold for function germs. Henry and Parusiński [13] proved that function germs do admit moduli under bi-Lipschitz right equivalence. Nguyen et al. [14] gave the classification of Lipschitz simple function germs. The aim of this article is to implement a classifier for this classification in the computer algebra system Singular [15].Letf∈m; then k-jet of f denoted by jkf is the Taylor expansion of f up to degree k terms. Let f−g∈mk+1 for all g∈ℂx1,…,xn and f−g∼rf, then f is called k-determined. A finitely determined germ f is Lipschitz 0-modal if there is a neighborhood jkf, the k−th jet of f for sufficiently large k∈ℕ that meets only finitely many bi-Lipschitz equivalence classes. We use the following invariants for our classifier.Definition 1.
The Taylor expansion off at 0 is an expression of the form(1)Tf0=fk+fk+1+⋯,where each fi is a homogeneous polynomial of degree i and fk≠0. In this expansion, fk denotes the homogenous polynomial of lowest degree, and we denote it by Hf. Then m=k is the multiplicity of f at 0.Definition 2.
LetJf=fx1,…,fxn be a Jacobian ideal and Mf=ℂx/Jf be the Milnor algebra over ℂ−algebra. Then μf=dimMf is called the codimension of f.Definition 3.
Letf∈m and Hessf=∂2f/∂xi∂xj01≤i,j≤n be its corresponding Hessian matrix. Then n−rankHessf is called the corank of f and is denoted by corankf.Remark 1.
Lemma 4.2, Lemma 4.3, and Theorem 4.7 of [14] give the bi-Lipschitz invariants mf, Hf, and corankf.


## 2. A Classifier for Simple Function Germs under Lipschitz Equivalence

In this section, we present propositions and algorithms deduced from propositions to characterize the simple functions germs with respect to Lipschitz equivalence in terms of certain invariants such as multiplicity, corank, and codimension off. To differentiate some cases, we use locus of Hf. For a proof of the following results, see Theorem 8.4, Theorem 8.5, and Theorem 8.7 of [14].Theorem 1 (see [14]).
A germf is Lipschitz simple if and only if it is bi-Lipschitz equivalent to one of the normal forms given in Tables 1 and 2.Table 1
Lipschitz Simple Function Germs of corank 1 and 2.
TypeNormal formCodimensionAkxk+1+y2k≥1Dkx2y+yk−1k≥4E6x3+y46E7x3+xy37E8x3+y58X9x4+y4+x2y29T2,4,5x4+y5+x2y210T2,5,5x5+y5+x2y211Z11x3y+y5+xy411W12x4+y5+x2y312Table 2
Lipschitz simple function germs of corank 3.
TypeNormal form forf∈ℂx,y,zCodimensionP8=T3,3,3x3+y3+z3+xyz8T3,3,4x3+y3+z4+xyz9T3,3,5x3+y3+z5+xyz10T3,4,5x3+y4+z5+xyz11T3,5,5x3+y5+z5+xyz12T4,4,4x4+y4+z4+xyz11T4,4,5x4+y4+z5+xyz12T4,5,5x4+y5+z5+xyz13T5,5,5x5+y5+z5+xyz14Q10x3+y4+yz2+xy310Q11x3+y5+yz2+xy311S11x4+y2z+xz2+x3z11S12x2y+y2z+xz3+z512Theorem 2 (see [14]).
Every germ with corank greater or equal to 4 is the Lipschitz modal.


### 2.1. Lipschitz Simple Function Germs of Corank 1 and 2

In the following, Propositions1 and 2 give the possible overlapping of Lipschitz simple germs in case of corank 2.Proposition 1.
Letf∈ℂx,y be a map germ of corank 2 and multiplicity 3.(1)
If codimension offis 6, thenfis Lipschitz simple of typeD6orE6.(2)
If codimension offis 7, thenfis Lipschitz simple of typeD7orE7.(3)
If codimension offis 8, thenfis Lipschitz simple of typeD8orE8.Proposition 2.
Letf∈ℂx,y be a map germ of corank 2 and multiplicity 4. If codimf=11, then f is Lipschitz simple of type T2,5,5 or Z11.Proof.
The statements of Propositions1 and 2 follow Theorem 8.4 of [14], and these overlappings can be differentiated by computing the zero set of Hf.Algorithm 1:Type of f, when corank of f=1 or 2.
Input:f∈ℂx,y.Output: Type of f w.r.t. Lipschitz equivalence.(1)
Computec, the corank of f;(2)
Computek, the codimension of f;(3)
Computem=, the multiplicity of f;(4)
ifc=1, then(5)
returnf is of type Ak;(6)
end if(7)
ifc=2 and m=3, then(8)
ComputeVHf, the zero set of the lowest degree homogeneous part of f;(9)
ifVHf is the intersection of a line and a double line, then(10)
returnf is of type Dk;(11)
end if(12)
ifVHf is a triple line and k=6,7, or 8, then(13)
returnf is of type Ek;(14)
end if(15)
end if(16)
ifc=2 and m=4, then(17)
ifk=9, then(18)
returnf is of type X9;(19)
end if(20)
ifk=10, then(21)
returnf is of type T2,4,5;(22)
end if(23)
ifk=11, then(24)
ComputeVHf, the zero set of the lowest degree homogeneous part of f;(25)
ifVHf is the intersection of a line and a triple line, then(26)
returnf is of type Z11;(27)
end if(28)
ifVHf is the intersection of two double lines, then(29)
returnf is of type T2,5,5;(30)
end if(31)
end if(32)
ifk=12, then(33)
returnf is of type W12;(34)
end if(35)
end ifAlgorithm 2:Type of f, when corank of f=3.
Input:f∈ℂx,y,z.Output: Type of f w.r.t. Lipschitz equivalence.(1)
Computec, the corank of f;(2)
Computek, the codimension of f;(3)
Computem, the multiplicity of f;(4)
ifc=8, then(5)
returnf is of type T3,3,3;(6)
end if(7)
ifc=9, then(8)
returnf is of type T3,3,4;(9)
end if(10)
ifc=10, then(11)
ComputeVHf, the zero set of the lowest degree homogeneous part of f;(12)
ifVHf is irreducible and has in the singular locus a fat point of multiplicity 6, then(13)
returnf is of type T3,3,5;(14)
end if(15)
ifVHf is irreducible and has in the singular locus a fat point of multiplicity 4, then(16)
returnf is of type Q10;(17)
end if(18)
end if(19)
ifc=11, then(20)
ComputeVHf, the zero set of the lowest degree homogeneous part of f;(21)
ifVHf is the intersection of a plane and a node and has as a singular locus, the union of the lines Vx,y∪Vx,z and the point Vx,y,z as embedded point, then(22)
returnf is of type T3,4,5;(23)
end if(24)
ifVHf is the intersection of 3 planes and has as singular locus, the union of three lines Vx,y∪Vx,z∪Vy,z, then(25)
returnf is of type T4,4,4;(26)
end if(27)
ifVHf is irreducible and has in the singular locus a fat point of multiplicity 4, then(28)
returnf is of type Q11;(29)
end if(30)
ifVHf is the intersection of a plane and a node and has as a singular locus, the line Vx,z, then(31)
returnf is of type S11;(32)
end if(33)
end ifAlgorithm 3:Continuation of Algorithm 2.
(1)
ifc=12, then(2)
ComputeVHf, the zero set of the lowest degree homogeneous part of f;(3)
ifVHf is the intersection of a plane and a node and has as a singular locus, the union of the lines Vx,y∪Vx,z and the point Vx,y,z as embedded point, then(4)
returnf is of type T3,5,5;(5)
end if(6)
ifVHf is the intersection of 3 planes and has as singular locus, the union of three lines Vx,y∪Vx,z∪Vy,z, then(7)
returnf is of type T4,4,5;(8)
end if(9)
ifVHf is the intersection of a plane and a node and has as a singular locus, the line Vx,z, then(10)
returnf is of type S12;(11)
end if(12)
end if(13)
ifc=13, then(14)
returnf is of type T4,5,5;(15)
end if(16)
ifc=14, then(17)
returnf is of type T5,5,5;(18)
end if


### 2.2. Lipschitz Simple Function Germs of Corank 3

The following Proposition3 describes the possible overlappings of Lipschitz simple germs in case of corank 3.Proposition 3.
Letf∈ℂx,y,z be a map germ of corank 3 and multiplicity 3.(1)
If codimension offis 10, thenfis Lipschitz simple of typeT3,3,5orQ10.(2)
If codimension offis 11, thenfis Lipschitz simple of typeT3,4,5,T4,4,4,Q11, orS11.(3)
If codimension offis 12, thenfis Lipschitz simple of typeT3,5,5,T4,4,5, orS12.Proof.
The statement follows from Theorem 8.5 of [14], and the overlappings can be differentiated by computing the zero set of the Hf.


### 2.3. Singular Examples

We have implemented the Algorithm in the computer algebra system SINGULAR [15]. Code can be downloaded from https://www.mathcity.org/files/ahsan/classiFyLip-Procrdure.txt.We give some examples:ring R=0, (x, y), ds;poly f=x4−x3y−3x2y2+5xy3−2y4+2x5+17x4y+59x3y2+88x2y3+55xy4+22y5+2x4y2+5x3y3+30x2y4+34xy5+10y6+9x5y2+60x4y3+147x3y4+138x2y5+52xy6+2y7+4x4y4+24x3y5+51x2y6+29xy7+16x5y4+78x4y5+120x3y6+56x2y7+xy8+6x4y6+24x3y7+24x2y8+14x5y6+44x4y7+32x3y8+4x4y8+8x3y9+6x5y8+9x4y9+x4y10+x5y10;> LclassiFy2(f);f is of type Z11poly g=x3−3xy2+2y3+2x2y2+2xy3−4y4+x3y2−2x2y3+2xy4+2y5+2x2y4−2xy5+x7+14x6y+84x5y2+280x4y3+560x3y4+672x2y5+449xy6+128y7+7x7y2+84x6y3+420x5y4+1120x4y5+1680x3y6+1344x2y7+448xy8+21x7y4+210x6y5+840x5y6+1680x4y7+1680x3y8+672x2y9+35x7y6+280x6y7+840x5y8+1120x4y9+560x3y10+35x7y8+210x6y9+420x5y10+280x4y11+21x7y10+84x6y11+84x5y12+7x7y12+14x6y13+x7y14;> LclassiFy2(g);f is of type D8ring R=0,(x,y,z),ds;poly h=2x3+5x2y+4xy2+y3+5x2z+9xyz+4y2z+4xz2+4yz2+z3+x4+4x3z+6x2z2+4xz3+z4+x5+5x4y+10x3y2+10x2y3+5xy4+y5;> LclassiFy3(h);f is of type T_3, 4, 5poly p=2x3+3x2y+xy2+5x2z+6xyz+y2z+4xz2+3yz2+z3+x4+4x3y+6x2y2+4xy3+y4+x3z+3x2yz+3xy2z+y3z+x5+5x4y+10x3y2+10x2y3+5xy4+y5;> LclassiFy3(p);f is of type S12


## 2.1. Lipschitz Simple Function Germs of Corank 1 and 2

In the following, Propositions1 and 2 give the possible overlapping of Lipschitz simple germs in case of corank 2.Proposition 1.
Letf∈ℂx,y be a map germ of corank 2 and multiplicity 3.(1)
If codimension offis 6, thenfis Lipschitz simple of typeD6orE6.(2)
If codimension offis 7, thenfis Lipschitz simple of typeD7orE7.(3)
If codimension offis 8, thenfis Lipschitz simple of typeD8orE8.Proposition 2.
Letf∈ℂx,y be a map germ of corank 2 and multiplicity 4. If codimf=11, then f is Lipschitz simple of type T2,5,5 or Z11.Proof.
The statements of Propositions1 and 2 follow Theorem 8.4 of [14], and these overlappings can be differentiated by computing the zero set of Hf.Algorithm 1:Type of f, when corank of f=1 or 2.
Input:f∈ℂx,y.Output: Type of f w.r.t. Lipschitz equivalence.(1)
Computec, the corank of f;(2)
Computek, the codimension of f;(3)
Computem=, the multiplicity of f;(4)
ifc=1, then(5)
returnf is of type Ak;(6)
end if(7)
ifc=2 and m=3, then(8)
ComputeVHf, the zero set of the lowest degree homogeneous part of f;(9)
ifVHf is the intersection of a line and a double line, then(10)
returnf is of type Dk;(11)
end if(12)
ifVHf is a triple line and k=6,7, or 8, then(13)
returnf is of type Ek;(14)
end if(15)
end if(16)
ifc=2 and m=4, then(17)
ifk=9, then(18)
returnf is of type X9;(19)
end if(20)
ifk=10, then(21)
returnf is of type T2,4,5;(22)
end if(23)
ifk=11, then(24)
ComputeVHf, the zero set of the lowest degree homogeneous part of f;(25)
ifVHf is the intersection of a line and a triple line, then(26)
returnf is of type Z11;(27)
end if(28)
ifVHf is the intersection of two double lines, then(29)
returnf is of type T2,5,5;(30)
end if(31)
end if(32)
ifk=12, then(33)
returnf is of type W12;(34)
end if(35)
end ifAlgorithm 2:Type of f, when corank of f=3.
Input:f∈ℂx,y,z.Output: Type of f w.r.t. Lipschitz equivalence.(1)
Computec, the corank of f;(2)
Computek, the codimension of f;(3)
Computem, the multiplicity of f;(4)
ifc=8, then(5)
returnf is of type T3,3,3;(6)
end if(7)
ifc=9, then(8)
returnf is of type T3,3,4;(9)
end if(10)
ifc=10, then(11)
ComputeVHf, the zero set of the lowest degree homogeneous part of f;(12)
ifVHf is irreducible and has in the singular locus a fat point of multiplicity 6, then(13)
returnf is of type T3,3,5;(14)
end if(15)
ifVHf is irreducible and has in the singular locus a fat point of multiplicity 4, then(16)
returnf is of type Q10;(17)
end if(18)
end if(19)
ifc=11, then(20)
ComputeVHf, the zero set of the lowest degree homogeneous part of f;(21)
ifVHf is the intersection of a plane and a node and has as a singular locus, the union of the lines Vx,y∪Vx,z and the point Vx,y,z as embedded point, then(22)
returnf is of type T3,4,5;(23)
end if(24)
ifVHf is the intersection of 3 planes and has as singular locus, the union of three lines Vx,y∪Vx,z∪Vy,z, then(25)
returnf is of type T4,4,4;(26)
end if(27)
ifVHf is irreducible and has in the singular locus a fat point of multiplicity 4, then(28)
returnf is of type Q11;(29)
end if(30)
ifVHf is the intersection of a plane and a node and has as a singular locus, the line Vx,z, then(31)
returnf is of type S11;(32)
end if(33)
end ifAlgorithm 3:Continuation of Algorithm 2.
(1)
ifc=12, then(2)
ComputeVHf, the zero set of the lowest degree homogeneous part of f;(3)
ifVHf is the intersection of a plane and a node and has as a singular locus, the union of the lines Vx,y∪Vx,z and the point Vx,y,z as embedded point, then(4)
returnf is of type T3,5,5;(5)
end if(6)
ifVHf is the intersection of 3 planes and has as singular locus, the union of three lines Vx,y∪Vx,z∪Vy,z, then(7)
returnf is of type T4,4,5;(8)
end if(9)
ifVHf is the intersection of a plane and a node and has as a singular locus, the line Vx,z, then(10)
returnf is of type S12;(11)
end if(12)
end if(13)
ifc=13, then(14)
returnf is of type T4,5,5;(15)
end if(16)
ifc=14, then(17)
returnf is of type T5,5,5;(18)
end if


## 2.2. Lipschitz Simple Function Germs of Corank 3

The following Proposition3 describes the possible overlappings of Lipschitz simple germs in case of corank 3.Proposition 3.
Letf∈ℂx,y,z be a map germ of corank 3 and multiplicity 3.(1)
If codimension offis 10, thenfis Lipschitz simple of typeT3,3,5orQ10.(2)
If codimension offis 11, thenfis Lipschitz simple of typeT3,4,5,T4,4,4,Q11, orS11.(3)
If codimension offis 12, thenfis Lipschitz simple of typeT3,5,5,T4,4,5, orS12.Proof.
The statement follows from Theorem 8.5 of [14], and the overlappings can be differentiated by computing the zero set of the Hf.


## 2.3. Singular Examples

We have implemented the Algorithm in the computer algebra system SINGULAR [15]. Code can be downloaded from https://www.mathcity.org/files/ahsan/classiFyLip-Procrdure.txt.We give some examples:ring R=0, (x, y), ds;poly f=x4−x3y−3x2y2+5xy3−2y4+2x5+17x4y+59x3y2+88x2y3+55xy4+22y5+2x4y2+5x3y3+30x2y4+34xy5+10y6+9x5y2+60x4y3+147x3y4+138x2y5+52xy6+2y7+4x4y4+24x3y5+51x2y6+29xy7+16x5y4+78x4y5+120x3y6+56x2y7+xy8+6x4y6+24x3y7+24x2y8+14x5y6+44x4y7+32x3y8+4x4y8+8x3y9+6x5y8+9x4y9+x4y10+x5y10;> LclassiFy2(f);f is of type Z11poly g=x3−3xy2+2y3+2x2y2+2xy3−4y4+x3y2−2x2y3+2xy4+2y5+2x2y4−2xy5+x7+14x6y+84x5y2+280x4y3+560x3y4+672x2y5+449xy6+128y7+7x7y2+84x6y3+420x5y4+1120x4y5+1680x3y6+1344x2y7+448xy8+21x7y4+210x6y5+840x5y6+1680x4y7+1680x3y8+672x2y9+35x7y6+280x6y7+840x5y8+1120x4y9+560x3y10+35x7y8+210x6y9+420x5y10+280x4y11+21x7y10+84x6y11+84x5y12+7x7y12+14x6y13+x7y14;> LclassiFy2(g);f is of type D8ring R=0,(x,y,z),ds;poly h=2x3+5x2y+4xy2+y3+5x2z+9xyz+4y2z+4xz2+4yz2+z3+x4+4x3z+6x2z2+4xz3+z4+x5+5x4y+10x3y2+10x2y3+5xy4+y5;> LclassiFy3(h);f is of type T_3, 4, 5poly p=2x3+3x2y+xy2+5x2z+6xyz+y2z+4xz2+3yz2+z3+x4+4x3y+6x2y2+4xy3+y4+x3z+3x2yz+3xy2z+y3z+x5+5x4y+10x3y2+10x2y3+5xy4+y5;> LclassiFy3(p);f is of type S12


## 3. Conclusion

The aim of this paper is to implement the classification of simple function germs with respect to the Lipschitz equivalence given by Nguyen et al. in computer algebra system Singular. The proposed algorithms compute the type of the Lipschitz simple function germs without computing its normal form.



---

*Source: 6695461-2021-04-01.xml*