Changeset 4ac997 in git for Singular/LIB/equising.lib


Ignore:
Timestamp:
Dec 22, 2000, 2:43:10 PM (23 years ago)
Author:
Gert-Martin Greuel <greuel@…>
Branches:
(u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
Children:
558eb2e4904ef3d1c00dc5ccf1cdf5d4d5e4532a
Parents:
5a1141ebfb120e63485f9ef6b7dd5dc003ac29bf
Message:
* GMG: Kosmetik


git-svn-id: file:///usr/local/Singular/svn/trunk@4979 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/equising.lib

    r5a1141 r4ac997  
    1 // $Id: equising.lib,v 1.3 2000-12-19 15:05:20 anne Exp $
     1version="$Id: equising.lib,v 1.4 2000-12-22 13:43:10 greuel Exp $";
    22category="Singularities";
    33info="
    4 LIBRARY:  Equising.lib PROCEDURES FOR EQUISINGULARITY STRATA
    5 
     4LIBRARY:  equising.lib  EQUISINGULARITY STRATUM OF A FAMILY OF PLANE CURVES
    65AUTHOR:   Andrea Mindnich, e-mail:mindnich@mathematik.uni-kl.de
     6
    77PROCEDURES:
    88 esStratum   computes the equisingularity stratum of a deformation
    9  isEquising  tests, if a given deformation is equisingular
     9 isEquising  tests, whether a given deformation is equisingular
    1010"
    1111
     
    1414LIB "hnoether.lib";
    1515
    16 
    17 ///////////////////////////////////////////////////////////////////////////////
    18 ///////////////////////////////////////////////////////////////////////////////
    19 
    20 
     16///////////////////////////////////////////////////////////////////////////////
    2117// COMPUTES  a weight vector. x and y get weight 1 and all other
    2218//           variables get weight 0.
     
    2925  return (iv);
    3026}
    31 
    32 
    33 ///////////////////////////////////////////////////////////////////////////////
    34 
    35 
     27///////////////////////////////////////////////////////////////////////////////
    3628// exchanges the variables x and y in the polynomial p_f
    3729static proc swapXY(poly f)
     
    4537  return (f);
    4638}
    47 
    48 
    49 ///////////////////////////////////////////////////////////////////////////////
    50 
    51 
     39///////////////////////////////////////////////////////////////////////////////
    5240// ASSUME:   p_mon is a monomial
    5341//            and p_g is the product of the variables in p_mon.
     
    7058  return (p_c);
    7159}
    72 
    73 
    74 ///////////////////////////////////////////////////////////////////////////////
    75 
    76 
     60///////////////////////////////////////////////////////////////////////////////
    7761// in p_F the variable p_vari is substituted by the polynomial p_g.
    7862static proc eSubst(poly p_F, poly p_vari, poly p_g)
     
    9175  return (p_F);
    9276}
    93 
    94 
    95 ///////////////////////////////////////////////////////////////////////////////
    96 
    97 
     77///////////////////////////////////////////////////////////////////////////////
    9878// All ring variables of p_F which occur in (the set of generators of) the
    9979// ideal  Id, are substituted by 0
     
    131111  return(error);
    132112}
    133 
    134 ///////////////////////////////////////////////////////////////////////////////
    135 
    136 
     113///////////////////////////////////////////////////////////////////////////////
    137114static  proc getInput (list #)
    138115{
     
    156133  return(maxStep);
    157134}
    158 
    159 
    160135//////////////////////////////////////////////////////////////////////////////
    161 
    162 
    163136// RETURNS: 0, if the ideal cond only depends on the deformation parameters
    164137//          1, otherwise.
     
    186159
    187160///////////////////////////////////////////////////////////////////////////////
    188 
    189 
    190161// COMPUTES string(minpoly) and substitutes the parameter by newParName
    191162static proc makeMinPolyString (string newParName)
     
    218189
    219190///////////////////////////////////////////////////////////////////////////////
    220 
    221 
    222191// Defines a new ring without deformation-parameters.
    223192static proc createHNERing()
     
    234203  keepring(HNERing);
    235204}
    236 
    237 
    238 ///////////////////////////////////////////////////////////////////////////////
    239 
    240 
     205///////////////////////////////////////////////////////////////////////////////
    241206// RETURNS: 1, if p_f = 0 or char(basering) divides the order of p_f
    242207//             or p_f is not squarefree.
     
    271236  return(0);
    272237}
    273 
    274 
    275 ///////////////////////////////////////////////////////////////////////////////
    276 
    277 
     238///////////////////////////////////////////////////////////////////////////////
    278239// COMPUTES  the multiplicity sequence of p_f
    279240static proc calcMultSequence (poly p_f)
     
    321282  return(multSeq, xNotTransversal, fIrreducible);
    322283}
    323 
    324 
    325 ///////////////////////////////////////////////////////////////////////////////
    326 
    327 
     284///////////////////////////////////////////////////////////////////////////////
    328285// ASSUME:  The basering is no qring and has at least 3 variables
    329286// DEFINES: A new basering, "myRing",
     
    406363}
    407364
    408 
    409365///////////////////////////////////////////////////////////////////////////////
    410366/////////// procedures to compute the equisingularity stratum /////////////////
    411367///////////////////////////////////////////////////////////////////////////////
    412 
    413 
    414368// DEFINES a new basering, myRing,  which has one variable
    415369//         more than the old ring.
     
    463417  keepring(myRing);
    464418}
    465 
    466 
    467 ///////////////////////////////////////////////////////////////////////////////
    468 
    469 
     419///////////////////////////////////////////////////////////////////////////////
    470420// COMPUTES an ideal equimultCond, such that F_(n-1) mod equimultCond =0,
    471421//          where F_(n-1) is the (nNew-1)-jet of p_F with respect to x,y.
     
    494444  return(equimultCond, p_F);
    495445}
    496 
    497 
    498 ///////////////////////////////////////////////////////////////////////////////
    499 
    500 
     446///////////////////////////////////////////////////////////////////////////////
    501447// COMPUTES smallest integer >= nNew/nOld -1
    502448static proc calcNZeroSteps (int nOld,int nNew)
     
    516462 return(nZeroSteps);
    517463}
    518 
    519 
    520 ///////////////////////////////////////////////////////////////////////////////
    521 
    522 
     464///////////////////////////////////////////////////////////////////////////////
    523465// ASSUME: ord_(X,Y)(F)=nNew
    524466// COMPUTES an ideal I such that (p_F mod I)_nNew  = p_c*y^nNew.
     
    550492  return(id_help, p_F, p_c);
    551493}
    552 
    553 
    554 ///////////////////////////////////////////////////////////////////////////////
    555 
    556 
     494///////////////////////////////////////////////////////////////////////////////
    557495// ASSUME: ord_(X,Y)(F)=nNew
    558496// COMPUTES an ideal I such that p_Fn mod I = p_c*(y-p_a*x)^nNew,
     
    632570  return(id_help, HCond, p_F, p_c, p_a);
    633571}
    634 
    635 
    636 ///////////////////////////////////////////////////////////////////////////////
    637 
    638 
     572///////////////////////////////////////////////////////////////////////////////
    639573// eliminates the variables H(1),..,H(nHelpV) from the ideal ES + HCond
    640574static proc helpVarElim(ideal ES, ideal HCond, int nHelpV)
     
    646580  return(ES);
    647581}
    648 
    649 
    650 ///////////////////////////////////////////////////////////////////////////////
    651 
    652 
     582///////////////////////////////////////////////////////////////////////////////
    653583// ASSUME:   ord(F)=nNew and p_c(y-p_a*x)^n is the nNew-jet of F with respect
    654584//           to X,Y
     
    674604  return (p_F);
    675605}
    676 
    677 
    678 ///////////////////////////////////////////////////////////////////////////////
    679 
    680 
     606///////////////////////////////////////////////////////////////////////////////
    681607// ASSUME:  p_F in K[t(1)..t(s),x,y]
    682608// COMPUTES the minimal ideal ES, such that the deformation p_F mod ES is
     
    822748}
    823749
    824 
    825 ///////////////////////////////////////////////////////////////////////////////
    826 
     750///////////////////////////////////////////////////////////////////////////////
     751//                           main procedure
     752///////////////////////////////////////////////////////////////////////////////
    827753
    828754proc esStratum (poly p_F, list #)
     
    933859
    934860///////////////////////////////////////////////////////////////////////////////
    935 //////////////////// procedures for equisingularity test///////////////////////
    936 ///////////////////////////////////////////////////////////////////////////////
    937 
    938 
     861//                  procedures for equisingularity test
     862///////////////////////////////////////////////////////////////////////////////
    939863
    940864// DEFINES a new basering, myRing,  which has one variable
     
    983907  keepring(myRing);
    984908}
    985 
    986 
    987 ///////////////////////////////////////////////////////////////////////////////
    988 
    989 
     909///////////////////////////////////////////////////////////////////////////////
    990910// tests, if ord p_F = nNew.
    991911static proc equimultTest (poly p_F, int nHelpV, int nNew, ideal HCond)
     
    1018938  return(1, p_F);
    1019939}
    1020 
    1021 
    1022 ///////////////////////////////////////////////////////////////////////////////
    1023 
    1024 
     940///////////////////////////////////////////////////////////////////////////////
    1025941// ASSUME: ord(p_F)=nNew
    1026942// tests, if p_F =  p_c*y^nNew for some p_c.
     
    1055971  return(1, p_c);
    1056972}
    1057 
    1058 
    1059 ///////////////////////////////////////////////////////////////////////////////
    1060 
    1061 
     973///////////////////////////////////////////////////////////////////////////////
    1062974// ASSUME: ord(p_F)=nNew
    1063975// tests, if p_F =  p_c*(y - p_a*x)^nNew for some p_a, p_c.
     
    11061018  return(1, p_F, p_c, p_a, HCond);
    11071019}
    1108 
    1109 
    11101020//////////////////////////////////////////////////////////////////////////////
    1111 
    1112 
    11131021// eliminates the variables H(1),..,H(nHelpV) from the ideal ES + HCond
    11141022static proc T_helpVarElim(ideal ES, ideal HCond, int nHelpV)
     
    11621070}
    11631071///////////////////////////////////////////////////////////////////////////////
    1164 
    1165 
    11661072// ASSUME:  F in K[t(1)..t(s),x,y],
    11671073//          the ringordering is ds
     
    12511157  return(1);
    12521158}
    1253 
    1254 ///////////////////////////////////////////////////////////////////////////////
    1255 
     1159///////////////////////////////////////////////////////////////////////////////
    12561160
    12571161proc isEquising (poly p_F, list #)
     
    13491253   isEquising(F,2);
    13501254}
    1351 
     1255///////////////////////////////////////////////////////////////////////////////
     1256/*
     1257  Weiter Beispiele aus Dipl. von A. Mindnich einfuegen
     1258*/
Note: See TracChangeset for help on using the changeset viewer.