Changeset 459e064 in git


Ignore:
Timestamp:
Feb 26, 2018, 3:46:05 PM (5 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a657104b677b4c461d018cbf3204d72d34ad66a9')
Children:
e291c5383cb0341d11be4215318eafe97b5f25b7
Parents:
5c2b81e417a8c56e4aeebc480d5586e971b5fb5b
Message:
chg: eliminate(I,m,"alg")
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • Singular/iparith.cc

    r5c2b81 r459e064  
    56345634  mp_Monomials((matrix)res->data, rank, pVar((poly)v->Data()),(matrix)w->Data(),currRing);
    56355635  return FALSE;
     5636}
     5637static BOOLEAN jjELIMIN_ALG(leftv res, leftv u, leftv v, leftv w)
     5638{
     5639  GbVariant alg=syGetAlgorithm((char*)v->Data(),currRing,I);
     5640  res->data=(char *)idElimination((ideal)u->Data(),(poly)v->Data(),alg);
     5641  //setFlag(res,FLAG_STD);
     5642  return v->next!=NULL; //do not allow next like in eliminate(I,a(1..4))
    56365643}
    56375644static BOOLEAN jjELIMIN_HILB(leftv res, leftv u, leftv v, leftv w)
  • Singular/table.h

    r5c2b81 r459e064  
    759759,{D(jjELIMIN_HILB),    ELIMINATION_CMD,IDEAL_CMD, IDEAL_CMD, POLY_CMD, INTVEC_CMD, NO_PLURAL |ALLOW_RING}
    760760,{D(jjELIMIN_HILB),    ELIMINATION_CMD,MODUL_CMD, MODUL_CMD, POLY_CMD, INTVEC_CMD, NO_PLURAL |ALLOW_RING}
     761,{D(jjELIMIN_ALG),     ELIMINATION_CMD,IDEAL_CMD, IDEAL_CMD,  POLY_CMD, STRING_CMD, ALLOW_PLURAL |ALLOW_RING}
     762,{D(jjELIMIN_ALG),     ELIMINATION_CMD,MODUL_CMD, MODUL_CMD,  POLY_CMD, STRING_CMD, ALLOW_PLURAL |ALLOW_RING}
    761763,{D(jjFIND3),          FIND_CMD,   INT_CMD,    STRING_CMD, STRING_CMD, INT_CMD, ALLOW_PLURAL |ALLOW_RING}
    762764,{D(jjFRES3),          FRES_CMD,   RESOLUTION_CMD, IDEAL_CMD, INT_CMD, STRING_CMD, NO_PLURAL |NO_RING}
  • kernel/ideals.cc

    r5c2b81 r459e064  
    15721572* eliminate delVar (product of vars) in h1
    15731573*/
    1574 ideal idElimination (ideal h1,poly delVar,intvec *hilb)
     1574ideal idElimination (ideal h1,poly delVar,intvec *hilb, GbVariant alg)
    15751575{
    15761576  int    i,j=0,k,l;
     
    17771777  //extern char * showOption();
    17781778  //Print("%s\n",showOption());
    1779   hh = kStd(h,NULL,hom,&w,hilb);
     1779  if (alg==GbDefault) alg=GbStd;
     1780  if (alg==GbStd)
     1781  {
     1782    if (TEST_OPT_PROT) { PrintS("std:"); mflush(); }
     1783    hh = kStd(h,NULL,hom,&w,hilb);
     1784  }
     1785  else if (alg==GbSlimgb)
     1786  {
     1787    if (TEST_OPT_PROT) { PrintS("slimgb:"); mflush(); }
     1788    hh = t_rep_gb(currRing, h, 0);
     1789  }
     1790  else if (alg==GbGroebner)
     1791  {
     1792    if (TEST_OPT_PROT) { PrintS("groebner:"); mflush(); }
     1793    BOOLEAN err;
     1794    hh=(ideal)iiCallLibProc1("groebner",idCopy(h),MODUL_CMD,err);
     1795    if (err)
     1796    {
     1797      Werror("error %d in >>groebner<<",err);
     1798      hh=idInit(1,1);
     1799    }
     1800  }
     1801  else if (alg==GbModstd)
     1802  {
     1803    if (TEST_OPT_PROT) { PrintS("modstd:"); mflush(); }
     1804    BOOLEAN err;
     1805    void *args[]={idCopy(h),(void*)1,NULL};
     1806    int arg_t[]={IDEAL_CMD,INT_CMD,0};
     1807    hh=(ideal)iiCallLibProcM("modStd",args,arg_t,err);
     1808    if (err)
     1809    {
     1810      Werror("error %d in >>modStd<<",err);
     1811      hh=idInit(1,1);
     1812    }
     1813  }
     1814  else if (alg==GbSba)
     1815  {
     1816    if (TEST_OPT_PROT) { PrintS("sba:"); mflush(); }
     1817    hh = kSba(h,currRing->qideal,hom,&w,1,0,NULL);
     1818  }
     1819  else
     1820  {
     1821    hh=idInit(1,1);
     1822    Werror("wrong algorith %d for SB",(int)alg);
     1823  }
    17801824  //SI_RESTORE_OPT1(save1);
    17811825  idDelete(&h);
  • kernel/ideals.h

    r5c2b81 r459e064  
    154154
    155155//ideal   idElimination (ideal h1,poly delVar);
    156 ideal   idElimination (ideal h1,poly delVar, intvec *hilb=NULL);
     156ideal   idElimination (ideal h1,poly delVar, intvec *hilb=NULL, GbVariant a=GbDefault);
    157157
    158158#ifdef WITH_OLD_MINOR
Note: See TracChangeset for help on using the changeset viewer.