Changeset 19df79 in git


Ignore:
Timestamp:
Dec 21, 2000, 5:37:52 PM (22 years ago)
Author:
Olaf Bachmann <obachman@…>
Branches:
(u'spielwiese', '0d6b7fcd9813a1ca1ed4220cfa2b104b97a0a003')
Children:
cc3a04e207e65e63ef1f42613861ce5365082fff
Parents:
d9f665b2cc780458978ceb1111b560b41f9f9d4e
Message:
* towards tailRings for local case


git-svn-id: file:///usr/local/Singular/svn/trunk@4975 2c84dea3-7e68-4137-9b89-c4e89433aadc
Location:
Singular
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • Singular/configure.in

    rd9f665 r19df79  
    311311          fi
    312312        ;;
     313        IRIX-6)
     314          LD_DYN_FLAGS="-lc"
     315          ac_lib_dl=yes
     316        ;;
    313317esac
    314318AC_SUBST(LD_DYN_FLAGS)
  • Singular/hdegree.cc

    rd9f665 r19df79  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: hdegree.cc,v 1.22 2000-09-18 09:19:00 obachman Exp $ */
     4/* $Id: hdegree.cc,v 1.23 2000-12-21 16:37:48 obachman Exp $ */
    55/*
    66*  ABSTRACT -  dimension, multiplicity, HC, kbase
     
    10491049
    10501050
    1051 void scComputeHC(ideal S, int ak, poly &hEdge)
     1051void scComputeHC(ideal S, int ak, poly &hEdge, ring tailRing)
    10521052{
    10531053  int  i;
    10541054  Exponent_t  k = ak;
    10551055  hNvar = pVariables;
    1056   hexist = hInit(S, NULL, &hNexist);
     1056  hexist = hInit(S, NULL, &hNexist, tailRing);
    10571057  if (k!=0)
    10581058    hComp(hexist, hNexist, k, hexist, &hNstc);
  • Singular/kInline.cc

    rd9f665 r19df79  
    77 *  Author:  obachman (Olaf Bachmann)
    88 *  Created: 8/00
    9  *  Version: $Id: kInline.cc,v 1.21 2000-12-20 11:15:42 obachman Exp $
     9 *  Version: $Id: kInline.cc,v 1.22 2000-12-21 16:37:49 obachman Exp $
    1010 *******************************************************************/
    1111#ifndef KINLINE_CC
     
    5050  }
    5151  return NULL;
     52}
     53
     54KINLINE poly skStrategy::kNoetherTail()
     55{
     56  if (tailRing == currRing)
     57    return kNoether;
     58  else
     59  {
     60    assume((kNoether == NULL && t_kNoether == NULL) ||
     61           (kNoether != NULL && t_kNoether != NULL));
     62    return t_kNoether;
     63  }
    5264}
    5365
  • Singular/kstd1.cc

    rd9f665 r19df79  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: kstd1.cc,v 1.75 2000-12-20 11:15:43 obachman Exp $ */
     4/* $Id: kstd1.cc,v 1.76 2000-12-21 16:37:49 obachman Exp $ */
    55/*
    66* ABSTRACT:
     
    1111
    1212// define if tailrings should be used
    13 #define HAVE_TAIL_RING
     13// #define HAVE_TAIL_RING
    1414
    1515#include "mod2.h"
     
    134134    h->GetP();
    135135    h->SetLength(strat->length_pLength);
    136     ret = ksReducePoly(&L, with, strat->kNoether, NULL, strat);
     136    ret = ksReducePoly(&L, with, strat->kNoetherTail(), NULL, strat);
    137137    if (ret)
    138138    {
     
    147147  }
    148148  else
    149     ret = ksReducePoly(h, with, strat->kNoether, NULL, strat);
     149    ret = ksReducePoly(h, with, strat->kNoetherTail(), NULL, strat);
    150150#ifdef KDEBUG
    151151  if (TEST_OPT_DEBUG)
     
    357357    }
    358358#endif
    359     ksReducePoly(h, &(strat->T[j]), strat->kNoether, NULL, strat);
     359    ksReducePoly(h, &(strat->T[j]), strat->kNoetherTail(), NULL, strat);
    360360#ifdef KDEBUG
    361361    if (TEST_OPT_DEBUG)
     
    527527      /*- try to reduce the s-polynomial -*/
    528528      o = H.SetpFDeg();
    529       cancelunit(&H);
     529      if (flag != 2) cancelunit(&H);
    530530      H.ecart = pLDeg(H.p,&(H.length))-o;
    531531      j = 0;
     
    749749        }
    750750        /* create the real one */
    751         ksCreateSpoly(&(strat->L[j]), strat->kNoether, FALSE,
     751        ksCreateSpoly(&(strat->L[j]), strat->kNoetherTail(), FALSE,
    752752                      strat->tailRing, m1, m2, strat->R);
    753753
     
    806806        }
    807807        /* create the real one */
    808         ksCreateSpoly(&(strat->L[i]), strat->kNoether, FALSE,
     808        ksCreateSpoly(&(strat->L[i]), strat->kNoetherTail(), FALSE,
    809809                      strat->tailRing, m1, m2, strat->R);
    810810        if (! strat->L[i].IsNull())
     
    10981098
    10991099#ifdef HAVE_TAIL_RING
    1100   if (strat->homog && strat->red == redFirst)
     1100//  if (strat->homog && strat->red == redFirst)
    11011101    kStratInitChangeTailRing(strat);
    11021102#endif 
     
    11501150      }
    11511151      /* create the real one */
    1152       ksCreateSpoly(&(strat->P), strat->kNoether, strat->use_buckets,
     1152      ksCreateSpoly(&(strat->P), strat->kNoetherTail(), strat->use_buckets,
    11531153                    strat->tailRing, m1, m2, strat->R);
    11541154      if (!strat->use_buckets)
  • Singular/kstd2.cc

    rd9f665 r19df79  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: kstd2.cc,v 1.70 2000-12-20 11:15:44 obachman Exp $ */
     4/* $Id: kstd2.cc,v 1.71 2000-12-21 16:37:50 obachman Exp $ */
    55/*
    66*  ABSTRACT -  Kernel: alg. of Buchberger
     
    131131   
    132132    // now we found one which is divisible -- reduce it
    133     ksReducePoly(h, &(strat->T[j]), strat->kNoether, NULL, strat);
     133    ksReducePoly(h, &(strat->T[j]), NULL, NULL, strat);
    134134
    135135#ifdef KDEBUG
     
    182182#endif
    183183
    184     ksReducePoly(h, &(strat->T[j]), strat->kNoether, NULL, strat);
     184    ksReducePoly(h, &(strat->T[j]), NULL, NULL, strat);
    185185
    186186#ifdef KDEBUG
     
    319319    assume(strat->fromT == FALSE);
    320320
    321     ksReducePoly(h, &(strat->T[ii]), strat->kNoether, NULL, strat);
     321    ksReducePoly(h, &(strat->T[ii]), NULL, NULL, strat);
    322322
    323323#ifdef KDEBUG
     
    572572      }
    573573      // create the real one
    574       ksCreateSpoly(&(strat->P), strat->kNoether, strat->use_buckets,
     574      ksCreateSpoly(&(strat->P), NULL, strat->use_buckets,
    575575                    strat->tailRing, m1, m2, strat->R);
    576576    }
  • Singular/kutil.cc

    rd9f665 r19df79  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: kutil.cc,v 1.90 2000-12-20 17:20:00 obachman Exp $ */
     4/* $Id: kutil.cc,v 1.91 2000-12-21 16:37:50 obachman Exp $ */
    55/*
    66* ABSTRACT: kernel: utils for kStd
     
    161161    }
    162162
    163     if (!fromNext && p_Cmp(p,strat->kNoether, L->tailRing) == -1)
     163    if (!fromNext && p_Cmp(p,strat->kNoetherTail(), L->tailRing) == -1)
    164164    {
    165165      L->Delete();
     
    172172    while (pNext(p1)!=NULL)
    173173    {
    174       if (p_LmCmp(pNext(p1), strat->kNoether, L->tailRing) == -1)
     174      if (p_LmCmp(pNext(p1), strat->kNoetherTail(), L->tailRing) == -1)
    175175      {
    176176        L->last = p1;
     
    26662666      if (With == NULL) break;
    26672667      strat->redTailChange=TRUE;
    2668       if (ksReducePolyTail(L, With, h, strat->kNoether))
     2668      if (ksReducePolyTail(L, With, h, strat->kNoetherTail()))
    26692669      {
    26702670        // reducing the tail would violate the exp bound
     
    32463246  {
    32473247    if (pLmShortDivisibleBy(strat->S[j],strat->sevS[j],h, not_sev))
    3248        return ksOldSpolyRedNew(strat->S[j],h,strat->kNoether);
     3248       return ksOldSpolyRedNew(strat->S[j],h,strat->kNoetherTail());
    32493249    else j++;
    32503250  }
     
    33193319    if (pLmShortDivisibleBy(strat->S[j],strat->sevS[j], h, not_sev))
    33203320    {
    3321       h = ksOldSpolyRed(strat->S[j],h,strat->kNoether);
     3321      h = ksOldSpolyRed(strat->S[j],h,strat->kNoetherTail());
    33223322      if (h==NULL) return NULL;
    33233323      j = start;
     
    33423342    if (pLmShortDivisibleBy(strat->S[j],strat->sevS[j], h, not_sev))
    33433343    {
    3344       h = ksOldSpolyRed(strat->S[j],h,strat->kNoether);
     3344      h = ksOldSpolyRed(strat->S[j],h,strat->kNoetherTail());
    33453345      if (h==NULL) return NULL;
    33463346      j = 0;
     
    33753375       
    33763376#endif         
    3377         h = ksOldSpolyRed(strat->S[j],h,strat->kNoether);
     3377        h = ksOldSpolyRed(strat->S[j],h,strat->kNoetherTail());
    33783378#ifdef KDEBUG
    33793379        if(TEST_OPT_DEBUG)
     
    38663866  {
    38673867    if (strat->kHEdge!=NULL) pSetComp(strat->kHEdge, strat->ak);
    3868     if (strat->kNoether!=NULL) pSetComp(strat->kNoether, strat->ak);
     3868    if (strat->kNoether!=NULL) pSetComp(strat->kNoetherTail(), strat->ak);
    38693869  }
    38703870  if(TEST_OPT_SB_1)
     
    40504050  poly newNoether;
    40514051
    4052   scComputeHC(strat->Shdl,ak,strat->kHEdge);
     4052  scComputeHC(strat->Shdl,ak,strat->kHEdge, strat->tailRing);
     4053  if (strat->t_kHEdge != NULL) p_LmFree(strat->t_kHEdge, strat->tailRing);
     4054  if (strat->tailRing != currRing)
     4055    strat->t_kHEdge = k_LmInit_currRing_2_tailRing(strat->kHEdge, strat->tailRing);
    40534056  /* compare old and new noether*/
    40544057  newNoether = pLmInit(strat->kHEdge);
     
    40784081    pDelete(&strat->kNoether);
    40794082    strat->kNoether=newNoether;
     4083    if (strat->t_kNoether != NULL) p_LmFree(strat->t_kNoether, strat->tailRing);
     4084    if (strat->tailRing != currRing)
     4085      strat->t_kNoether = k_LmInit_currRing_2_tailRing(strat->kNoether, strat->tailRing);
     4086   
    40804087    return TRUE;
    40814088  }
     
    41864193  strat->p_shallow_copy_delete
    41874194    = pGetShallowCopyDeleteProc(currRing, new_tailRing);
     4195
     4196  if (strat->kHEdge != NULL)
     4197  {
     4198    if (strat->t_kHEdge != NULL)
     4199      p_LmFree(strat->t_kHEdge, strat->tailRing);
     4200    strat->t_kHEdge=k_LmInit_currRing_2_tailRing(strat->kHEdge, new_tailRing);
     4201  }
     4202
     4203  if (strat->kNoether != NULL)
     4204  {
     4205    if (strat->t_kNoether != NULL)
     4206      p_LmFree(strat->t_kNoether, strat->tailRing);
     4207    strat->t_kNoether=k_LmInit_currRing_2_tailRing(strat->kNoether,
     4208                                                   new_tailRing);
     4209  }
    41884210  kTest_TS(strat);
    41894211  if (TEST_OPT_PROT)
     
    42424264                            (tailRing != NULL ? tailRing->PolyBin:
    42434265                             currRing->PolyBin));
     4266  if (t_kHEdge != NULL)
     4267    p_LmFree(t_kHEdge, tailRing);
     4268  if (t_kNoether != NULL)
     4269    p_LmFree(t_kNoether, tailRing);
     4270
    42444271  if (currRing != tailRing)
    42454272    rKillModifiedRing(tailRing);
  • Singular/kutil.h

    rd9f665 r19df79  
    44*  Computer Algebra System SINGULAR     *
    55****************************************/
    6 /* $Id: kutil.h,v 1.52 2000-12-20 11:15:46 obachman Exp $ */
     6/* $Id: kutil.h,v 1.53 2000-12-21 16:37:51 obachman Exp $ */
    77/*
    88* ABSTRACT: kernel: utils for kStd
     
    234234  poly    kHEdge;
    235235  poly    kNoether;
     236  poly    t_kHEdge; // same polys in tailring
     237  KINLINE poly    kNoetherTail();
     238  poly    t_kNoether;
    236239  BOOLEAN * NotUsedAxis;
    237240  LObject P;
  • Singular/mod_raw.cc

    rd9f665 r19df79  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: mod_raw.cc,v 1.11 2000-12-12 14:54:59 obachman Exp $ */
     4/* $Id: mod_raw.cc,v 1.12 2000-12-21 16:37:52 obachman Exp $ */
    55/*
    66 * ABSTRACT: machine depend code for dynamic modules
     
    224224 *****************************************************************************/
    225225#ifdef IRIX_6
    226 /* #    include <> */
     226#include <dlfcn.h>
    227227
    228228void *dynl_open(char *filename)
  • Singular/stairc.h

    rd9f665 r19df79  
    44*  Computer Algebra System SINGULAR     *
    55****************************************/
    6 /* $Id: stairc.h,v 1.9 2000-11-08 15:35:01 obachman Exp $ */
     6/* $Id: stairc.h,v 1.10 2000-12-21 16:37:52 obachman Exp $ */
    77/*
    88* ABSTRACT
     
    1111#include "structs.h"
    1212
    13 void scComputeHC(ideal s,int  k,poly &hEdge);
     13void scComputeHC(ideal s,int  k,poly &hEdge, ring tailRing = currRing);
    1414
    1515intvec * scIndIntvec(ideal S, ideal Q=NULL);
Note: See TracChangeset for help on using the changeset viewer.