Changeset f62abb in git


Ignore:
Timestamp:
Dec 9, 2013, 3:24:21 PM (9 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', '5bec8f88c9ee2573d328cf7c3aff2bcb301d2395')
Children:
1d2a8582b2872bbfda852c78ee9f52b00466ccc6
Parents:
405407bdac5cfb8bd6b630f594181854f05956c3
Message:
new version of grobcov.lib
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/grobcov.lib

    r405407 rf62abb  
    6868PROCEDURES:
    6969
    70 grobcov(F); Is the basic routine giving the canonical
    71             Groebner cover of the parametric ideal F.
    72             This routine accepts many options, that
    73             allow to obtain results even when the canonical
    74             computation does not finish in reasonable time.
    75 
    76 cgsdr(F);   Is the procedure for obtaining a first disjoint,
    77             reduced Comprehensive Groebner System that
    78             is used in grobcov, that can also be used
    79             independently if only the CGS is required.
    80             It is a more efficient routine than buildtree
    81             (the own routine that is no more used). It uses
    82             now KSW algorithm.
     70grobcov(F);  Is the basic routine giving the canonical
     71                   Groebner cover of the parametric ideal F.
     72                   This routine accepts many options, that
     73                   allow to obtain results even when the canonical
     74                   computation does not finish in reasonable time.
     75
     76cgsdr(F);      Is the procedure for obtaining a first disjoint,
     77                   reduced Comprehensive Groebner System that
     78                   is used in grobcov, that can also be used
     79                   independently if only the CGS is required.
     80                   It is a more efficient routine than buildtree
     81                   (the own routine that is no more used). It uses
     82                   now KSW algorithm.
    8383
    8484setglobalrings();  Generates the global rings @R, @P and @PR that are
    85             respectively the rings Q[a][x], Q[a], Q[x,a].
    86             It is called inside each of the fundamental routines
    87             of the library: grobcov, cgsdr, locus, locusdg and killed before
    88             the output.
    89             So, if the user want to use some other internal routine,
    90             then setglobalrings() is to be called before, as most of them use
    91             these rings.
    92 
    93 pdivi(f,F); Performs a pseudodivision of a parametric polynomial
    94             by a parametric ideal.
    95             Can be used without calling presiouly setglobalrings(),
     85                   respectively the rings Q[a][x], Q[a], Q[x,a].
     86                   It is called inside each of the fundamental routines
     87                   of the library: grobcov, cgsdr, locus, locusdg and killed before
     88                   the output.
     89                   So, if the user want to use some other internal routine,
     90                   then setglobalrings() is to be called before, as most of them use
     91                   these rings.
     92
     93pdivi(f,F);     Performs a pseudodivision of a parametric polynomial
     94                   by a parametric ideal.
     95                   Can be used without calling presiouly setglobalrings(),
    9696
    9797pnormalf(f,E,N);   Reduces a parametric polynomial f over V(E) \ V(N)
    98             E is the null ideal and N the non-null ideal
    99             over the parameters.
    100             Can be used without calling presiouly setglobalrings(),
    101 
    102 Prep(N,M);  Computes the P-representation of V(N) \ V(M).
    103             Can be used without calling previously setglobalrings().
     98                   E is the null ideal and N the non-null ideal
     99                   over the parameters.
     100                   Can be used without calling presiouly setglobalrings(),
     101
     102Prep(N,M);   Computes the P-representation of V(N) \ V(M).
     103                   Can be used without calling previously setglobalrings().
    104104
    105105extend(GC); When the grobcov of an ideal has been computed
    106             with the default option ('ext',0) and the explicit
    107             option ('rep',2) (which is not the default), then
    108             one can call extend (GC) (and options) to obtain the
    109             full representation of the bases. With the default
    110             option ('ext',0) only the generic representation of
    111             the bases are computed, and one can obtain the full
    112             representation using extend.
    113             Can be used without calling presiouly setglobalrings(),
    114 
    115 locus(G);   Special routine for determining the locus of points
    116             of  objects. Given a parametric ideal J with
    117             parameters (a_1,..a_m) and variables (x_1,..,xn),
    118             representing the system determining
    119             the locus of points (a_1,..,a_m)) who verify certain
    120             properties, computing the grobcov G of
    121             J and applying to it locus, determines the different
    122             classes of locus components. They can be
    123             Normal, Special, Accumulation point, Degenerate.
    124             The output are the components given in P-canonical form
    125             of two constructible sets: Normal, and Non-Normal
    126             The Normal Set has Normal and Special components
    127             The Non-Normal set has Accumulation and Degenerate components.
    128             The description of the algorithm and definitions will be
    129             given in a forthcoming paper by Abanades, Botana, Montes, Recio:
    130             ''An Algebraic Taxonomy for Locus Computation in Dynamic Geometry''.
    131             Can be used without calling presiouly setglobalrings(),
    132 
    133 locusdg(G); Is a special routine for computing the locus in dinamical geometry.
    134             It detects automatically a possible point that is to be avoided by the mover,
    135             whose coordinates must be the last two coordinates in the definition of the ring.
    136             If such a point is detected, then it eliminates the segments of the grobcov
    137             depending on the point that is to be avoided.
    138             Then it calls locus.
    139             Can be used without calling presiouly setglobalrings(),
    140 
    141 locusto(L); Transforms the output of locus to a string that
    142             can be reed from different computational systems.
    143             Can be used without calling presiouly setglobalrings(),
     106                   with the default option ('ext',0) and the explicit
     107                   option ('rep',2) (which is not the default), then
     108                   one can call extend (GC) (and options) to obtain the
     109                   full representation of the bases. With the default
     110                   option ('ext',0) only the generic representation of
     111                   the bases are computed, and one can obtain the full
     112                   representation using extend.
     113                   Can be used without calling presiouly setglobalrings(),
     114
     115locus(G);     Special routine for determining the locus of points
     116                   of  objects. Given a parametric ideal J with
     117                   parameters (a_1,..a_m) and variables (x_1,..,xn),
     118                   representing the system determining
     119                   the locus of points (a_1,..,a_m)) who verify certain
     120                   properties, computing the grobcov G of
     121                   J and applying to it locus, determines the different
     122                   classes of locus components. They can be
     123                   Normal, Special, Accumulation point, Degenerate.
     124                   The output are the components given in P-canonical form
     125                   of two constructible sets: Normal, and Non-Normal
     126                   The Normal Set has Normal and Special components
     127                   The Non-Normal set has Accumulation and Degenerate components.
     128                   The description of the algorithm and definitions will be
     129                   given in a forthcoming paper by Abanades, Botana, Montes, Recio:
     130                   ''An Algebraic Taxonomy for Locus Computation in Dynamic Geometry''.
     131                   Can be used without calling presiouly setglobalrings(),
     132
     133locusdg(G);  Is a special routine for computing the locus in dinamical geometry.
     134                    It detects automatically a possible point that is to be avoided by the mover,
     135                    whose coordinates must be the last two coordinates in the definition of the ring.
     136                    If such a point is detected, then it eliminates the segments of the grobcov
     137                    depending on the point that is to be avoided.
     138                    Then it calls locus.
     139                    Can be used without calling presiouly setglobalrings(),
     140
     141locusto(L);  Transforms the output of locus to a string that
     142                  can be reed from different computational systems.
     143                  Can be used without calling presiouly setglobalrings(),
    144144
    145145addcons(L); Given a disjoint set of locally closed subsets in P-representation,
    146             it returns the canonical P-representation of the constructible
    147             set formed by the union of them.
    148             Can be used without calling presiouly setglobalrings(),
     146                  it returns the canonical P-representation of the constructible set
     147                  formed by the union of them.
     148                  Can be used without calling presiouly setglobalrings(),
    149149
    150150SEE ALSO: compregb_lib
     
    39693969     //kill notadded; list notadded;
    39703970  }
    3971   kill @Q2;
     3971  if(defined(@Q2)){kill @Q2;}
    39723972  if(te==0){kill @P; kill @R; kill @RP;}
    39733973  //"T_LL_sortida addcons="; LL; "Fi sortida";
     
    41814181proc locus0dg(list GG, list #)
    41824182{
    4183   int t1=1; int t2=1;
     4183  int t1=1; int t2=1; int ojo;
    41844184  def R=basering;
    41854185  int moverdim=nvars(R);
     
    43234323  kill LN; list LN;
    43244324  LN=addcons(LNN);
     4325  if(size(LN)==0){ojo=1;}
    43254326  setring(R);
    4326   def L=imap(@P,LN);
    4327   for(i=1;i<=size(L);i++){if(size(L[i][2])==0){L[i][2]=ideal(1);}}
     4327  if(ojo==1){list L;}
     4328  else
     4329  {
     4330    def L=imap(@P,LN);
     4331    for(i=1;i<=size(L);i++){if(size(L[i][2])==0){L[i][2]=ideal(1);}}
     4332  }
    43284333  kill @R; kill @RP; kill @P;
    43294334  list LL;
     
    47594764{
    47604765  def RR=basering;
    4761   int i; int j; int k; int short0=short;
     4766  int i; int j; int k; int short0=short; int ojo;
    47624767  int te=0;
    47634768  if(defined(@P)){te=1;}
     
    47654770  setring @P;
    47664771  short=0;
    4767   def L=imap(RR,LL);
     4772  if(size(LL)==0){ojo=1; list L;}
     4773  else
     4774  {
     4775    def L=imap(RR,LL);
     4776  }
    47684777  string s="["; string sf="]"; string st=s+sf;
    47694778  if(size(L)==0){return(st);}
Note: See TracChangeset for help on using the changeset viewer.