Changeset acfb434 in git


Ignore:
Timestamp:
Mar 12, 2021, 2:09:50 PM (2 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '91fdef05f09f54b8d58d92a472e9c4a43aa4656f')
Children:
0732b5d0bf1071123316c1301d6f92ab2e4cac3a14fb1bda29b68a3a94beabc02612639b98e12fbd
Parents:
0dd7e8bafbd1f4c71feb76c0c887ba2fbbc66ef73648b2bef793a083d375af65419598beca5015cd
git-author:
Hans Schoenemann <hannes@mathematik.uni-kl.de>2021-03-12 14:09:50+01:00
git-committer:
GitHub <noreply@github.com>2021-03-12 14:09:50+01:00
Message:
Merge pull request #1062 from zickgraf/liftstd5_fix

Fix liftstd with 5 arguments and adapt tests
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/algebra.lib

    r3648b2 racfb434  
    11///////////////////////////////////////////////////////////////////////////////
    2 version="version algebra.lib 4.1.2.0 Feb_2019 "; // $Id$
     2version="version algebra.lib 4.2.0.1 Mar_2021 "; // $Id$
    33category="Commutative Algebra";
    44info="
     
    6666    int m = ncols(A);
    6767    int i;
    68     string mp=string(minpoly);
    6968    //-----------------
    7069    // neu CL 10/05:
    7170    int is_qring;
    72     if (size(ideal(br))>0) {
     71    if (size(ideal(br))>0)
     72    {
    7373      is_qring=1;
    7474      ideal IdQ = ideal(br);
     
    8585     l3[size(l3)+1] = "y("+string(yy)+")";
    8686    }
    87     ring R = create_ring(ringlist(br)[1], l3, "(dp("+string(n)+"),dp("+string(m)+"))", "no_minpoly");
    88     if (mp!="0")
    89     { execute ("minpoly=number("+mp+");"); }
    90     ideal vars=x(1..n);
    91     map emb=br,vars;
    92     ideal A=ideal(emb(A));
    93     poly check=emb(p);
     87    list RL=ringlist(br);
     88    RL[2]=l3; //vars
     89    RL[3]=list(list("dp",1:n),list("dp",1:m)); //ord
     90    RL[4]=ideal(0); // reset qring
     91    ring R=ring(RL);
     92    ideal A=fetch(br,A);
     93    poly check=fetch(br,p);
    9494    for (i=1;i<=m;i=i+1)
    95     { A[i]=A[i]-y(i);
     95    {
     96      A[i]=A[i]-y(i);
    9697    }
    9798    //-----------------
    9899    // neu CL 10/05:
    99     if (is_qring) { A = A,emb(IdQ); }
     100    if (is_qring) { A = A,fetch(br,IdQ); }
    100101    //-----------------
    101102    A=std(A);
     
    108109  // use i also to control the display
    109110    i = (sum(leadexp(check),1..n)==0);
    110   degBound = DEGB;
     111    degBound = DEGB;
    111112    if( #[1] == 0 )
    112113    { dbprint(printlevel-voice+3,"// "+string(check));
     
    115116    else
    116117    { list l = i,R;
    117       kill A,vars,emb;
     118      kill A;
    118119      export check;
    119120      dbprint(printlevel-voice+3,"
  • Singular/iparith.cc

    r0dd7e8b racfb434  
    78607860      syz=&(hw->data.uideal);
    78617861      alg=syGetAlgorithm((char*)u4->Data(),currRing,(ideal)u->Data());
     7862      h11=(ideal)u5->Data();
    78627863    }
    78637864    else
  • Tst/Short/liftstd_m.res.gz.uu

    r0dd7e8b racfb434  
    11begin 644 liftstd_m.res.gz
    2 M'XL("%8S0F`"`VQI9G1S=&1?;2YR97,`G51-;YM`$+WS*T96#Z`N&W;`7[&,
    3 M1%6IBE3G4'R+HH@T3HJ$P3)K!?CUG<7.[JJ*39,+'L_7>_,&)EU_O[D%`!'#
    4 MSYMO,)*UY$7^.%HXZ2F",9#S(2]SZ7H+1_U"'$.1/Y/[Z6'+R\TKKV4F=448
    5 M@[8C#E=7;\GPFLL_D!4%_*ZVCWF9R;PJ:ZB>H=HI,RL@V[\<MIM2UKK#F)MN
    6 M$P[[O'R!7["$@+D-:UGGL6)GV$YCV&9RGS>0W.']77A/F0U3B93*.I,XH\3J
    7 MZ5!L(!'+H^4FGHG/31R7B:!..B:"6!614W".EE]H\+5QHFZ4&J<ED2")=C25
    8 M=$\JN9H-6[/4(TXM"QC0&.H)3L=:GT9A3>>WG>XRCD]=UE00,,%((,HGTQ?T
    9 MSV^9(Y0C8`T8[,E;54I5?M-];3OFJ,9(I4U+'BMY:I&>72(](L?H?XG//T,<
    10 M`\,%Q;]<$D$D$O3ZA@K?Z8%-!=J8/:*CP$R"M1^\O)\/#8N?VA)^9$MH;0EG
    11 M[RJ37M1F/J!-&-AL*!J8D##8(;Z+W:MU"3\,A_`C"V1\9L!AF,D0S/3\F'0[
    12 MTN/-J!1@@OJ=UU]X."1C=%[&R)(QPOZ`]H?S-.,U_%@J,Z5Q5\=Q887>M>%$
    13 <WA5Q\G23D/<W7%WI0^T*;_'%^0NK5O.>^04`````
     2M'XL("`E*2F`"`VQI9G1S=&1?;2YR97,`G55-;Z,P$+WS*T;1'D!K*#;DJU&0
     3M6*VTJK3I8<FMJBJZ<5M+!")P&N#7[Y@D-JM^B/1`<,9OGI_?>'"R_GES"P`T
     4M@M\W/V`D*^EEXG&TL)+3#(L`@P\B%])V%I9Z0Q1!)IXPO'G8>CD_>)5,I<X(
     5M(M#CT(.KJS,8#D*^0)IE\+?8/HH\E:+(*RB>H-BI89I!6C[OMSR7E688>X9M
     6MXD$I\F?X`TOPB5V3AK0.R79&[32";2I+44-\Q^[O@GM$UD0!$4I:`YPAL-CL
     7M,PXQ71Y'=NR8^;F99\N8(I.>HWZDDC!(/8_UXE0OOC9!IHD2$^Q91-&B'>Y*
     8MVB>7;*V&K$GBH*:&^`1P&^H7K)8T+FZ%U*W;M)IE')U8UIC@$TK0(,3CT*7X
     9MSVV(157`)S68M2?GK`2SW+K]WK3$4L0,4^L&(SWPM"=Z]IGH$09&0X7/OR*<
     10M^48+HY\:>)$:QKZD)KC`1A;VI(^[]BAYAJWPRN&5EY5J"3T_,8>?33NL?.'X
     11ME)R[YU9YDPZB@KR0(+:[C"L$WT":8_<5^VP#!:(.I9#J8&ON6<?]OXLQ1?MB
     12MYIBF8/,>;&WB@6]D!F^JT?$D)Z8!-0C>KX$I@09^;+NQ.^C9'8S?U=8=D`OT
     13M38;JZS5,,/O`EDL7GP]<//0'F!/B%RLY?OT*)2AFNGMU<</WRM&B0K.FJ^6%
     14M0TH2]DH2'CN@NQA.SES#KZ4:)FC2ZF@2K)AS;91B=(5*'4V";:+N*'4+[2N;
     15-.HMOUC^#^#F4V08`````
    1416`
    1517end
  • Tst/Short/liftstd_m.stat

    r0dd7e8b racfb434  
    1 1 >> tst_memory_0 :: 1614951254:4201, 64 bit:4.2.0:x86_64-Linux:terra:85544
    2 1 >> tst_memory_1 :: 1614951254:4201, 64 bit:4.2.0:x86_64-Linux:terra:2150192
    3 1 >> tst_memory_2 :: 1614951254:4201, 64 bit:4.2.0:x86_64-Linux:terra:2191296
    4 1 >> tst_timer_1 :: 1614951254:4201, 64 bit:4.2.0:x86_64-Linux:terra:3
     11 >> tst_memory_0 :: 1615481353:4201, 64 bit:4.2.0:x86_64-Linux::85928
     21 >> tst_memory_1 :: 1615481353:4201, 64 bit:4.2.0:x86_64-Linux::2150192
     31 >> tst_memory_2 :: 1615481353:4201, 64 bit:4.2.0:x86_64-Linux::2191296
     41 >> tst_timer_1 :: 1615481353:4201, 64 bit:4.2.0:x86_64-Linux::4
  • Tst/Short/liftstd_m.tst

    r0dd7e8b racfb434  
    1919print(T);
    2020
    21 print(liftstd(A1,T,A2));
    22 print(T);
    23 
    2421print(liftstd(module(A),T,S,"std"));
    2522print(T);
    2623print(S);
     24
     25// relative versions
     26
     27// the three-argument relative version is not implemented and would overwrite A2
     28// print(liftstd(A1,T,A2));
     29// print(T);
    2730
    2831print(liftstd(A1,T,S,A2));
  • libpolys/coeffs/ffields.cc

    r3648b2 racfb434  
    858858BOOLEAN nfInitChar(coeffs r,  void * parameter)
    859859{
     860  // the variables:
     861  assume( getCoeffType(r) == n_GF );
     862
     863  GFInfo* p = (GFInfo *)(parameter);
     864  assume (p->GFChar > 0);
     865  assume (p->GFDegree > 0);
     866  if ((IsPrime(p->GFChar)==p->GFChar)&&(p->GFDegree==1)) /* for oscar-system/Singular.jl/issues/177 */
     867  {
     868    return npInitChar(r,(void*)(long)p->GFChar);
     869  }
     870  if(p->GFChar > (2<<15))
     871  {
     872#ifndef SING_NDEBUG
     873    WarnS("illegal characteristic");
     874#endif
     875    return TRUE;
     876  }
     877
     878  const double check= log ((double) (p->GFChar));
     879
     880  #define sixteenlog2 11.09035489
     881  if( (p->GFDegree * check) > sixteenlog2 )
     882  {
     883#ifndef SING_NDEBUG
     884    Warn("Sorry: illegal size: %u ^ %u", p->GFChar, p->GFDegree );
     885#endif
     886    return TRUE;
     887  }
     888
    860889  r->is_field=TRUE;
    861890  r->is_domain=TRUE;
     
    915944#endif
    916945
    917   // the variables:
    918   assume( getCoeffType(r) == n_GF );
    919 
    920   GFInfo* p = (GFInfo *)(parameter);
    921   assume (p->GFChar > 0);
    922   assume (p->GFDegree > 0);
    923946
    924947  const char * name = p->GFPar_name;
     
    948971  r->has_simple_Inverse=TRUE;
    949972
    950   if ((IsPrime(p->GFChar)==p->GFChar)&&(p->GFDegree==1)) /* for oscar-system/Singular.jl/issues/177 */
    951   {
    952     return npInitChar(r,(void*)(long)p->GFChar);
    953   }
    954   if(p->GFChar > (2<<15))
    955   {
    956 #ifndef SING_NDEBUG
    957     WarnS("illegal characteristic");
    958 #endif
    959     return TRUE;
    960   }
    961 
    962   const double check= log ((double) (p->GFChar));
    963 
    964   #define sixteenlog2 11.09035489
    965   if( (p->GFDegree * check) > sixteenlog2 )
    966   {
    967 #ifndef SING_NDEBUG
    968     Warn("Sorry: illegal size: %u ^ %u", p->GFChar, p->GFDegree );
    969 #endif
    970     return TRUE;
    971   }
    972 
    973973  int c = (int)pow ((double)p->GFChar, (double)p->GFDegree);
    974974
  • libpolys/coeffs/numbers.cc

    r3648b2 racfb434  
    143143static number ndParameter(const int, const coeffs r)
    144144{
    145   Werror("ndParameter: n_Parameter is not implemented/relevant for (coeff_type = %d)",getCoeffType(r));
    146   return NULL;
     145  return r->cfInit(1,r);
    147146}
    148147
Note: See TracChangeset for help on using the changeset viewer.