Changeset b533b3 in git for kernel/ideals.cc


Ignore:
Timestamp:
Jan 18, 2007, 2:22:14 PM (17 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
27afa17ad199291fbbc49248d936b0af2732e9da
Parents:
35ee46ccc87abc5a90d3893f8d9348ede15b26f1
Message:
*hannes: simplify


git-svn-id: file:///usr/local/Singular/svn/trunk@9737 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/ideals.cc

    r35ee46c rb533b3  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: ideals.cc,v 1.34 2007-01-12 12:41:46 Singular Exp $ */
     4/* $Id: ideals.cc,v 1.35 2007-01-18 13:22:14 Singular Exp $ */
    55/*
    66* ABSTRACT - all basic methods to manipulate ideals
     
    182182void idNorm(ideal id)
    183183{
    184   for (int i=0; i<IDELEMS(id); i++)
     184  for (int i=IDELEMS(id)-1; i>-0; i--)
    185185  {
    186186    if (id->m[i] != NULL)
     
    203203    if (id->m[i]!=NULL)
    204204    {
    205       for (j=k-1; j>=0; j--)
    206       {
    207         if ((i!=j)
    208         && (id->m[j]!=NULL)
    209         && (pComparePolys(id->m[i], id->m[j])))
     205      for (j=k-1; j>i; j--)
     206      {
     207        if (id->m[j]!=NULL)
     208        {
     209          if(pComparePolys(id->m[i], id->m[j]))
     210          {
     211            pDelete(&id->m[j]);
     212          }
     213        }
     214      }
     215    }
     216  }
     217}
     218
     219/*2
     220* ideal id = (id[i])
     221* if id[i] = id[j] then id[j] is deleted for j > i
     222*/
     223void idDelEquals(ideal id)
     224{
     225  int i, j, t;
     226  int k = IDELEMS(id), l = k;
     227  for (i=k-1; i>=0; i--)
     228  {
     229    if (id->m[i]!=NULL)
     230    {
     231      for (j=k-1; j>i; j--)
     232      {
     233        if ((id->m[j]!=NULL)
     234        && (pEqualPolys(id->m[i], id->m[j])))
    210235        {
    211236          pDelete(&id->m[j]);
    212237        }
    213       }
    214     }
    215   }
    216 }
    217 
    218 /*2
    219 * ideal id = (id[i])
    220 * if id[i] = id[j] then id[j] is deleted for j > i
    221 */
    222 void idDelEquals(ideal id)
    223 {
    224   int i, j, t;
    225   int k = IDELEMS(id), l = k;
    226   for (i=k-1; i>=0; i--)
    227   {
    228     for (j=k-1; j>i; j--)
    229     {
    230       if ((i!=j)
    231       && (id->m[i]!=NULL) && (id->m[j]!=NULL)
    232       && (pEqualPolys(id->m[i], id->m[j])))
    233       {
    234         pDelete(&id->m[j]);
    235238      }
    236239    }
     
    244247{
    245248  int i, j, t;
    246   int k = IDELEMS(id), l = k;
     249  int k = IDELEMS(id);
    247250  for (i=k-1; i>=0; i--)
    248251  {
    249252    if (id->m[i] != NULL)
    250253    {
    251       for (j=l-1; j>=0; j--)
    252       {
    253         if ((i!=j)
    254         && (id->m[j] != NULL)
     254      for (j=k-1; j>i; j--)
     255      {
     256        if ((id->m[j] != NULL)
    255257        && pLmEqual(id->m[i], id->m[j]))
    256258        {
     
    270272    if (id->m[i] != NULL)
    271273    {
    272       for (j=k-1; j>=0; j--)
    273       {
    274         if ((i!=j)
    275         && (id->m[j]!=NULL)
    276         && pDivisibleBy(id->m[i], id->m[j]))
     274      for (j=k-1; j>i; j--)
     275      {
     276        if (id->m[j]!=NULL)
    277277        {
    278           pDelete(&id->m[j]);
     278          if(pDivisibleBy(id->m[i], id->m[j]))
     279          {
     280            pDelete(&id->m[j]);
     281          }
     282          else if(pDivisibleBy(id->m[j], id->m[i]))
     283          {
     284            pDelete(&id->m[i]);
     285          }
    279286        }
    280287      }
Note: See TracChangeset for help on using the changeset viewer.