Changeset 364784a in git


Ignore:
Timestamp:
Jan 14, 2007, 11:09:42 PM (17 years ago)
Author:
Viktor Levandovskyy <levandov@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'b21a664aa22dc6e196223af8a74ad4885e83547c')
Children:
9baa295fa0016bec13c69de439789cba6e7053d2
Parents:
7b8cb0e2c52093f9cb60de8aeb4a829b4a0cac0d
Message:
*levandov: genericity patched and extended


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

Legend:

Unmodified
Added
Removed
  • Singular/LIB/control.lib

    r7b8cb0 r364784a  
    1 version="$Id: control.lib,v 1.35 2006-07-20 22:17:11 levandov Exp $";
     1version="$Id: control.lib,v 1.36 2007-01-14 22:09:42 levandov Exp $";
    22category="System and Control Theory";
    33info="
     
    660660RETURN:  list (of strings)
    661661PURPOSE: determine parametric expressions which have been assumed to be non-zero in the process of computing the Groebner basis
    662 NOTE: the output list consists of two strings. The first string contains the variables only, whereas the second string contains polynomials.
     662NOTE: the output list consists of strings. The first string contains the variables only, whereas each further string contain a single polynomial in parameters.
    663663$* We strongly recommend to switch on the redSB and redTail options.
    664664@* The procedure is effective with the lift procedure for modules with parameters
     
    817817  ideal I = ideal(M);
    818818  I = simplify(I,2+4);
    819   int s = size(I);
     819  int s = ncols(I);
    820820  ideal Den;
    821821  poly p;
     
    833833  string newvars = parstr(basering);
    834834  def save = basering;
    835   string NewRing = "ring @NR =" +string(char(basering))+",("+newvars+"),Dp;";
     835  string NewRing = "ring @NR =(" +string(char(basering))+"),("+newvars+"),Dp;";
    836836  execute(NewRing);
    837837  ideal F;
    838838  ideal Den = imap(save,Den);
    839839  Den = simplify(Den,2);
    840   int s1 = size(Den);
     840  int s1 = ncols(Den);
    841841  for (i=1; i<=s1; i++)
    842842  {
    843     if (Den[i] !=1)
     843    if (normalize(Den[i]) !=1)
    844844    {
    845845      F= F, factorize(Den[i],1);
     
    848848  F = simplify(F, 2+4+8);
    849849  ideal @L = F;
     850  @L = simplify(@L,2);
    850851  list SL;
    851852  int c,j;
    852853  string Mono;
    853854  c = 1;
    854   for (j=1; j<=size(@L);j++)
     855  for (j=1; j<= ncols(@L);j++)
    855856  {
    856857    if (leadcoef(@L[j]) <0)
     
    858859      @L[j] = -1*@L[j];
    859860    }
    860     if ( (@L[j] - lead(@L[j]))==0 ) //@L[j] is a monomial
     861    if (((@L[j] - lead(@L[j]))==0 ) && (@L[j]!=0) ) //@L[j] is a monomial
    861862    {
    862863      Mono = Mono + string(@L[j])+ ","; // concatenation
     
    870871  if (Mono!="")
    871872  {
    872     Mono = Mono[1..size(Mono)-1]; // delete the last semicolon
     873    Mono = Mono[1..size(Mono)-1]; // delete the last colon
    873874  }
    874875  SL[1] = Mono;
Note: See TracChangeset for help on using the changeset viewer.