Changeset 699567 in git for kernel/ideals.cc


Ignore:
Timestamp:
Jan 23, 2007, 8:00:39 PM (17 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
aa64d1c4ff9ddcd00665c3dacabbc270080c66da
Parents:
804d684c0c2adffa869264248e5f91ceac4b2508
Message:
*hannes: simplify


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

Legend:

Unmodified
Added
Removed
  • kernel/ideals.cc

    r804d68 r699567  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: ideals.cc,v 1.35 2007-01-18 13:22:14 Singular Exp $ */
     4/* $Id: ideals.cc,v 1.36 2007-01-23 19:00:39 Singular Exp $ */
    55/*
    66* ABSTRACT - all basic methods to manipulate ideals
     
    182182void idNorm(ideal id)
    183183{
    184   for (int i=IDELEMS(id)-1; i>-0; i--)
     184  for (int i=IDELEMS(id)-1; i>=0; i--)
    185185  {
    186186    if (id->m[i] != NULL)
     
    196196*/
    197197void idDelMultiples(ideal id)
     198{
     199  int i, j;
     200  int k = IDELEMS(id)-1;
     201  for (i=k; i>=0; i--)
     202  {
     203    if (id->m[i]!=NULL)
     204    {
     205      for (j=k; j>i; j--)
     206      {
     207        if ((id->m[j]!=NULL)
     208        && (pComparePolys(id->m[i], id->m[j])))
     209        {
     210          pDelete(&id->m[j]);
     211        }
     212      }
     213    }
     214  }
     215}
     216
     217/*2
     218* ideal id = (id[i])
     219* if id[i] = id[j] then id[j] is deleted for j > i
     220*/
     221void idDelEquals(ideal id)
    198222{
    199223  int i, j, t;
     
    201225  for (i=k-1; i>=0; i--)
    202226  {
    203     if (id->m[i]!=NULL)
    204     {
    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 */
    223 void 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])))
    235         {
    236           pDelete(&id->m[j]);
    237         }
     227    for (j=k-1; j>i; j--)
     228    {
     229      if ((i!=j)
     230      && (id->m[i]!=NULL) && (id->m[j]!=NULL)
     231      && (pEqualPolys(id->m[i], id->m[j])))
     232      {
     233        pDelete(&id->m[j]);
    238234      }
    239235    }
     
    247243{
    248244  int i, j, t;
    249   int k = IDELEMS(id);
     245  int k = IDELEMS(id), l = k;
    250246  for (i=k-1; i>=0; i--)
    251247  {
    252248    if (id->m[i] != NULL)
    253249    {
    254       for (j=k-1; j>i; j--)
    255       {
    256         if ((id->m[j] != NULL)
     250      for (j=l-1; j>=0; j--)
     251      {
     252        if ((i!=j)
     253        && (id->m[j] != NULL)
    257254        && pLmEqual(id->m[i], id->m[j]))
    258255        {
     
    272269    if (id->m[i] != NULL)
    273270    {
    274       for (j=k-1; j>i; j--)
    275       {
    276         if (id->m[j]!=NULL)
     271      for (j=k-1; j>=0; j--)
     272      {
     273        if ((i!=j)
     274        && (id->m[j]!=NULL)
     275        && pDivisibleBy(id->m[i], id->m[j]))
    277276        {
    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           }
     277          pDelete(&id->m[j]);
    286278        }
    287279      }
Note: See TracChangeset for help on using the changeset viewer.