Changeset 9d68fd in git for Singular/maps_ip.cc


Ignore:
Timestamp:
Feb 25, 2013, 3:35:27 PM (11 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'b4f17ed1d25f93d46dbe29e4b499baecc2fd51bb')
Children:
1c94e44b6b2645f28d5bc81b7b3facc71b2b582d
Parents:
27c79fcbc083eb57ec1345d22a6892cf162f017b
Message:
fix: better tests and normalization for subst
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/maps_ip.cc

    r27c79f r9d68fd  
    8282        if (nCoeff_is_Extension(currRing->cf))
    8383          res->data=(void *)p_MinPolyNormalize((poly)res->data, currRing);
    84         pTest((poly) res->data);       
     84        pTest((poly) res->data);
    8585      }
    8686      else
    8787      {
    88         assume( nMap != NULL );
    89          
    90         number a = nMap((number)data, preimage_r->cf, currRing->cf);
    91        
    92  
     88        assume( nMap != NULL );
     89
     90        number a = nMap((number)data, preimage_r->cf, currRing->cf);
     91
     92
    9393        if (nCoeff_is_Extension(currRing->cf))
    9494        {
     
    9696/*
    9797          number a = (number)res->data;
    98           number one = nInit(1);
     98          number one = nInit(1);
    9999          number product = nMult(a, one );
    100           nDelete(&one);
    101           nDelete(&a);
     100          nDelete(&one);
     101          nDelete(&a);
    102102          res->data=(void *)product;
    103103 */
     
    119119      else /*if (what==MAP_CMD)*/
    120120      {
     121        p_Test((poly)data,preimage_r);
    121122        matrix s=mpNew(N,maMaxDeg_P((poly)data, preimage_r));
    122123        res->data=(void *)maEval(theMap, (poly)data, preimage_r, nMap, (ideal)s, currRing);
     
    157158        {
    158159          m->m[i]=p_PermPoly(((ideal)data)->m[i],perm,preimage_r,currRing,
    159                           nMap,par_perm,P);
     160                          nMap,par_perm,P);
    160161          pTest(m->m[i]);
    161162        }
     
    247248    else
    248249      theMapI->m[i-1] = p_Copy(image, currRing);
    249   }
    250 
     250    p_Test(theMapI->m[i-1],currRing);
     251  }
     252  //iiWriteMatrix((matrix)theMapI,"map:",1,currRing,0);
    251253
    252254  map theMap=(map)theMapI;
     
    257259  poly res=NULL;
    258260
     261  p_Normalize(p,currRing);
    259262  while (p!=NULL)
    260263  {
     
    265268
    266269    if ( n_IsOne (d, currRing->cf) )
    267     {     
     270    {
    268271      n_Delete(&d, currRing); d = NULL;
    269     }     
     272    }
    270273    else if (!p_IsConstant((poly)NUM(d), R))
    271     {   
     274    {
    272275      WarnS("ignoring denominators of coefficients...");
    273276      n_Delete(&d, currRing); d = NULL;
    274     }     
     277    }
    275278
    276279    number num = n_GetNumerator(p_GetCoeff(p, currRing), currRing);
     
    281284    tmpW.data = NUM (num); // a copy of this poly will be used
    282285
     286    p_Normalize(NUM(num),R);
    283287    if (maApplyFetch(MAP_CMD,theMap,v,&tmpW,R,NULL,NULL,0,nMap))
    284288    {
     
    364368    leftv v=(leftv)omAlloc0Bin(sleftv_bin);
    365369    if (maApplyFetch(MAP_CMD,theMap,v,&tmpW,currRing,NULL,NULL,0,
    366                             n_SetMap(currRing->cf, currRing->cf)))
     370                            n_SetMap(currRing->cf, currRing->cf)))
    367371    {
    368372      WerrorS("map failed");
     
    407411  tmpW.data=id;
    408412  if (maApplyFetch(MAP_CMD,theMap,v,&tmpW,currRing,NULL,NULL,0,
    409                           n_SetMap(currRing->cf, currRing->cf)))
     413                          n_SetMap(currRing->cf, currRing->cf)))
    410414  {
    411415    WerrorS("map failed");
Note: See TracChangeset for help on using the changeset viewer.