Changeset 4d5437 in git for kernel/maps/find_perm.cc


Ignore:
Timestamp:
Jan 20, 2016, 6:46:28 PM (8 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
c631c329ed487e0ec9b60bd41077ba19cbf17ad3
Parents:
64b03151c6cf3d29b4a4304bab7a66c2b37b5e2d
Message:
maps for ideal revisited: new: maMapIdeal as general routine
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/maps/find_perm.cc

    r64b0315 r4d5437  
    1616#include <kernel/ideals.h>
    1717#include <polys/monomials/ring.h>
    18 #include <kernel/maps/fast_maps.h>
     18#include <kernel/maps/find_perm.h>
    1919
    2020static int* find_perm_for_map(const ring preimage_r, const ring image_r, const ideal image)
     
    2222  int i;
    2323  int *perm=(int *)omAlloc0((preimage_r->N+1)*sizeof(int));
    24   //if (IDELEMS(image)>preimage_r->N)
    25   //{
    26   //  Print("elms:%d, N:%d\n",IDELEMS(image),preimage_r->N);
    27   //  iiWriteMatrix((matrix)image,"_",1,image_r,0);
    28   //  PrintS("preimage:\n");rWrite(preimage_r);
    29   //  PrintS("image:\n");rWrite(image_r);
    30   //}
    31   for (i=si_min(IDELEMS(image)-1,preimage_r->N); i>=0; i--)
     24  for (i=si_min(IDELEMS(image),preimage_r->N)-1; i>=0; i--)
    3225  {
    3326    if ((image->m[i]!=NULL)
     
    3629    {
    3730      int v=p_IsUnivariate(image->m[i],image_r);
    38       if (v==0) /*not univariate */
     31      if (v<=0) /*not univariate */
    3932      {
    4033        omFreeSize(perm,(preimage_r->N+1)*sizeof(int));
    4134        return NULL;
    4235      }
    43       if (v>0) /* image is univaritate */
     36      else if (v>0) /* image is univaritate */
    4437      {
    4538        if (p_GetExp(image->m[i],v,image_r)==1)
     
    6053    }
    6154  }
     55  //Print("elms:%d, N:%d\n",IDELEMS(image),preimage_r->N);
     56  //iiWriteMatrix((matrix)image,"_",1,image_r,0);
     57  //PrintS("\npreimage:\n");rWrite(preimage_r);
     58  //PrintS("image:\n");rWrite(image_r);
     59  //PrintS("\nperm:");
     60  //for (i=1; i<=preimage_r->N; i++)
     61  //{
     62  //  Print(" %d",perm[i]);
     63  //}
     64  //PrintLn();
    6265  return perm;
    6366}
     
    7477  for (int i=R*C-1;i>=0;i--)
    7578  {
    76     m->m[i]=p_PermPoly(to_map->m[i],perm,preimage_r,image_r, nMap,NULL,0);
    77     p_Test(m->m[i],image_r);
     79    if (to_map->m[i]!=NULL)
     80    {
     81      m->m[i]=p_PermPoly(to_map->m[i],perm,preimage_r,image_r, nMap,NULL,0);
     82      p_Test(m->m[i],image_r);
     83    }
    7884  }
    7985  omFreeSize(perm,(preimage_r->N+1)*sizeof(int));
Note: See TracChangeset for help on using the changeset viewer.