Changeset 6ccdd3a in git


Ignore:
Timestamp:
May 26, 2011, 4:42:12 PM (12 years ago)
Author:
Frank Seelisch <seelisch@…>
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'ba3e3ef698fa0b7c5867199959cc83330073d3cb')
Children:
7af488ec51790060979537b35a03fb345e053f90
Parents:
5a4b26f3e00776270c3ba83b16c92a69f3cca0e0
git-author:
Frank Seelisch <seelisch@mathematik.uni-kl.de>2011-05-26 16:42:12+02:00
git-committer:
Mohamed Barakat <mohamed.barakat@rwth-aachen.de>2011-11-09 12:39:06+01:00
Message:
renamed algring; comments; transext.* added
Files:
2 added
22 edited

Legend:

Unmodified
Added
Removed
  • Singular/extra.cc

    r5a4b26 r6ccdd3a  
    34973497        new_ring->P=lev;
    34983498        new_ring->parameter=names;
    3499         new_ring->algring=alg_ring;
     3499        new_ring->extRing=alg_ring;
    35003500        new_ring->ch=1;
    35013501        rComplete(new_ring,TRUE);
  • Singular/iparith.cc

    r5a4b26 r6ccdd3a  
    59865986    if (rField_is_Extension(currRing))
    59875987    {
    5988       assume(currRing->algring!=NULL);
     5988      assume(currRing->extRing!=NULL);
    59895989      lnumber n=(lnumber)pGetCoeff(p);
    5990       ringvar=-p_Var(n->z,currRing->algring);
     5990      ringvar=-p_Var(n->z,currRing->extRing);
    59915991    }
    59925992    if(ringvar==0)
  • Singular/ipassign.cc

    r5a4b26 r6ccdd3a  
    182182    currRing->minpoly=p;
    183183    naMinimalPoly=((lnumber)currRing->minpoly)->z;
    184     if (p_GetExp(((lnumber)currRing->minpoly)->z,1,currRing->algring)==0)
     184    if (p_GetExp(((lnumber)currRing->minpoly)->z,1,currRing->extRing)==0)
    185185    {
    186186      Werror("minpoly must not be constant");
  • Singular/ipshell.cc

    r5a4b26 r6ccdd3a  
    17571757  else if (rIsExtension(r))
    17581758  {
    1759     if (r->algring!=NULL)
    1760       rDecomposeCF(&(L->m[0]),r->algring,r);
     1759    if (r->extRing!=NULL)
     1760      rDecomposeCF(&(L->m[0]),r->extRing,r);
    17611761    else
    17621762    {
     
    23112311      if (is_gf_char==-1)
    23122312      {
    2313         R->algring=rCompose((lists)L->m[0].Data());
    2314         if (R->algring==NULL)
     2313        R->extRing=rCompose((lists)L->m[0].Data());
     2314        if (R->extRing==NULL)
    23152315        {
    23162316          WerrorS("could not create rational function coefficient field");
    23172317          goto rCompose_err;
    23182318        }
    2319         if (R->algring->ch>0)
    2320           R->ch= -R->algring->ch;
     2319        if (R->extRing->ch>0)
     2320          R->ch= -R->extRing->ch;
    23212321        else
    23222322          R->ch=1;
    2323         R->P=R->algring->N;
     2323        R->P=R->extRing->N;
    23242324        R->parameter=(char**)omAlloc0(R->P*sizeof(char_ptr));
    23252325        int i;
    23262326        for(i=R->P-1;i>=0;i--)
    2327           R->parameter[i]=omStrDup(R->algring->names[i]);
    2328         if (R->algring->qideal!=NULL)
     2327          R->parameter[i]=omStrDup(R->extRing->names[i]);
     2328        if (R->extRing->qideal!=NULL)
    23292329        {
    2330           if (IDELEMS(R->algring->qideal)==1)
     2330          if (IDELEMS(R->extRing->qideal)==1)
    23312331          {
    23322332            R->minpoly=naInit(1,R);
    23332333            lnumber n=(lnumber)R->minpoly;
    2334             n->z=R->algring->qideal->m[0];
     2334            n->z=R->extRing->qideal->m[0];
    23352335            naMinimalPoly=n->z;
    2336             R->algring->qideal->m[0]=NULL;
    2337             idDelete(&(R->algring->qideal));
     2336            R->extRing->qideal->m[0]=NULL;
     2337            idDelete(&(R->extRing->qideal));
    23382338            //redefineFunctionPointers();
    23392339          }
  • Singular/maps_ip.cc

    r5a4b26 r6ccdd3a  
    204204{
    205205  ideal theMapI=idInit(rPar(currRing),1);
    206   nMapFunc nMap=nSetMap(currRing->algring);
     206  nMapFunc nMap=nSetMap(currRing->extRing);
    207207
    208208  int i;
     
    214214      pp=theMapI->m[i-1]=pOne();
    215215      lnumber n=(lnumber)pGetCoeff(pp);
    216       p_SetExp(n->z,i,1,currRing->algring);
    217       p_Setm(n->z,currRing->algring);
     216      p_SetExp(n->z,i,1,currRing->extRing);
     217      p_Setm(n->z,currRing->extRing);
    218218    }
    219219    else
     
    235235    tmpW.data=n->z;
    236236    if (n->n!=NULL) WarnS("ignoring denominators of coefficients...");
    237     if (maApplyFetch(MAP_CMD,theMap,v,&tmpW,currRing->algring,NULL,NULL,0,nMap))
     237    if (maApplyFetch(MAP_CMD,theMap,v,&tmpW,currRing->extRing,NULL,NULL,0,nMap))
    238238    {
    239239      WerrorS("map failed");
  • Singular/mpsr_PutPoly.cc

    r5a4b26 r6ccdd3a  
    196196    mp_failr(IMP_PutUint32(link, 1));
    197197    mp_failr(IMP_PutUint32(link, GetPlength(b->z)));
    198     return PutAlgPoly(link, b->z, CurrPutRing->algring);
     198    return PutAlgPoly(link, b->z, CurrPutRing->extRing);
    199199  }
    200200  else
     
    203203    mp_failr(IMP_PutUint32(link, 2));
    204204    mp_failr(IMP_PutUint32(link, GetPlength(b->z)));
    205     failr(PutAlgPoly(link, b->z, CurrPutRing->algring));
     205    failr(PutAlgPoly(link, b->z, CurrPutRing->extRing));
    206206    mp_failr(IMP_PutUint32(link, GetPlength(b->n)));
    207     return PutAlgPoly(link, b->n, CurrPutRing->algring);
     207    return PutAlgPoly(link, b->n, CurrPutRing->extRing);
    208208  }
    209209}
     
    419419    // alg numbers
    420420    // create temporary ring for describing the coeeficient domain
    421     ring alg_r = r->algring;
     421    ring alg_r = r->extRing;
    422422    alg_r->minpoly = r->minpoly;
    423423
  • Singular/walk.cc

    r5a4b26 r6ccdd3a  
    19501950  res->VarOffset = NULL;
    19511951  res->ref=0;
    1952   if (currRing->algring!=NULL)
    1953     currRing->algring->ref++;
     1952  if (currRing->extRing!=NULL)
     1953    currRing->extRing->ref++;
    19541954
    19551955  if (currRing->parameter!=NULL)
     
    20292029  r->VarOffset = NULL;
    20302030  r->ref=0;
    2031   if (currRing->algring!=NULL)
    2032     currRing->algring->ref++;
     2031  if (currRing->extRing!=NULL)
     2032    currRing->extRing->ref++;
    20332033
    20342034  if (currRing->parameter!=NULL)
  • kernel/structs.h

    r5a4b26 r6ccdd3a  
    582582  p_SetmProc    p_Setm;
    583583  n_Procs_s*    cf;
    584   ring          algring;
     584  ring          extRing;
    585585#ifdef HAVE_PLURAL
    586586  private:
  • kernel/walkSupport.cc

    r5a4b26 r6ccdd3a  
    10301030  res->VarOffset = NULL;
    10311031  res->ref=0;
    1032   if (r->algring!=NULL)
    1033     r->algring->ref++;
     1032  if (r->extRing!=NULL)
     1033    r->extRing->ref++;
    10341034  if (r->parameter!=NULL)
    10351035  {
  • libpolys/coeffs/coeffs.h

    r5a4b26 r6ccdd3a  
    180180  /* for extension fields we need to be able to represent polynomials,
    181181     so here is the polynomial ring: */
    182   ring          algring;
     182  ring          extRing;
    183183
    184184  //number     minpoly;  //< no longer needed: replaced by
    185   //                     //<  algring->minideal->[0]
     185  //                     //< extRing->minideal->[0]
    186186
    187187
  • libpolys/polys/OBSOLETE_pInitContent.cc

    r5a4b26 r6ccdd3a  
    107107        while (c_n!=NULL)
    108108        { // each monom: coeff in Q
    109           d=nlLcm(hzz,pGetCoeff(c_n),r->algring);
    110           n_Delete(&hzz,r->algring);
     109          d=nlLcm(hzz,pGetCoeff(c_n),r->extRing);
     110          n_Delete(&hzz,r->extRing);
    111111          hzz=d;
    112112          pIter(c_n);
     
    115115        while (c_n!=NULL)
    116116        { // each monom: coeff in Q
    117           d=nlLcm(h,pGetCoeff(c_n),r->algring);
    118           n_Delete(&h,r->algring);
     117          d=nlLcm(h,pGetCoeff(c_n),r->extRing);
     118          n_Delete(&h,r->extRing);
    119119          h=d;
    120120          pIter(c_n);
     
    127127      number hzztmp=nlInvers(hzz);
    128128      number hh=nlMult(hzz,h);
    129       nlDelete(&hzz,r->algring);
    130       nlDelete(&h,r->algring);
    131       number hg=nlGcd(hzztmp,htmp,r->algring);
    132       nlDelete(&hzztmp,r->algring);
    133       nlDelete(&htmp,r->algring);
     129      nlDelete(&hzz,r->extRing);
     130      nlDelete(&h,r->extRing);
     131      number hg=nlGcd(hzztmp,htmp,r->extRing);
     132      nlDelete(&hzztmp,r->extRing);
     133      nlDelete(&htmp,r->extRing);
    134134      h=nlMult(hh,hg);
    135       nlDelete(&hg,r->algring);
    136       nlDelete(&hh,r->algring);
     135      nlDelete(&hg,r->extRing);
     136      nlDelete(&hh,r->extRing);
    137137      nlNormalize(h);
    138138      if(!nlIsOne(h))
     
    147147            d=nlMult(h,pGetCoeff(c_n));
    148148            nlNormalize(d);
    149             nlDelete(&pGetCoeff(c_n),r->algring);
     149            nlDelete(&pGetCoeff(c_n),r->extRing);
    150150            pGetCoeff(c_n)=d;
    151151            pIter(c_n);
     
    156156            d=nlMult(h,pGetCoeff(c_n));
    157157            nlNormalize(d);
    158             nlDelete(&pGetCoeff(c_n),r->algring);
     158            nlDelete(&pGetCoeff(c_n),r->extRing);
    159159            pGetCoeff(c_n)=d;
    160160            pIter(c_n);
     
    163163        }
    164164      }
    165       nlDelete(&h,r->algring);
     165      nlDelete(&h,r->extRing);
    166166    }
    167167  }
  • libpolys/polys/clapconv.cc

    r5a4b26 r6ccdd3a  
    169169      for ( i = rVar(r); i>0 ; i-- )
    170170        p_SetExp( term, i , exp[i+var_start],r);
    171       //if (rRing_has_Comp(currRing->algring)) p_SetComp(term, 0, currRing->algring); // done by pInit
     171      //if (rRing_has_Comp(currRing->extRing)) p_SetComp(term, 0, currRing->extRing); // done by pInit
    172172      if (par_start==0)
    173173      {
    174174        for ( i = 1; i <= var_start; i++ )
    175175        //z->e[i-1]+=exp[i];
    176           p_AddExp(z,i,exp[i],r->algring);
     176          p_AddExp(z,i,exp[i],r->extRing);
    177177      }
    178178      else
     
    180180        for ( i = par_start+1; i <= var_start+rPar(currRing); i++ )
    181181        //z->e[i-1]+=exp[i];
    182           p_AddExp(z,i,exp[i-par_start],r->algring);
     182          p_AddExp(z,i,exp[i-par_start],r->extRing);
    183183      }
    184184      pGetCoeff(term)=(number)ALLOC0_LNUMBER();
     
    226226      }
    227227    }
    228     if ( (e = p_GetExp( p, 1, r->algring )) != 0 )
     228    if ( (e = p_GetExp( p, 1, r->extRing )) != 0 )
    229229      term *= power( a , e );
    230230    result += term;
     
    237237{
    238238  if ( f.isImm() )
    239     return n_Init( f.intval(), r->algring );
     239    return n_Init( f.intval(), r->extRing );
    240240  else
    241241  {
     
    271271    // pNext( t ) = NULL; //already done by napNew
    272272    pGetCoeff(t)=convFactoryNSingAN( i.coeff(), r );
    273     if (n_IsZero(napGetCoeff(t),r->algring))
    274     {
    275       p_Delete(&t,r->algring);
     273    if (n_IsZero(napGetCoeff(t),r->extRing))
     274    {
     275      p_Delete(&t,r->extRing);
    276276    }
    277277    else
    278278    {
    279       p_SetExp(t,1,i.exp(),r->algring);
    280       a=p_Add_q(a,t,r->algring);
     279      p_SetExp(t,1,i.exp(),r->extRing);
     280      a=p_Add_q(a,t,r->extRing);
    281281    }
    282282  }
     
    286286    {
    287287      lnumber l=(lnumber)r->minpoly;
    288       if (p_GetExp(a,1,r->algring) >= p_GetExp(l->z,1,r->algring))
     288      if (p_GetExp(a,1,r->extRing) >= p_GetExp(l->z,1,r->extRing))
    289289        a = napRemainder( a, l->z);
    290290    }
     
    302302  {
    303303    n_Normalize(pGetCoeff(p),r);
    304     CanonicalForm term=convSingPFactoryP(((lnumber)pGetCoeff(p))->z,r->algring);
     304    CanonicalForm term=convSingPFactoryP(((lnumber)pGetCoeff(p))->z,r->extRing);
    305305
    306306    if ((((lnumber)pGetCoeff(p))->n!=NULL)
     
    353353      p_SetExp( term, i ,exp[i], r);
    354354    //if (rRing_has_Comp(currRing)) p_SetComp(term, 0, currRing); // done by pInit
    355     pGetCoeff(term)=(number)ALLOC0_LNUMBER();
    356     ((lnumber)pGetCoeff(term))->z=convFactoryPSingP( f, r->algring );
     355    pGetCoeff(term)=(number)omAlloc0Bin(rnumber_bin);
     356    ((lnumber)pGetCoeff(term))->z=convFactoryPSingP( f, r->extRing );
    357357    p_Setm( term,r );
    358358    result = p_Add_q( result, term,r );
  • libpolys/polys/clapsing.cc

    r5a4b26 r6ccdd3a  
    281281      pIter(p);
    282282    }
    283     g = convSingPFactoryP( ((lnumber)g1)->z, r->cf->algring );
    284     g = gcd( g, convSingPFactoryP( ((lnumber)g2)->z , r->cf->algring));
     283    g = convSingPFactoryP( ((lnumber)g1)->z, r->cf->extRing );
     284    g = gcd( g, convSingPFactoryP( ((lnumber)g2)->z , r->cf->extRing));
    285285
    286286    // second run: gcd's
     
    289289    while ( (p != NULL) && (g != 1)  && ( g != 0))
    290290    {
    291       h = convSingPFactoryP( ((lnumber)pGetCoeff(p))->z, r->cf->algring );
     291      h = convSingPFactoryP( ((lnumber)pGetCoeff(p))->z, r->cf->extRing );
    292292      pIter( p );
    293293
     
    307307      {
    308308        lnumber c=(lnumber)pGetCoeff(p);
    309         p_Delete(&c->z,r->cf->algring); // 2nd arg used to be nacRing
    310         c->z=convFactoryPSingP( i.getItem() / g, r->cf->algring );
     309        p_Delete(&c->z,r->cf->extRing); // 2nd arg used to be nacRing
     310        c->z=convFactoryPSingP( i.getItem() / g, r->cf->extRing );
    311311        //nTest((number)c);
    312312        //#ifdef LDEBUG
     
    514514  else if (rField_is_Extension(r))
    515515  {
    516     if (r->cf->algring->minideal!=NULL)
    517     {
    518       CanonicalForm mipo=convSingPFactoryP(r->cf->algring->minideal->m[0],
    519                                            r->cf->algring);
     516    if (r->cf->extRing->minideal!=NULL)
     517    {
     518      CanonicalForm mipo=convSingPFactoryP(r->cf->extRing->minideal->m[0],
     519                                           r->cf->extRing);
    520520      Variable a=rootOf(mipo);
    521521      CanonicalForm F( convSingPFactoryP( f,r ) );
     
    576576        intvec *w=NULL;
    577577        if (v!=NULL) w=*v;
    578         if (r->cf->algring->minideal==NULL)
     578        if (r->cf->extRing->minideal==NULL)
    579579        {
    580580          if(!count_Factors(res,w,j,ff,convFactoryPSingP( J.getItem().factor(),r ),r))
     
    708708    }
    709709  }
    710   if (rField_is_Q_a(r) && (r->cf->algring->minideal!=NULL))
     710  if (rField_is_Q_a(r) && (r->cf->extRing->minideal!=NULL))
    711711  {
    712712    int i=IDELEMS(res)-1;
     
    12281228 {
    12291229   CanonicalForm mipo=convSingPFactoryP(((lnumber)currRing->minpoly)->z,
    1230                                          currRing->algring);
     1230                                         currRing->extRing);
    12311231   Variable a=rootOf(mipo);
    12321232   CanonicalForm F( convSingAFactoryA( f,a, currRing ) ),
     
    12421242 else
    12431243 {
    1244    CanonicalForm F( convSingPFactoryP( f,currRing->algring ) ),
    1245                  G( convSingPFactoryP( g,currRing->algring ) );
     1244   CanonicalForm F( convSingPFactoryP( f,currRing->extRing ) ),
     1245                 G( convSingPFactoryP( g,currRing->extRing ) );
    12461246   CanonicalForm GCD;
    12471247   // calculate gcd
     
    12491249
    12501250   // calculate lcm
    1251    res= convFactoryPSingP( (F/GCD)*G, currRing->algring );
     1251   res= convFactoryPSingP( (F/GCD)*G, currRing->extRing );
    12521252 }
    12531253
     
    12671267 {
    12681268   CanonicalForm mipo=convSingPFactoryP(((lnumber)currRing->minpoly)->z,
    1269                          currRing->algring);
     1269                         currRing->extRing);
    12701270   Variable a=rootOf(mipo);
    12711271   CanonicalForm F( convSingAFactoryA( f,a, currRing ) ),
     
    12831283 else
    12841284 {
    1285    CanonicalForm F( convSingPFactoryP( f,currRing->algring ) ),
    1286                  G( convSingPFactoryP( g,currRing->algring ) );
     1285   CanonicalForm F( convSingPFactoryP( f,currRing->extRing ) ),
     1286                 G( convSingPFactoryP( g,currRing->extRing ) );
    12871287   CanonicalForm GCD;
    12881288
     
    12911291   if ((GCD!=1) && (GCD!=0))
    12921292   {
    1293      ff= convFactoryPSingP( F/ GCD, currRing->algring );
    1294      gg= convFactoryPSingP( G/ GCD, currRing->algring );
     1293     ff= convFactoryPSingP( F/ GCD, currRing->extRing );
     1294     gg= convFactoryPSingP( G/ GCD, currRing->extRing );
    12951295   }
    12961296 }
  • libpolys/polys/ext_fields/algext.cc

    r5a4b26 r6ccdd3a  
    44/* $Id$ */
    55/*
    6 * ABSTRACT: numbers in an algebraic extension field K(a)
     6* ABSTRACT: numbers in an algebraic extension field K[a] / < f(a) >
    77*           Assuming that we have a coeffs object cf, then these numbers
    88*           are polynomials in the polynomial ring K[a] represented by
    9 *           cf->algring.
     9*           cf->extRing.
    1010*           IMPORTANT ASSUMPTIONS:
    11 *           1.) So far we assume that cf->algring is a valid polynomial
     11*           1.) So far we assume that cf->extRing is a valid polynomial
    1212*               ring in exactly one variable, i.e., K[a], where K is allowed
    1313*               to be any field (representable in SINGULAR and which may
     
    1515*               towers).
    1616*           2.) Moreover, this implementation assumes that
    17 *               cf->algring->minideal is not NULL but an ideal with at
     17*               cf->extRing->minideal is not NULL but an ideal with at
    1818*               least one non-zero generator which may be accessed by
    19 *               cf->algring->minideal->m[0] and which represents the minimal
    20 *               polynomial of the extension variable 'a' in K[a].
     19*               cf->extRing->minideal->m[0] and which represents the minimal
     20*               polynomial f(a) of the extension variable 'a' in K[a].
     21*           3.) As soon as an std method for polynomial rings becomes
     22*               availabe, all reduction steps modulo f(a) should be replaced
     23*               by a call to std. Moreover, in this situation one can finally
     24*               move from K[a] / < f(a) > to
     25*                  K[a_1, ..., a_s] / I, with I some zero-dimensional ideal
     26*                                        in K[a_1, ..., a_s] given by a lex
     27*                                        Gröbner basis.
     28*               The code in algext.h and algext.cc is then capable of
     29*               computing in K[a_1, ..., a_s] / I.
    2130*/
    2231
     
    98107  while (nCoeff_is_Extension(cf))
    99108  {
    100     assume(cf->algring != NULL); assume(cf->algring->cf != NULL);
    101     cf = cf->algring->cf;
     109    assume(cf->extRing != NULL); assume(cf->extRing->cf != NULL);
     110    cf = cf->extRing->cf;
    102111    height++;
    103112  }
     
    229238  Print("//   with the minimal polynomial f(%s) = %s\n", x,
    230239        p_String(naMinpoly, naRing));
    231   PrintS("//   and K: "); n_CoeffWrite(cf->algring->cf);
     240  PrintS("//   and K: "); n_CoeffWrite(cf->extRing->cf);
    232241}
    233242
     
    379388    /* basically, just write aAsPoly using p_Write,
    380389       but use brackets around the output, if a is not
    381        a constant living in naCoeffs = cf->algring->cf */
     390       a constant living in naCoeffs = cf->extRing->cf */
    382391    BOOLEAN useBrackets = !(p_IsConstant(aAsPoly, naRing));
    383392    if (useBrackets) StringAppendS("(");
     
    409418}
    410419
    411 /* expects *param to be castable to ExtInfo */
     420/* expects *param to be castable to AlgExtInfo */
    412421static BOOLEAN naCoeffIsEqual(const coeffs cf, n_coeffType n, void * param)
    413422{
    414423  if (naID != n) return FALSE;
    415   ExtInfo *e = (ExtInfo *)param;
     424  AlgExtInfo *e = (AlgExtInfo *)param;
    416425  /* for extension coefficient fields we expect the underlying
    417426     polynomials rings to be IDENTICAL, i.e. the SAME OBJECT;
     
    487496number naMap00(number a, const coeffs src, const coeffs dst)
    488497{
    489   assume(src == dst->algring->cf);
    490   poly result = p_One(dst->algring);
    491   p_SetCoeff(result, naCopy(a, src), dst->algring);
     498  assume(src == dst->extRing->cf);
     499  poly result = p_One(dst->extRing);
     500  p_SetCoeff(result, naCopy(a, src), dst->extRing);
    492501  return (number)result;
    493502}
     
    498507  /* mapping via intermediate int: */
    499508  int n = n_Int(a, src);
    500   number q = n_Init(n, dst->algring->cf);
    501   poly result = p_One(dst->algring);
    502   p_SetCoeff(result, q, dst->algring);
     509  number q = n_Init(n, dst->extRing->cf);
     510  poly result = p_One(dst->extRing);
     511  p_SetCoeff(result, q, dst->extRing);
    503512  return (number)result;
    504513}
     
    514523number naMap0P(number a, const coeffs src, const coeffs dst)
    515524{
    516   int p = rChar(dst->algring);
     525  int p = rChar(dst->extRing);
    517526  int n = nlModP(a, p, src);
    518   number q = n_Init(n, dst->algring->cf);
    519   poly result = p_One(dst->algring);
    520   p_SetCoeff(result, q, dst->algring);
     527  number q = n_Init(n, dst->extRing->cf);
     528  poly result = p_One(dst->extRing);
     529  p_SetCoeff(result, q, dst->extRing);
    521530  return (number)result;
    522531}
     
    525534number naMapPP(number a, const coeffs src, const coeffs dst)
    526535{
    527   assume(src == dst->algring->cf);
    528   poly result = p_One(dst->algring);
    529   p_SetCoeff(result, naCopy(a, src), dst->algring);
     536  assume(src == dst->extRing->cf);
     537  poly result = p_One(dst->extRing);
     538  p_SetCoeff(result, naCopy(a, src), dst->extRing);
    530539  return (number)result;
    531540}
     
    536545  /* mapping via intermediate int: */
    537546  int n = n_Int(a, src);
    538   number q = n_Init(n, dst->algring->cf);
    539   poly result = p_One(dst->algring);
    540   p_SetCoeff(result, q, dst->algring);
     547  number q = n_Init(n, dst->extRing->cf);
     548  poly result = p_One(dst->extRing);
     549  p_SetCoeff(result, q, dst->extRing);
    541550  return (number)result;
    542551}
     
    576585  if (nCoeff_is_Q(bSrc) && nCoeff_is_Q(bDst))
    577586  {
    578     if (strcmp(rParameter(src->algring)[0],
    579                rParameter(dst->algring)[0]) == 0)
     587    if (strcmp(rParameter(src->extRing)[0],
     588               rParameter(dst->extRing)[0]) == 0)
    580589      return naCopyMap;                                  /// Q(a)   --> Q(a)
    581590    else
     
    585594  if (nCoeff_is_Zp(bSrc) && nCoeff_is_Zp(bDst))
    586595  {
    587     if (strcmp(rParameter(src->algring)[0],
    588                rParameter(dst->algring)[0]) == 0)
     596    if (strcmp(rParameter(src->extRing)[0],
     597               rParameter(dst->extRing)[0]) == 0)
    589598      return naCopyMap;                                  /// Z/p(a) --> Z/p(a)
    590599    else
     
    599608  assume( getCoeffType(cf) == naID );
    600609 
    601   ExtInfo *e = (ExtInfo *)infoStruct;
    602   /// first check whether cf->algring != NULL and delete old ring???
    603   cf->algring           = e->r;
    604   cf->algring->minideal = e->i;
    605 
    606   assume(cf->algring                     != NULL);      // algring;
    607   assume((cf->algring->minideal          != NULL) &&    // minideal has one
    608          (IDELEMS(cf->algring->minideal) != 0)    &&    // non-zero generator
    609          (cf->algring->minideal->m[0]    != NULL)    ); // at m[0];
    610   assume(cf->algring->cf                 != NULL);      // algring->cf;
     610  AlgExtInfo *e = (AlgExtInfo *)infoStruct;
     611  /// first check whether cf->extRing != NULL and delete old ring???
     612  cf->extRing           = e->r;
     613  cf->extRing->minideal = e->i;
     614
     615  assume(cf->extRing                     != NULL);      // extRing;
     616  assume((cf->extRing->minideal          != NULL) &&    // minideal has one
     617         (IDELEMS(cf->extRing->minideal) != 0)    &&    // non-zero generator
     618         (cf->extRing->minideal->m[0]    != NULL)    ); // at m[0];
     619  assume(cf->extRing->cf                 != NULL);      // extRing->cf;
    611620  assume(getCoeffType(cf) == naID);                     // coeff type;
    612621 
    613622  /* propagate characteristic up so that it becomes
    614623     directly accessible in cf: */
    615   cf->ch = cf->algring->cf->ch;
     624  cf->ch = cf->extRing->cf->ch;
    616625 
    617626  #ifdef LDEBUG
  • libpolys/polys/ext_fields/algext.h

    r5a4b26 r6ccdd3a  
    66/* $Id$ */
    77/*
    8 * ABSTRACT: numbers in an algebraic extension field K(a)
     8* ABSTRACT: numbers in an algebraic extension field K[a] / < f(a) >
    99*           Assuming that we have a coeffs object cf, then these numbers
    1010*           are polynomials in the polynomial ring K[a] represented by
    11 *           cf->algring.
     11*           cf->extRing.
    1212*           IMPORTANT ASSUMPTIONS:
    13 *           1.) So far we assume that cf->algring is a valid polynomial
     13*           1.) So far we assume that cf->extRing is a valid polynomial
    1414*               ring in exactly one variable, i.e., K[a], where K is allowed
    1515*               to be any field (representable in SINGULAR and which may
     
    1717*               towers).
    1818*           2.) Moreover, this implementation assumes that
    19 *               cf->algring->minideal is not NULL but an ideal with at
     19*               cf->extRing->minideal is not NULL but an ideal with at
    2020*               least one non-zero generator which may be accessed by
    21 *               cf->algring->minideal->m[0] and which represents the minimal
    22 *               polynomial of the extension variable 'a' in K[a].
     21*               cf->extRing->minideal->m[0] and which represents the minimal
     22*               polynomial f(a) of the extension variable 'a' in K[a].
     23*           3.) As soon as an std method for polynomial rings becomes
     24*               availabe, all reduction steps modulo f(a) should be replaced
     25*               by a call to std. Moreover, in this situation one can finally
     26*               move from K[a] / < f(a) > to
     27*                  K[a_1, ..., a_s] / I, with I some zero-dimensional ideal
     28*                                        in K[a_1, ..., a_s] given by a lex
     29*                                        Gröbner basis.
     30*               The code in algext.h and algext.cc is then capable of
     31*               computing in K[a_1, ..., a_s] / I.
    2332*/
     33
    2434#include <coeffs/coeffs.h>
    2535
     
    3040typedef struct sip_sideal * ideal;
    3141
    32 /// struct for pass initialization parameters to naInitChar
    33 typedef struct
    34 {
    35   ring r;
    36   ideal i;
    37 } ExtInfo;
     42/// struct for passing initialization parameters to naInitChar
     43typedef struct { ring r; ideal i; } AlgExtInfo;
    3844
    3945/// Get a mapping function from src into the domain of this type (n_algExt)
     
    8793
    8894/* polynomial ring in which our numbers live */
    89 #define naRing cf->algring
     95#define naRing cf->extRing
    9096
    9197/* coeffs object in which the coefficients of our numbers live;
     
    9399 * coefficients of our numbers, e.g., use naCoeffs->nAdd to add
    94100 * coefficients of our numbers */
    95 #define naCoeffs cf->algring->cf
     101#define naCoeffs cf->extRing->cf
    96102
    97103/* minimal polynomial */
  • libpolys/polys/ext_fields/longalg.cc

    r5a4b26 r6ccdd3a  
    174174  else if (i < 0)
    175175  {
    176     naIsChar0 = 0;
    177     npSetChar(-i, r->algring); // to be changed HS
     176    ntIsChar0 = 0;
     177    npSetChar(-i, r->extRing); // to be changed HS
    178178  }
    179179#ifdef TEST
     
    183183  }
    184184#endif
    185   nacRing        = r->algring;
     185  nacRing        = r->extRing;
    186186  nacInit        = nacRing->cf->cfInit;
    187187  nacInt         = nacRing->cf->n_Int;
     
    950950  if (i!=0)
    951951  {
    952     number c=n_Init(i,r->algring);
    953     if (!n_IsZero(c,r->algring))
    954     {
    955       poly z=p_Init(r->algring);
     952    number c=n_Init(i,r->extRing);
     953    if (!n_IsZero(c,r->extRing))
     954    {
     955      poly z=p_Init(r->extRing);
    956956      pSetCoeff0(z,c);
    957957      lnumber l = (lnumber)omAllocBin(rnumber_bin);
     
    10071007{
    10081008  lnumber l=(lnumber)n;
    1009   if ((l!=NULL)&&(l->n==NULL)&&(p_IsConstant(l->z,r->algring)))
    1010   {
    1011     return nacInt(pGetCoeff(l->z),r->algring);
     1009  if ((l!=NULL)&&(l->n==NULL)&&(p_IsConstant(l->z,r->extRing)))
     1010  {
     1011    return nacInt(pGetCoeff(l->z),r->extRing);
    10121012  }
    10131013  return 0;
     
    10231023    lnumber l = (lnumber) * p;
    10241024    if (l==NULL) return;
    1025     p_Delete(&(l->z),r->algring);
    1026     p_Delete(&(l->n),r->algring);
     1025    p_Delete(&(l->z),r->extRing);
     1026    p_Delete(&(l->n),r->extRing);
    10271027    omFreeBin((void *)l,  rnumber_bin);
    10281028  }
     
    10511051  lnumber src = (lnumber)p;
    10521052  erg = (lnumber)omAlloc0Bin(rnumber_bin);
    1053   erg->z = p_Copy(src->z,r->algring);
    1054   erg->n = p_Copy(src->n,r->algring);
     1053  erg->z = p_Copy(src->z,r->extRing);
     1054  erg->n = p_Copy(src->n,r->extRing);
    10551055  erg->s = src->s;
    10561056  return (number)erg;
     
    17151715  {
    17161716    if (pNext(x->z)!=NULL)
    1717       result->z = p_Copy(x->z, r->algring);
     1717      result->z = p_Copy(x->z, r->extRing);
    17181718    else
    17191719      result->z = napGcd0(x->z, y->z);
     
    17301730    poly rz=napGcd(x->z, y->z);
    17311731    CanonicalForm F, G, R;
    1732     R=convSingPFactoryP(rz,r->algring);
     1732    R=convSingPFactoryP(rz,r->extRing);
    17331733    p_Normalize(x->z,nacRing);
    1734     F=convSingPFactoryP(x->z,r->algring)/R;
     1734    F=convSingPFactoryP(x->z,r->extRing)/R;
    17351735    p_Normalize(y->z,nacRing);
    1736     G=convSingPFactoryP(y->z,r->algring)/R;
     1736    G=convSingPFactoryP(y->z,r->extRing)/R;
    17371737    F = gcd( F, G );
    17381738    if (F.isOne())
     
    17401740    else
    17411741    {
    1742       p_Delete(&rz,r->algring);
    1743       result->z=convFactoryPSingP( F*R,r->algring );
     1742      p_Delete(&rz,r->extRing);
     1743      result->z=convFactoryPSingP( F*R,r->extRing );
    17441744      p_Normalize(result->z,nacRing);
    17451745    }
     
    21172117  naTest(la);
    21182118  naTest(lb);
    2119   poly x = p_Copy(a->z, r->algring);
     2119  poly x = p_Copy(a->z, r->extRing);
    21202120  number t = napLcm(b->z); // get all denom of b->z
    21212121  if (!nacIsOne(t))
     
    21252125    while (xx!=NULL)
    21262126    {
    2127       bt = nacGcd(t, pGetCoeff(xx), r->algring);
     2127      bt = nacGcd(t, pGetCoeff(xx), r->extRing);
    21282128      rr = nacMult(t, pGetCoeff(xx));
    2129       n_Delete(&pGetCoeff(xx),r->algring);
     2129      n_Delete(&pGetCoeff(xx),r->extRing);
    21302130      pGetCoeff(xx) = nacDiv(rr, bt);
    21312131      nacNormalize(pGetCoeff(xx));
    2132       n_Delete(&bt,r->algring);
    2133       n_Delete(&rr,r->algring);
     2132      n_Delete(&bt,r->extRing);
     2133      n_Delete(&rr,r->extRing);
    21342134      pIter(xx);
    21352135    }
    21362136  }
    2137   n_Delete(&t,r->algring);
     2137  n_Delete(&t,r->extRing);
    21382138  result->z = x;
    21392139#ifdef HAVE_FACTORY
     
    21412141  {
    21422142    result->z=singclap_alglcm(result->z,b->n);
    2143     p_Delete(&x,r->algring);
     2143    p_Delete(&x,r->extRing);
    21442144  }
    21452145#endif
  • libpolys/polys/ext_fields/longtrans.cc

    r5a4b26 r6ccdd3a  
    128128  {
    129129    ntIsChar0 = 0;
    130     npSetChar(-i, r->algring); // to be changed HS
     130    npSetChar(-i, r->extRing); // to be changed HS
    131131  }
    132132#ifdef TEST
     
    136136  }
    137137#endif
    138   nacRing        = r->algring;
     138  nacRing        = r->extRing;
    139139  nacInit        = nacRing->cf->cfInit;
    140140  nacInt         = nacRing->cf->n_Int;
     
    431431void napWrite(poly p, const BOOLEAN has_denom, const ring r)
    432432{
    433   ring nacring = r->algring;
     433  ring nacring = r->extRing;
    434434  if (p == NULL) StringAppendS("0");
    435435  else if (p_LmIsConstant(p, nacring))
     
    987987                                                     vs. ntSetMap */
    988988  if (currRing->parameter!=NULL)
    989     nMap=currRing->algring->cf->cfSetMap(oldRing->algring, nacRing);
     989    nMap=currRing->extRing->cf->cfSetMap(oldRing->extRing, nacRing);
    990990  else
    991     nMap=currRing->cf->cfSetMap(oldRing->algring, currRing);
     991    nMap=currRing->cf->cfSetMap(oldRing->extRing, currRing);
    992992  if (nMap==NULL) return NULL; /* emergency exit only */
    993993  while(za!=NULL)
     
    10031003    if (currRing->parameter!=NULL)
    10041004    {
    1005       assume(oldRing->algring!=NULL);
    1006       pGetCoeff(p)=(number)ALLOC0_LNUMBER();
     1005      assume(oldRing->extRing!=NULL);
     1006      pGetCoeff(p)=(number)omAlloc0Bin(rnumber_bin);
    10071007      pan=(lnumber)pGetCoeff(p);
    10081008      pan->s=2;
     
    10791079  if (x->n!=NULL)
    10801080  {
    1081     lnumber rr=ALLOC0_LNUMBER();
    1082     rr->z=p_Copy(x->n,r->algring);
     1081    lnumber rr=(lnumber)omAlloc0Bin(rnumber_bin);
     1082    rr->z=p_Copy(x->n,r->extRing);
    10831083    rr->s = 2;
    10841084    return (number)rr;
     
    10901090{
    10911091  lnumber x=(lnumber)n;
    1092   lnumber rr=ALLOC0_LNUMBER();
    1093   rr->z=p_Copy(x->z,r->algring);
     1092  lnumber rr=(lnumber)omAlloc0Bin(rnumber_bin);
     1093  rr->z=p_Copy(x->z,r->extRing);
    10941094  rr->s = 2;
    10951095  return (number)rr;
     
    11051105  if (i!=0)
    11061106  {
    1107     number c=n_Init(i,r->algring);
    1108     if (!n_IsZero(c,r->algring))
    1109     {
    1110       poly z=p_Init(r->algring);
     1107    number c=n_Init(i,r->extRing);
     1108    if (!n_IsZero(c,r->extRing))
     1109    {
     1110      poly z=p_Init(r->extRing);
    11111111      pSetCoeff0(z,c);
    11121112      lnumber l = (lnumber)ALLOC_LNUMBER();
     
    11931193{
    11941194  lnumber l=(lnumber)n;
    1195   if ((l!=NULL)&&(l->n==NULL)&&(p_IsConstant(l->z,r->algring)))
    1196   {
    1197     return nacInt(pGetCoeff(l->z),r->algring);
     1195  if ((l!=NULL)&&(l->n==NULL)&&(p_IsConstant(l->z,r->extRing)))
     1196  {
     1197    return nacInt(pGetCoeff(l->z),r->extRing);
    11981198  }
    11991199  return 0;
     
    12091209    lnumber l = (lnumber) * p;
    12101210    if (l==NULL) return;
    1211     p_Delete(&(l->z),r->algring);
    1212     p_Delete(&(l->n),r->algring);
    1213     FREE_LNUMBER(l);
     1211    p_Delete(&(l->z),r->extRing);
     1212    p_Delete(&(l->n),r->extRing);
     1213    omFreeBin((ADDRESS)l,  rnumber_bin);
    12141214  }
    12151215  *p = NULL;
     
    12361236  lnumber erg;
    12371237  lnumber src = (lnumber)p;
    1238   erg = ALLOC_LNUMBER();
    1239   erg->z = p_Copy(src->z,r->algring);
    1240   erg->n = p_Copy(src->n,r->algring);
     1238  erg = (lnumber)omAlloc0Bin(rnumber_bin);
     1239  erg->z = p_Copy(src->z,r->extRing);
     1240  erg->n = p_Copy(src->n,r->extRing);
    12411241  erg->s = src->s;
    12421242  return (number)erg;
     
    18711871  poly rz=napGcd(x->z, y->z);
    18721872  CanonicalForm F, G, R;
    1873   R=convSingPFactoryP(rz,r->algring);
     1873  R=convSingPFactoryP(rz,r->extRing);
    18741874  p_Normalize(x->z,nacRing);
    1875   F=convSingPFactoryP(x->z,r->algring)/R;
     1875  F=convSingPFactoryP(x->z,r->extRing)/R;
    18761876  p_Normalize(y->z,nacRing);
    1877   G=convSingPFactoryP(y->z,r->algring)/R;
     1877  G=convSingPFactoryP(y->z,r->extRing)/R;
    18781878  F = gcd( F, G );
    18791879  if (F.isOne())
     
    18811881  else
    18821882  {
    1883     p_Delete(&rz,r->algring);
    1884     result->z=convFactoryPSingP( F*R,r->algring );
     1883    p_Delete(&rz,r->extRing);
     1884    result->z=convFactoryPSingP( F*R,r->extRing );
    18851885    p_Normalize(result->z,nacRing);
    18861886  }
     
    22222222  ntTest(la);
    22232223  ntTest(lb);
    2224   poly x = p_Copy(a->z, r->algring);
     2224  poly x = p_Copy(a->z, r->extRing);
    22252225  number t = napLcm(b->z); // get all denom of b->z
    22262226  if (!nacIsOne(t))
     
    22302230    while (xx!=NULL)
    22312231    {
    2232       bt = nacGcd(t, pGetCoeff(xx), r->algring);
     2232      bt = nacGcd(t, pGetCoeff(xx), r->extRing);
    22332233      rr = nacMult(t, pGetCoeff(xx));
    2234       n_Delete(&pGetCoeff(xx),r->algring);
     2234      n_Delete(&pGetCoeff(xx),r->extRing);
    22352235      pGetCoeff(xx) = nacDiv(rr, bt);
    22362236      nacNormalize(pGetCoeff(xx));
    2237       n_Delete(&bt,r->algring);
    2238       n_Delete(&rr,r->algring);
     2237      n_Delete(&bt,r->extRing);
     2238      n_Delete(&rr,r->extRing);
    22392239      pIter(xx);
    22402240    }
    22412241  }
    2242   n_Delete(&t,r->algring);
     2242  n_Delete(&t,r->extRing);
    22432243  result->z = x;
    22442244#ifdef HAVE_FACTORY
     
    22462246  {
    22472247    result->z=singclap_alglcm(result->z,b->n);
    2248     p_Delete(&x,r->algring);
     2248    p_Delete(&x,r->extRing);
    22492249  }
    22502250#endif
     
    24362436  nMapFunc nMap=ntSetMap(oldRing,currRing);
    24372437  if (currRing->parameter!=NULL)
    2438     nMap=currRing->algring->cf->cfSetMap(oldRing->algring, nacRing);
     2438    nMap=currRing->extRing->cf->cfSetMap(oldRing->extRing, nacRing);
    24392439  else
    2440     nMap=currRing->cf->cfSetMap(oldRing->algring, currRing);
     2440    nMap=currRing->cf->cfSetMap(oldRing->extRing, currRing);
    24412441  if (nMap==NULL) return NULL; /* emergency exit only */
    24422442  do
     
    24532453    if (currRing->parameter!=NULL)
    24542454    {
    2455       assume(oldRing->algring!=NULL);
    2456       pGetCoeff(p)=(number)ALLOC0_LNUMBER();
     2455      assume(oldRing->extRing!=NULL);
     2456      pGetCoeff(p)=(number)omAlloc0Bin(rnumber_bin);
    24572457      pan=(lnumber)pGetCoeff(p);
    24582458      pan->s=2;
     
    25242524  if (x->n!=NULL)
    25252525  {
    2526     lnumber rr=ALLOC0_LNUMBER();
    2527     rr->z=p_Copy(x->n,r->algring);
     2526    lnumber rr=(lnumber)omAlloc0Bin(rnumber_bin);
     2527    rr->z=p_Copy(x->n,r->extRing);
    25282528    rr->s = 2;
    25292529    return (number)rr;
     
    25352535{
    25362536  lnumber x=(lnumber)n;
    2537   lnumber rr=ALLOC0_LNUMBER();
    2538   rr->z=p_Copy(x->z,r->algring);
     2537  lnumber rr=(lnumber)omAlloc0Bin(rnumber_bin);
     2538  rr->z=p_Copy(x->z,r->extRing);
    25392539  rr->s = 2;
    25402540  return (number)rr;
  • libpolys/polys/ext_fields/longtrans.h

    r5a4b26 r6ccdd3a  
    121121/* for computing with polynomials living in nacRing */
    122122poly    napPermNumber(number z, int * par_perm, int P, ring r);
    123 #define napAddExp(p,i,e)       (p_AddExp(p,i,e,currRing->algring))
     123#define napAddExp(p,i,e)       (p_AddExp(p,i,e,currRing->extRing))
    124124#define napLength(p)           pLength(p)
    125 #define napNeg(p)              (p_Neg(p,currRing->algring))
     125#define napNeg(p)              (p_Neg(p,currRing->extRing))
    126126#define napVariables           naNumbOfPar
    127127#define napGetCoeff(p)         pGetCoeff(p)
    128 #define napGetExpFrom(p,i,r)   (p_GetExp(p,i,r->algring))
    129 #define napSetExp(p,i,e)       (p_SetExp(p,i,e,currRing->algring))
    130 #define napNew()               (p_Init(currRing->algring))
    131 #define napAdd(p1,p2)          (p_Add_q(p1,p2,currRing->algring))
    132 #define napSetm(p)             p_Setm(p,currRing->algring)
     128#define napGetExpFrom(p,i,r)   (p_GetExp(p,i,r->extRing))
     129#define napSetExp(p,i,e)       (p_SetExp(p,i,e,currRing->extRing))
     130#define napNew()               (p_Init(currRing->extRing))
     131#define napAdd(p1,p2)          (p_Add_q(p1,p2,currRing->extRing))
     132#define napSetm(p)             p_Setm(p,currRing->extRing)
    133133#define napCopy(p)             p_Copy(p,nacRing)
    134134#define napSetCoeff(p,n)       {n_Delete(&pGetCoeff(p),nacRing);pGetCoeff(p)=n;}
  • libpolys/polys/monomials/p_polys.cc

    r5a4b26 r6ccdd3a  
    20672067        while (c_n!=NULL)
    20682068        { // each monom: coeff in Q
    2069           d=nlLcm(hzz,pGetCoeff(c_n),r->algring->cf);
    2070           n_Delete(&hzz,r->algring->cf);
     2069          d=nlLcm(hzz,pGetCoeff(c_n),r->extRing->cf);
     2070          n_Delete(&hzz,r->extRing->cf);
    20712071          hzz=d;
    20722072          pIter(c_n);
     
    20752075        while (c_n!=NULL)
    20762076        { // each monom: coeff in Q
    2077           d=nlLcm(h,pGetCoeff(c_n),r->algring->cf);
    2078           n_Delete(&h,r->algring->cf);
     2077          d=nlLcm(h,pGetCoeff(c_n),r->extRing->cf);
     2078          n_Delete(&h,r->extRing->cf);
    20792079          h=d;
    20802080          pIter(c_n);
     
    20842084      /* hzz contains the 1/lcm of all denominators in c_n_n->z*/
    20852085      /* h contains the 1/lcm of all denominators in c_n_n->n*/
    2086       number htmp=nlInvers(h,r->algring->cf);
    2087       number hzztmp=nlInvers(hzz,r->algring->cf);
    2088       number hh=nlMult(hzz,h,r->algring->cf);
    2089       nlDelete(&hzz,r->algring->cf);
    2090       nlDelete(&h,r->algring->cf);
    2091       number hg=nlGcd(hzztmp,htmp,r->algring->cf);
    2092       nlDelete(&hzztmp,r->algring->cf);
    2093       nlDelete(&htmp,r->algring->cf);
    2094       h=nlMult(hh,hg,r->algring->cf);
    2095       nlDelete(&hg,r->algring->cf);
    2096       nlDelete(&hh,r->algring->cf);
    2097       nlNormalize(h,r->algring->cf);
    2098       if(!nlIsOne(h,r->algring->cf))
     2086      number htmp=nlInvers(h,r->extRing->cf);
     2087      number hzztmp=nlInvers(hzz,r->extRing->cf);
     2088      number hh=nlMult(hzz,h,r->extRing->cf);
     2089      nlDelete(&hzz,r->extRing->cf);
     2090      nlDelete(&h,r->extRing->cf);
     2091      number hg=nlGcd(hzztmp,htmp,r->extRing->cf);
     2092      nlDelete(&hzztmp,r->extRing->cf);
     2093      nlDelete(&htmp,r->extRing->cf);
     2094      h=nlMult(hh,hg,r->extRing->cf);
     2095      nlDelete(&hg,r->extRing->cf);
     2096      nlDelete(&hh,r->extRing->cf);
     2097      nlNormalize(h,r->extRing->cf);
     2098      if(!nlIsOne(h,r->extRing->cf))
    20992099      {
    21002100        p=ph;
     
    21052105          while (c_n!=NULL)
    21062106          { // each monom: coeff in Q
    2107             d=nlMult(h,pGetCoeff(c_n),r->algring->cf);
    2108             nlNormalize(d,r->algring->cf);
    2109             nlDelete(&pGetCoeff(c_n),r->algring->cf);
     2107            d=nlMult(h,pGetCoeff(c_n),r->extRing->cf);
     2108            nlNormalize(d,r->extRing->cf);
     2109            nlDelete(&pGetCoeff(c_n),r->extRing->cf);
    21102110            pGetCoeff(c_n)=d;
    21112111            pIter(c_n);
     
    21142114          while (c_n!=NULL)
    21152115          { // each monom: coeff in Q
    2116             d=nlMult(h,pGetCoeff(c_n),r->algring->cf);
    2117             nlNormalize(d,r->algring->cf);
    2118             nlDelete(&pGetCoeff(c_n),r->algring->cf);
     2116            d=nlMult(h,pGetCoeff(c_n),r->extRing->cf);
     2117            nlNormalize(d,r->extRing->cf);
     2118            nlDelete(&pGetCoeff(c_n),r->extRing->cf);
    21192119            pGetCoeff(c_n)=d;
    21202120            pIter(c_n);
     
    21232123        }
    21242124      }
    2125       nlDelete(&h,r->algring->cf);
     2125      nlDelete(&h,r->extRing->cf);
    21262126      #endif
    21272127    }
     
    34523452              lnumber c=(lnumber)pGetCoeff(qq);
    34533453              if (c->z->next==NULL)
    3454                 p_AddExp(c->z,-perm[i],e/*p_GetExp( p,i,oldRing)*/,dst->algring);
     3454                p_AddExp(c->z,-perm[i],e/*p_GetExp( p,i,oldRing)*/,dst->extRing);
    34553455              else /* more difficult: we have really to multiply: */
    34563456              {
    34573457                lnumber mmc=(lnumber)naInit(1,dst);
    3458                 p_SetExp(mmc->z,-perm[i],e/*p_GetExp( p,i,oldRing)*/,dst->algring);
    3459                 p_Setm(mmc->z,dst->algring->cf);
     3458                p_SetExp(mmc->z,-perm[i],e/*p_GetExp( p,i,oldRing)*/,dst->extRing);
     3459                p_Setm(mmc->z,dst->extRing->cf);
    34603460                pGetCoeff(qq)=n_Mult((number)c,(number)mmc,dst->cf);
    34613461                n_Delete((number *)&c,dst->cf);
  • libpolys/polys/monomials/ring.cc

    r5a4b26 r6ccdd3a  
    13881388
    13891389/*
    1390   if (r->algring!=NULL)
    1391     r->algring->ref++;
     1390  if (r->extRing!=NULL)
     1391    r->extRing->ref++;
    13921392 
    1393   res->algring=r->algring; 
     1393  res->extRing=r->extRing; 
    13941394  //memset: res->minideal=NULL;
    13951395*/
     
    15361536  {
    15371537    if ( rMinpolyIsNULL(r2) ) return FALSE;
    1538     if (! p_EqualPolys(r1->cf->algring->minideal->m[0],
    1539                   r2->cf->algring->minideal->m[0],
    1540                   r1->cf->algring))
     1538    if (! p_EqualPolys(r1->cf->extRing->minideal->m[0],
     1539                  r2->cf->extRing->minideal->m[0],
     1540                  r1->cf->extRing))
    15411541      return FALSE;
    15421542  }
     
    19651965
    19661966  if (!rMinpolyIsNULL(r))
    1967     omCheckAddr(r->cf->algring->minideal->m[0]);
     1967    omCheckAddr(r->cf->extRing->minideal->m[0]);
    19681968
    19691969  //assume(r->cf!=NULL);
     
    53725372  if( rField_is_Extension(r) )
    53735373  {
    5374     const ring R = C->algring;
     5374    const ring R = C->extRing;
    53755375    assume( R != NULL );
    53765376    return idIs0(R->minideal);
  • libpolys/polys/monomials/ring.h

    r5a4b26 r6ccdd3a  
    544544  if( rField_is_Extension(r) )
    545545  {
    546     const ring R = C->algring;
     546    const ring R = C->extRing;
    547547    assume( R != NULL );
    548548    return rVar( R );
     
    561561  if( rField_is_Extension(r) )
    562562  {
    563     const ring R = C->algring;
     563    const ring R = C->extRing;
    564564    assume( R != NULL );
    565565    return R->names;
  • libpolys/tests/polys_test.h

    r5a4b26 r6ccdd3a  
    563563    TS_ASSERT(type == n_algExt);
    564564
    565     ExtInfo extParam;
     565    AlgExtInfo extParam;
    566566    extParam.r = r;
    567567    extParam.i = minIdeal;
     
    619619   
    620620    poly u;
    621     u = NULL; plusTerm(u, 1, 1, 1, cf->algring);
    622     plusTerm(u, 1, 1, 0, cf->algring);  // a + 1
    623     checkInverse((number)u, cf); p_Delete(&u, cf->algring);
    624     u = NULL; plusTerm(u, 1, 1, 1, cf->algring);
    625     plusTerm(u, -1, 1, 0, cf->algring); // a - 1
    626     checkInverse((number)u, cf); p_Delete(&u, cf->algring);
    627     u = NULL; plusTerm(u, 1, 1, 1, cf->algring);
    628     plusTerm(u, 5, 1, 0, cf->algring);  // a + 5
    629     checkInverse((number)u, cf); p_Delete(&u, cf->algring);
    630     u = NULL; plusTerm(u, 1, 1, 1, cf->algring);
    631     plusTerm(u, -5, 1, 0, cf->algring); // a - 5
    632     checkInverse((number)u, cf); p_Delete(&u, cf->algring);
    633     u = NULL; plusTerm(u, 17, 1, 1, cf->algring);
    634     plusTerm(u, 5, 1, 0, cf->algring); // 17a + 5
    635     checkInverse((number)u, cf); p_Delete(&u, cf->algring);
     621    u = NULL; plusTerm(u, 1, 1, 1, cf->extRing);
     622    plusTerm(u, 1, 1, 0, cf->extRing);  // a + 1
     623    checkInverse((number)u, cf); p_Delete(&u, cf->extRing);
     624    u = NULL; plusTerm(u, 1, 1, 1, cf->extRing);
     625    plusTerm(u, -1, 1, 0, cf->extRing); // a - 1
     626    checkInverse((number)u, cf); p_Delete(&u, cf->extRing);
     627    u = NULL; plusTerm(u, 1, 1, 1, cf->extRing);
     628    plusTerm(u, 5, 1, 0, cf->extRing);  // a + 5
     629    checkInverse((number)u, cf); p_Delete(&u, cf->extRing);
     630    u = NULL; plusTerm(u, 1, 1, 1, cf->extRing);
     631    plusTerm(u, -5, 1, 0, cf->extRing); // a - 5
     632    checkInverse((number)u, cf); p_Delete(&u, cf->extRing);
     633    u = NULL; plusTerm(u, 17, 1, 1, cf->extRing);
     634    plusTerm(u, 5, 1, 0, cf->extRing); // 17a + 5
     635    checkInverse((number)u, cf); p_Delete(&u, cf->extRing);
    636636
    637637    rDelete(s); // kills 'cf' and 'r' as well
     
    664664    TS_ASSERT(type == n_algExt);
    665665
    666     ExtInfo extParam;
     666    AlgExtInfo extParam;
    667667    extParam.r = r;
    668668    extParam.i = minIdeal;
     
    720720         
    721721    poly u;
    722     u = NULL; plusTerm(u, 1, 1, 2, cf->algring);
    723     plusTerm(u, 33, 1, 0, cf->algring);     // b^2 + 33
    724     checkInverse((number)u, cf); p_Delete(&u, cf->algring);
    725     u = NULL; plusTerm(u, 1, 1, 5, cf->algring);
    726     plusTerm(u, -137, 1, 0, cf->algring);   // b^5 - 137
    727     checkInverse((number)u, cf); p_Delete(&u, cf->algring);
     722    u = NULL; plusTerm(u, 1, 1, 2, cf->extRing);
     723    plusTerm(u, 33, 1, 0, cf->extRing);     // b^2 + 33
     724    checkInverse((number)u, cf); p_Delete(&u, cf->extRing);
     725    u = NULL; plusTerm(u, 1, 1, 5, cf->extRing);
     726    plusTerm(u, -137, 1, 0, cf->extRing);   // b^5 - 137
     727    checkInverse((number)u, cf); p_Delete(&u, cf->extRing);
    728728
    729729    clog << endl
     
    732732   
    733733    poly v;
    734     v = NULL; plusTerm(v, 1, 1, 2, cf->algring);
    735     plusTerm(v, 7, 1, 1, cf->algring);
    736     plusTerm(v, 1, 1, 0, cf->algring);            // b^2 + 7b + 1
     734    v = NULL; plusTerm(v, 1, 1, 2, cf->extRing);
     735    plusTerm(v, 7, 1, 1, cf->extRing);
     736    plusTerm(v, 1, 1, 0, cf->extRing);            // b^2 + 7b + 1
    737737    number w = n_Mult((number)v, (number)v, cf);  // (b^2 + 7b + 1)^2
    738738    number y = n_Mult((number)v, (number)w, cf);  // (b^2 + 7b + 1)^3
    739     p_Delete(&v, cf->algring);
    740     v = NULL; plusTerm(v, 2, 1, 2, cf->algring);
    741     plusTerm(v, -61, 1, 1, cf->algring);          // 2b^2 - 61b
     739    p_Delete(&v, cf->extRing);
     740    v = NULL; plusTerm(v, 2, 1, 2, cf->extRing);
     741    plusTerm(v, -61, 1, 1, cf->extRing);          // 2b^2 - 61b
    742742    number z = n_Mult((number)w,
    743743                      (number)v, cf);   // (b^2 + 7b + 1)^2 * (2b^2 - 61b)
    744     p_Delete(&v, cf->algring);
    745    
    746     clog << "z = "; p_Write((poly)z, cf->algring);
    747     clog << "y = "; p_Write((poly)y, cf->algring);
     744    p_Delete(&v, cf->extRing);
     745   
     746    clog << "z = "; p_Write((poly)z, cf->extRing);
     747    clog << "y = "; p_Write((poly)y, cf->extRing);
    748748    number theGcd = n_Gcd(z, y, cf);   // should yield w = (b^2 + 7b + 1)^2
    749     clog << "gcd(z, y) = "; p_Write((poly)theGcd, cf->algring);
     749    clog << "gcd(z, y) = "; p_Write((poly)theGcd, cf->extRing);
    750750   
    751751    v = (poly)n_Sub(theGcd, w, cf);
    752752    TS_ASSERT( v == NULL );
    753     p_Delete(&v, cf->algring);
     753    p_Delete(&v, cf->extRing);
    754754   
    755755    clog << endl
     
    758758         
    759759    poly zFactor; poly yFactor;
    760     poly ppp = p_ExtGcd((poly)z, zFactor, (poly)y, yFactor, cf->algring);
     760    poly ppp = p_ExtGcd((poly)z, zFactor, (poly)y, yFactor, cf->extRing);
    761761    v = (poly)n_Sub(theGcd, (number)ppp, cf);
    762762    TS_ASSERT( v == NULL );
    763     clog << "z = "; p_Write((poly)z, cf->algring);
    764     clog << "zFactor = "; p_Write(zFactor, cf->algring);
    765     clog << "y = "; p_Write((poly)y, cf->algring);
    766     clog << "yFactor = "; p_Write((poly)yFactor, cf->algring);
     763    clog << "z = "; p_Write((poly)z, cf->extRing);
     764    clog << "zFactor = "; p_Write(zFactor, cf->extRing);
     765    clog << "y = "; p_Write((poly)y, cf->extRing);
     766    clog << "yFactor = "; p_Write((poly)yFactor, cf->extRing);
    767767    number v1 = n_Mult(z, (number)zFactor, cf);
    768768    number v2 = n_Mult(y, (number)yFactor, cf);
    769769    number v3 = n_Add(v1, v2, cf);
    770     clog << "z * zFactor + y * yFactor = "; p_Write((poly)v3, cf->algring);
    771     clog << "gcd(z, y) = "; p_Write(ppp, cf->algring);
     770    clog << "z * zFactor + y * yFactor = "; p_Write((poly)v3, cf->extRing);
     771    clog << "gcd(z, y) = "; p_Write(ppp, cf->extRing);
    772772    number v4 = n_Sub(v3, w, cf);
    773773    TS_ASSERT( v4 == NULL );
    774774   
    775     p_Delete(&ppp, cf->algring); p_Delete(&zFactor, cf->algring);
    776     p_Delete(&yFactor, cf->algring);
     775    p_Delete(&ppp, cf->extRing); p_Delete(&zFactor, cf->extRing);
     776    p_Delete(&yFactor, cf->extRing);
    777777    n_Delete(&z, cf); n_Delete(&y, cf); n_Delete(&w, cf);
    778     n_Delete(&theGcd, cf); p_Delete(&v, cf->algring); n_Delete(&v1, cf);
     778    n_Delete(&theGcd, cf); p_Delete(&v, cf->extRing); n_Delete(&v1, cf);
    779779    n_Delete(&v2, cf); n_Delete(&v3, cf); n_Delete(&v4, cf);
    780780
     
    808808    TS_ASSERT(type == n_algExt);
    809809
    810     ExtInfo extParam;
     810    AlgExtInfo extParam;
    811811    extParam.r = r;
    812812    extParam.i = minIdeal;
Note: See TracChangeset for help on using the changeset viewer.