Changeset 8cfee1c in git for Singular/units.cc


Ignore:
Timestamp:
Feb 27, 2001, 7:05:16 PM (23 years ago)
Author:
Mathias Schulze <mschulze@…>
Branches:
(u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
Children:
2d19a1bcc1aee3296e6608f8ae49f22b191d6880
Parents:
fcafdb560b501f01e41712af76bb8c58bd2f1a22
Message:
*mschulze: redNF with paramters


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

Legend:

Unmodified
Added
Removed
  • Singular/units.cc

    rfcafdb r8cfee1c  
    22*  Computer Algebra System SINGULAR      *
    33*****************************************/
    4 /* $Id: units.cc,v 1.7 2001-02-23 18:30:59 levandov Exp $ */
     4/* $Id: units.cc,v 1.8 2001-02-27 18:05:16 mschulze Exp $ */
    55/*
    66* ABSTRACT: procedures to compute with units
     
    99#include "mod2.h"
    1010#include "tok.h"
     11#include "febase.h"
    1112#include "ipid.h"
    12 #include "febase.h"
    1313#include "numbers.h"
    1414#include "polys.h"
    1515#include "ideals.h"
     16#include "intvec.h"
    1617#include "matpol.h"
    1718#include "kstd1.h"
    1819#include "units.h"
    1920
    20 matrix invunit(int n,matrix U)
    21 {
    22   assume(MATCOLS(U)==MATROWS(U));
    23   for(int i=MATCOLS(U);i>=1;i--)
    24     MATELEM(U,i,i)=pInvers(n,MATELEM(U,i,i));
    25   return U;
    26 }
    27 
    28 ideal rednf(ideal N,ideal M,matrix U=NULL)
     21ideal redNF(ideal N,ideal M,matrix U=NULL,int d=-1,intvec *w=NULL)
    2922{
    3023  matrix U0=NULL;
     
    4134  }
    4235  ideal M0=idInit(IDELEMS(M),M->rank);
    43   ideal M1=kNF(N,currQuotient,M);
    44   while(idElem(M1)>0)
     36  ideal M1=kNF(N,currQuotient,M,0,2);
     37  while(idElem(M1)>0&&(d==-1||idMinDegW(M1,w)<=d))
    4538  {
    4639    for(int i=IDELEMS(M)-1;i>=0;i--)
     
    5447    }
    5548    idDelete(&M1);
    56     M1=kNF(N,currQuotient,M);
     49    M1=kNF(N,currQuotient,M,0,2);
    5750  }
    5851  idDelete(&M1);
     
    6457}
    6558
    66 poly rednf(ideal N,poly p,poly u=NULL)
     59poly redNF(ideal N,poly p,poly u=NULL,int d=-1,intvec *w=NULL)
    6760{
    6861  ideal M=idInit(1,pGetComp(p));
     
    7063  ideal M0;
    7164  if(u==NULL)
    72     M0=rednf(N,M);
     65    M0=redNF(N,M,NULL,d,w);
    7366  else
    7467  {
    7568    matrix U=mpNew(1,1);
    7669    MATELEM(U,1,1)=u;
    77     M0=rednf(N,M,U);
     70    M0=redNF(N,M,U,d,w);
    7871    idDelete((ideal*)&U);
    7972  }
     
    8376  return p0;
    8477}
     78
Note: See TracChangeset for help on using the changeset viewer.