Changeset 962b1f in git


Ignore:
Timestamp:
Feb 25, 2002, 7:14:54 PM (21 years ago)
Author:
Mathias Schulze <mschulze@…>
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'f875bbaccd0831e36aaed09ff6adeb3eb45aeb94')
Children:
97403d7b5d41e537394fcbd7c261d7b70302488c
Parents:
8fe22ccc9de914e68da65f1ac8874c938ddd2809
Message:
*mschulze: liftbound replaced by new division


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

Legend:

Unmodified
Added
Removed
  • Singular/LIB/gaussman.lib

    r8fe22c r962b1f  
    11///////////////////////////////////////////////////////////////////////////////
    2 version="$Id: gaussman.lib,v 1.69 2002-02-21 17:52:23 mschulze Exp $";
     2version="$Id: gaussman.lib,v 1.70 2002-02-25 18:14:39 mschulze Exp $";
    33category="Singularities";
    44
     
    4242";
    4343
    44 LIB "linalg.lib";
     44LIB "linalg2.lib";
    4545
    4646///////////////////////////////////////////////////////////////////////////////
     
    312312///////////////////////////////////////////////////////////////////////////////
    313313
    314 static proc liftbound(module U,module H,int k,int K)
    315 {
    316   def R=basering;
    317   ring T=0,s,ds;
    318   module U=imap(R,U);
    319   module H=imap(R,H);
    320   degBound=k+K+1;
    321   H=jet(lift(U,H),K);
    322   degBound=0;
    323   setring(R);
    324   return(imap(T,H));
    325 }
    326 ///////////////////////////////////////////////////////////////////////////////
    327 
    328314static proc saturate()
    329315{
     
    356342
    357343  dbprint(printlevel-voice+2,"// transform H'' to saturation of H''");
    358   H0=liftbound(H,freemodule(mu)*s^k,k,k);
     344  H0=division(freemodule(mu)*s^k,H,k,intvec(1))[1];
    359345
    360346  return(A0,r,H,H0,k);
     
    372358
    373359  dbprint(printlevel-voice+2,"// transform A to saturation of H''");
    374   matrix A=liftbound(H*s,A0*H+s^2*diff(matrix(H),s),k0+1,K);
     360  matrix A=division(module(A0*H+s^2*diff(matrix(H),s)),H,K+1,intvec(1))[1]/s;
    375361
    376362  return(A,A0,r);
     
    381367{
    382368  dbprint(printlevel-voice+2,
    383     "// compute eigenvalues e with multiplicities m of A");
     369    "// compute eigenvalues e with multiplicities m of A0");
    384370  matrix A;
    385371  A,A0,r=basisrep(A0,r,H,k0,0);
     
    10991085    U=matrix(U)+s^k*V;
    11001086  }
     1087  attrib(U,"isSB",1);
    11011088
    11021089  dbprint(printlevel-voice+2,"// transform to V-splitting basis");
    11031090  A=jet(A,0);
    1104   H=std(liftbound(U,H,0,k0+k1));
     1091  H=std(division(H,U,k0+k1,intvec(1))[1]);
    11051092
    11061093  dbprint(printlevel-voice+2,"// compute V-leading terms of H''");
     
    12101197  degBound=0;
    12111198  H=simplify(jet(H,k0+k1),1);
     1199  attrib(H,"isSB",1);
    12121200
    12131201  dbprint(printlevel-voice+2,"// compute matrix A0+sA1 of t");
    1214   A=liftbound(H,s*A*H+s^2*diff(matrix(H),s),k0+k1,1);
     1202  A=division(module(s*A*H+s^2*diff(matrix(H),s)),H,1,intvec(1))[1];
    12151203  A0=jet(A,0);
    12161204  A=jet(A,1)/s;
Note: See TracChangeset for help on using the changeset viewer.