Changeset c06ecc in git


Ignore:
Timestamp:
Oct 15, 2014, 6:31:01 PM (10 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
2ce9848f1ee079e74077e0d40f8e3680757066cf2f4dd5a87dcf29d41537f40a475736e40e368990
Parents:
18f7ec4086c8cf26381fcff05f5d5583122db84d9816f392b7b239b26d4d6f3758f36db684ebdb07
Message:
Merge pull request #654 from surface-smoothers/fix.primdec.isSBproperty

fixed one more isSB property issue
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/linalg.lib

    r9816f3 rc06ecc  
    12511251static proc rowcolswap(matrix M,int i,int j)
    12521252{
     1253  if(system("with","eigenval"))
     1254  {
     1255    return(system("rowcolswap",M,i,j));
     1256  }
     1257  //--------------------------------------------
    12531258  if(i==j)
    12541259  {
     
    12741279static proc rowelim(matrix M,int i,int j,int k)
    12751280{
     1281  if(system("with","eigenval"))
     1282  {
     1283    return(system("rowelim",M,i,j,k));
     1284  }
     1285  // -----------------------
    12761286  if(jet(M[i,k],0)==0||jet(M[j,k],0)==0)
    12771287  {
     
    14911501RETURN:  list l:
    14921502            l[1] an ideal, the generators of a; sorted and with multiple entries displayed only once@*
    1493             l[2] and intvec, l[2][i] provides the multiplicity of l[1][i]
     1503            l[2] an intvec, l[2][i] provides the multiplicity of l[1][i]
    14941504EXAMPLE: example spnf; shows examples
    14951505"
  • Singular/LIB/primdec.lib

    r18f7ec rc06ecc  
    86658665        helpprim=@lh[2];
    86668666        lres0[1]=primary[2*@k-1];
     8667        attrib(lres0[1],"isSB",1);
    86678668        ser1=psi(helpprim);
    86688669        lres0[2]=psi1(ser1);
  • Singular/dyn_modules/syzextra/syzextra.cc

    r9816f3 rc06ecc  
    9797  //return -( compare (c, qsorts) )
    9898
    99 #ifndef NDEBUG
     99#ifndef SING_NDEBUG
    100100  const int __DEBUG__ = 0;
    101101  if( __DEBUG__ )
     
    126126  assume( iDegDiff == 0 );
    127127
    128 #ifndef NDEBUG
     128#ifndef SING_NDEBUG
    129129  if( __DEBUG__ )
    130130  {
     
    170170  assume( p_GetComp(b, r) == 0 );
    171171
    172 #ifndef NDEBUG
     172#ifndef SING_NDEBUG
    173173  const int __DEBUG__ = 0;
    174174  if( __DEBUG__ )
     
    492492        if( (p_GetExp(p, var, r) != 0) && (p_GetExp(t, var, r) != 0) )
    493493        {
    494 #ifndef NDEBUG
     494#ifndef SING_NDEBUG
    495495          if( __DEBUG__ | 0)
    496496          {
     
    512512        coprime = ( syzChecker.IsDivisible(ss) );
    513513
    514 #ifndef NDEBUG
     514#ifndef SING_NDEBUG
    515515        if( __DEBUG__ && !coprime)
    516516        {
     
    525525    }
    526526
    527 #ifndef NDEBUG
     527#ifndef SING_NDEBUG
    528528    if( __DEBUG__ && coprime )
    529529      PrintS("CReducerFinder::PreProcessTerm, the following 't' is 'co-prime' with all of leading terms! \n");
     
    546546  const ring r = m_rBaseRing;
    547547
    548 #ifndef NDEBUG
     548#ifndef SING_NDEBUG
    549549  if( __DEBUG__ | 0)
    550550  {
     
    563563      assume( 0 <= k && k <= 3 );
    564564
    565 #ifndef NDEBUG
     565#ifndef SING_NDEBUG
    566566      pp[k]++;
    567567#endif
     
    569569      if( k )
    570570      {
    571 #ifndef NDEBUG
     571#ifndef SING_NDEBUG
    572572        if( __DEBUG__)
    573573        {
     
    584584    }
    585585
    586 #ifndef NDEBUG
     586#ifndef SING_NDEBUG
    587587  if( !__TREEOUTPUT__ )
    588588  if( TEST_OPT_PROT | 1)
     
    590590#endif
    591591
    592 #ifndef NDEBUG
     592#ifndef SING_NDEBUG
    593593  if( !__TREEOUTPUT__ )
    594594  if( __DEBUG__ | 0)
     
    971971
    972972  assume( IDELEMS(L) == IDELEMS(T) );
    973 #ifndef NDEBUG
     973#ifndef SING_NDEBUG
    974974  int t, r;
    975975#endif
     
    982982  if( m_syzLeads == NULL )
    983983  {
    984 #ifndef NDEBUG
     984#ifndef SING_NDEBUG
    985985    if( !__TREEOUTPUT__ )
    986986    if( TEST_OPT_PROT | 1)
     
    991991#endif
    992992    ComputeLeadingSyzygyTerms( __LEAD2SYZ__ && !__IGNORETAILS__ ); // 2 terms OR 1 term!
    993 #ifndef NDEBUG
     993#ifndef SING_NDEBUG
    994994    if( !__TREEOUTPUT__ )
    995995    if( TEST_OPT_PROT | 1)
     
    10231023    if( T != NULL )
    10241024    {
    1025 #ifndef NDEBUG
     1025#ifndef SING_NDEBUG
    10261026      if( !__TREEOUTPUT__ )
    10271027      if( TEST_OPT_PROT | 1 )
     
    10331033
    10341034      SetUpTailTerms();
    1035 #ifndef NDEBUG
     1035#ifndef SING_NDEBUG
    10361036      if( !__TREEOUTPUT__ )
    10371037      if( TEST_OPT_PROT | 1)
     
    10441044  }
    10451045
    1046 #ifndef NDEBUG
     1046#ifndef SING_NDEBUG
    10471047  if( !__TREEOUTPUT__ )
    10481048  if( TEST_OPT_PROT | 1)
     
    10831083  }
    10841084
    1085 #ifndef NDEBUG
     1085#ifndef SING_NDEBUG
    10861086  if( !__TREEOUTPUT__ )
    10871087  if( TEST_OPT_PROT | 1)
     
    11281128    m_LS = m_syzLeads;
    11291129    m_checker.Initialize(m_syzLeads);
    1130 #ifndef NDEBUG
     1130#ifndef SING_NDEBUG
    11311131    if( __DEBUG__ )
    11321132    {
     
    15431543
    15441544SchreyerSyzygyComputationFlags::SchreyerSyzygyComputationFlags(idhdl rootRingHdl):
    1545 #ifndef NDEBUG
     1545#ifndef SING_NDEBUG
    15461546     __DEBUG__( atGetInt(rootRingHdl,"DEBUG", 0) ),
    15471547#else
     
    15571557    m_rBaseRing( rootRingHdl->data.uring )
    15581558{
    1559 #ifndef NDEBUG
     1559#ifndef SING_NDEBUG
    15601560  if( __DEBUG__ )
    15611561  {
     
    17921792        if( Current().DivisibilityCheck(m_product, m_not_sev, m_rBaseRing) )
    17931793        {
    1794 #ifndef NDEBUG
     1794#ifndef SING_NDEBUG
    17951795          if( __DEBUG__ )
    17961796          {
     
    18611861
    18621862
    1863 #ifndef NDEBUG
     1863#ifndef SING_NDEBUG
    18641864void CReducerFinder::DebugPrint() const
    18651865{
     
    19671967        if( Current().DivisibilityCheck(m_multiplier, m_term, m_not_sev, m_rBaseRing) )
    19681968        {
    1969 #ifndef NDEBUG
     1969#ifndef SING_NDEBUG
    19701970          if( __DEBUG__ )
    19711971          {
     
    20522052      if (p_ExpVectorEqual(syzterm, q, r))
    20532053      {
    2054 #ifndef NDEBUG
     2054#ifndef SING_NDEBUG
    20552055        if( __DEBUG__ )
    20562056        {
     
    20652065    if( to_check && syz_checker.IsDivisible(q) )
    20662066    {
    2067 #ifndef NDEBUG
     2067#ifndef SING_NDEBUG
    20682068      if( __DEBUG__ )
    20692069      {
     
    22292229      if (p_ExpVectorEqual(syzterm, q, r))
    22302230      {
    2231 #ifndef NDEBUG
     2231#ifndef SING_NDEBUG
    22322232        if( __DEBUG__ )
    22332233        {
     
    22422242    if( to_check && syz_checker.IsDivisible(q) )
    22432243    {
    2244 #ifndef NDEBUG
     2244#ifndef SING_NDEBUG
    22452245      if( __DEBUG__ )
    22462246      {
  • Singular/dyn_modules/syzextra/syzextra.h

    r9816f3 rc06ecc  
    178178    poly FindReducer(const poly multiplier, const poly monom, const poly syzterm, const CReducerFinder& checker) const;
    179179
    180 #ifndef NDEBUG
     180#ifndef SING_NDEBUG
    181181    void DebugPrint() const;
    182182#endif
  • Singular/eigenval_ip.cc

    r9816f3 rc06ecc  
    6060    if(h&&h->Typ()==MATRIX_CMD)
    6161    {
    62       matrix M=(matrix)h->Data();
     62      matrix M=(matrix)h->CopyD();
    6363      h=h->next;
    6464      if(h&&h->Typ()==INT_CMD)
     
    7474            int k=(int)(long)h->Data();
    7575            res->rtyp=MATRIX_CMD;
    76             res->data=(void *)evRowElim(mp_Copy(M, currRing),i,j,k);
     76            res->data=(void *)evRowElim(M,i,j,k);
    7777            return FALSE;
    7878          }
     
    148148  }
    149149
    150   M=evHessenberg((matrix)id_Jet((ideal)M,0,currRing));
    151 
    152   int n=MATROWS(M);
     150  M=evHessenberg(M);
     151
     152  int n=MATCOLS(M);
    153153  ideal e=idInit(n,1);
    154154  intvec *m=new intvec(n);
     
    181181
    182182      intvec *m0;
    183       ideal e0=singclap_factorize(mp_DetBareiss(M,currRing),&m0,2, currRing);
     183      ideal e0=singclap_factorize(mp_DetBareiss(M0,currRing),&m0,2, currRing);
    184184      if (e0==NULL)
    185185      {
     
    199199           pNext(pNext(e0->m[i]))==NULL)
    200200        {
    201           number e1=nInpNeg(nCopy(pGetCoeff(e0->m[i])));
     201          number e1=nCopy(pGetCoeff(e0->m[i]));
     202          e1=nInpNeg(e1);
    202203          if(pGetExp(pNext(e0->m[i]),1)==0)
    203204            e->m[k]=pNSet(nDiv(pGetCoeff(pNext(e0->m[i])),e1));
     
    293294    if(h&&h->Typ()==MATRIX_CMD)
    294295    {
    295       matrix M=(matrix)h->Data();
     296      matrix M=(matrix)h->CopyD();
    296297      res->rtyp=LIST_CMD;
    297       res->data=(void *)evEigenvals(mp_Copy(M, currRing));
     298      res->data=(void *)evEigenvals(M);
    298299      return FALSE;
    299300    }
  • Singular/extra.cc

    r9816f3 rc06ecc  
    10991099    {
    11001100      return evEigenvals(res,h);
     1101    }
     1102    else
     1103  #endif
     1104  /*==================== rowelim ==================================*/
     1105  #ifdef HAVE_EIGENVAL
     1106    if(strcmp(sys_cmd,"rowelim")==0)
     1107    {
     1108      return evRowElim(res,h);
     1109    }
     1110    else
     1111  #endif
     1112  /*==================== rowcolswap ==================================*/
     1113  #ifdef HAVE_EIGENVAL
     1114    if(strcmp(sys_cmd,"rowcolswap")==0)
     1115    {
     1116      return evSwap(res,h);
    11011117    }
    11021118    else
  • Singular/gms.cc

    r9816f3 rc06ecc  
    4646        pSetm(m);
    4747        for(int i=0;i<MATROWS(B);i++)
    48         {
     48        {
    4949          poly m0=pDiff(m,i+2);
    5050          if(MATELEM(B0,i+1,j+1)!=NULL)
     
    6868        int i=pGetExp(p->m[k],1);
    6969        do
    70         {
     70        {
    7171          poly p0=p->m[k];
    7272          pIter(p->m[k]);
     
    106106    if(h&&h->Typ()==IDEAL_CMD)
    107107    {
    108       ideal p=(ideal)h->Data();
     108      ideal p=(ideal)h->CopyD();
    109109      h=h->next;
    110110      if(h&&h->Typ()==IDEAL_CMD)
     
    124124              int K=(int)(long)h->Data();
    125125              res->rtyp=LIST_CMD;
    126               res->data=(void *)gmsNF(idCopy(p),g,B,D,K);
     126              res->data=(void *)gmsNF(p,g,B,D,K);
    127127              return FALSE;
    128             }
    129           }
     128            }
     129          }
    130130        }
    131131      }
  • Tst/Short/bug_primdec.res.gz.uu

    r18f7ec rc06ecc  
    11begin 644 bug_primdec.res.gz
    2 M'XL("(F'/SH``V)U9U]P<FEM9&5C+G)E<P!-D$%+PT`0A>_Y%8_B(3&)-+NQ
    3 MUI8L*%X*XJ7>)"EI$V0AU>WN"MG]]4Y)[7I[,]][,\-LWU\V;P`*@=?-,V9*
    4 MRV/7'^X&N9^MH^V%,@$MOSX!C0J<S><\B\?,93[).A5L7$!]#PY09/,L+0(J
    5 M_]#IC,J4!70O(+N^'2`)J8;=GAH:[W+/D[,8<^=37R9-&2(+@4$:"Z4IH7O5
    6 MZO[)F%@FP?)`"_4Z^BCJ543ECD0U3HK5E6,I365T(YMZO*X\S]TUOKS\PQH[
    7 9_0*D=L:V]L?$Q;\]CP(WT2^@-57&1@$`````
     2M'XL("(.8/E0``V)U9U]P<FEM9&5C+G)E<P"E4VUKVS`0_IY?<81!_1;/DIPF
     3M:XAA8V,$MC%H/VTD18U%:_!;)=FU7?;?=XI3:X-M7R8POM,]]]QQS^GZYOWN
     4M"P"0!#[MWL&\EEF1BF.89W?SS>SZ'*4)R*R\!Y"P!4:CB`5.%_3!X`9I;6$L
     5M@;K*>X`:80/UB0W%+Z%'$XI]:D/+!+)4\!PR#-4'ZCT>D+Y?#,PU1K?H!W^(
     6MW4-L4RX3R#.EH9:8(47-I7BKE).Y%K+"@G(S^T[V5S-T;]'8=J-%]]N>^LA*
     7ML4<ZWK']=F"+?DI?)S#9;T)X_9_GA8M$A@NTP.;U`]=0E0**2@JXR!24%2C-
     8MRY3+%.ZXRM0%/'%9FLEC]-Y@^1.?FB0D!-4K+0IG+C&M*N8!B9=T':W8Y<K.
     9M@E`SB^H(9W$_9Z71XD/'BSH7CCOA6`C/DQ.'8,Y)=XG?%IQ5T+;N6?F@^4U[
     10M<CG"BY$;T="V!^JWK<\L:#V"1KEWAG+!O+9=$-=K$$P#ZG7>X#O47%+7ZT;3
     11M)U@5?^8&]Z.9;KUA=+$M;S`44RD:C:5.:R*%:G*-Y;`[W)./-]_`V=GY4!K"
     12MC\EA5GD:G]3*RJ,47`DX\CR'5-3ZX6J"+,-QMD;2KW^>+\#S:9)"-[)T_J8"
     13MN!L$V3YPQ__!:9M?_=(OSG>R<6M/+UHK/;YF0.L6]TLWRB&6@$4)O)K]!!$'
     14&7*T(!```
    815`
    916end
  • Tst/Short/bug_primdec.tst

    r18f7ec rc06ecc  
    66list pr= prepareAss(i);
    77pr;
     8
     9////////////////////////////////////////////////////////////////
     10// test that one more 'is no standard basis' warning is gone away
     11system("random",1452807367);
     12proc primdecMinpolyExample()
     13{
     14    ring rng = (7,vv),(x,y,z,u),dp;
     15    minpoly =  vv^2+vv+3;
     16    ideal I = (-3*vv-1)*u^2+2,2*x*z+(2*vv-2)*x+(2*vv+1),(vv+2)*x^2*u+(2*vv+1)*z^2*u+(vv)*z*u^2;
     17    list result = minAssGTZ (I);
     18}
     19
     20// increase call depth:
     21proc testPrimdecMinpolyExample()  {    return( primdecMinpolyExample() );   }
     22testPrimdecMinpolyExample();
     23
     24
    825LIB "tst.lib"; tst_status(1);
    926$
  • kernel/GBEngine/tgbgauss.cc

    r9816f3 rc06ecc  
    430430        if(!(mat->is_zero_entry(i,col)))
    431431        {
    432           number c1=nInpNeg(nCopy(mat->get(i,col)));
     432          number c1=nCopy(mat->get(i,col));
     433          c1=nInpNeg(c1);
    433434          number c2=mat->get(row,col);
    434435          number n1=c1;
  • kernel/linear_algebra/eigenval.cc

    r9816f3 rc06ecc  
    1414
    1515#include <kernel/structs.h>
    16 //#include "ipid.h"
    1716#include <misc/intvec.h>
    1817#include <coeffs/numbers.h>
    1918#include <kernel/polys.h>
    2019#include <kernel/ideals.h>
    21 //#include "lists.h"
    2220#include <polys/matpol.h>
    2321#include <polys/clapsing.h>
     
    5149  if(MATELEM(M,i,k)==NULL||MATELEM(M,j,k)==NULL)
    5250    return(M);
     51  poly p1=pp_Jet(MATELEM(M,i,k),0,currRing);
     52  poly p2=pp_Jet(MATELEM(M,j,k),0,currRing);
     53  if ((p1==NULL)||(p2==NULL)) return (M);
    5354
    54   poly p=pNSet(nDiv(pGetCoeff(MATELEM(M,i,k)),pGetCoeff(MATELEM(M,j,k))));
     55  poly p=pNSet(nDiv(pGetCoeff(p1),pGetCoeff(p2)));
    5556  pNormalize(p);
    5657
     
    6768
    6869  pDelete(&p);
     70  pDelete(&p1);
     71  pDelete(&p2);
    6972
    7073  return(M);
     
    103106  for(int k=1,j=2;k<n-1;k++,j=k+1)
    104107  {
    105     while(j<=n&&MATELEM(M,j,k)==NULL)
     108    while((j<=n)
     109    &&((MATELEM(M,j,k)==NULL)
     110      || (p_Totaldegree(MATELEM(M,j,k),currRing)!=0)))
    106111      j++;
    107112
  • kernel/mod2.h

    r9816f3 rc06ecc  
    4747
    4848/* eigenvalues */
    49 /*#define HAVE_EIGENVAL 1*/
     49#define HAVE_EIGENVAL 1
    5050
    5151/* Gauss-Manin system */
    52 /*#define HAVE_GMS 1*/
     52#define HAVE_GMS 1
    5353
    5454/* include simpleipc/semaphore code, link against librt/libpthread */
Note: See TracChangeset for help on using the changeset viewer.