[BACK]Return to bfct CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / lib

Diff for /OpenXM_contrib2/asir2000/lib/bfct between version 1.2 and 1.5

version 1.2, 2000/08/21 08:31:40 version 1.5, 2000/12/11 02:00:42
Line 23 
Line 23 
  * shall be made on your publication or presentation in any form of the   * shall be made on your publication or presentation in any form of the
  * results obtained by use of the SOFTWARE.   * results obtained by use of the SOFTWARE.
  * (4) In the event that you modify the SOFTWARE, you shall notify FLL by   * (4) In the event that you modify the SOFTWARE, you shall notify FLL by
  * e-mail at risa-admin@flab.fujitsu.co.jp of the detailed specification   * e-mail at risa-admin@sec.flab.fujitsu.co.jp of the detailed specification
  * for such modification or the source code of the modified part of the   * for such modification or the source code of the modified part of the
  * SOFTWARE.   * SOFTWARE.
  *   *
Line 45 
Line 45 
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.   * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
  *   *
  * $OpenXM: OpenXM_contrib2/asir2000/lib/bfct,v 1.1 2000/06/05 04:59:34 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/lib/bfct,v 1.4 2000/12/08 08:26:09 noro Exp $
 */  */
 /* requires 'primdec' */  /* requires 'primdec' */
   
Line 63  def ann(F)
Line 63  def ann(F)
         for ( I = 0; I < N; I++ ) {          for ( I = 0; I < N; I++ ) {
                 B = cons(DV[I]+y1*diff(F,V[I])*dt,B);                  B = cons(DV[I]+y1*diff(F,V[I])*dt,B);
         }          }
         ctrl("do_weyl",1);  
         dp_nelim(2);          dp_nelim(2);
         G0 = dp_gr_main(B,append(W,DW),0,0,6);          G0 = dp_weyl_gr_main(B,append(W,DW),0,0,6);
         G1 = [];          G1 = [];
         for ( T = G0; T != []; T = cdr(T) ) {          for ( T = G0; T != []; T = cdr(T) ) {
                 E = car(T); VL = vars(E);                  E = car(T); VL = vars(E);
Line 75  def ann(F)
Line 74  def ann(F)
         G2 = map(subst,G1,dt,1);          G2 = map(subst,G1,dt,1);
         G3 = map(b_subst,G2,t);          G3 = map(b_subst,G2,t);
         G4 = map(subst,G3,t,-1-s);          G4 = map(subst,G3,t,-1-s);
         ctrl("do_weyl",0);  
         return G4;          return G4;
 }  }
   
Line 85  def bfct(F)
Line 83  def bfct(F)
 {  {
         G4 = ann(F);          G4 = ann(F);
   
         ctrl("do_weyl",1);  
         V = vars(F);          V = vars(F);
         N = length(V);          N = length(V);
         for ( I = N-1, DV = []; I >= 0; I-- )          for ( I = N-1, DV = []; I >= 0; I-- )
Line 111  def bfct(F)
Line 108  def bfct(F)
                 M[I+2][I] = 1;                  M[I+2][I] = 1;
 #endif  #endif
         V1 = cons(s,V); DV1 = cons(ds,DV);          V1 = cons(s,V); DV1 = cons(ds,DV);
         G5 = dp_gr_main(cons(F,G4),append(V1,DV1),0,0,M);          dp_nelim(0);
   /*      G4 = dp_weyl_gr_main(G4,append(V1,DV1),0,0,10); */
           for ( PrimeIndex = 0; ; PrimeIndex++ ) {
                   Prime = lprime(PrimeIndex);
                   dp_nelim(0); /* XXX */
                   Success = dp_weyl_gr_main(cons(F,G4),append(V1,DV1),0,Prime,10);
                   if ( !Success )
                           continue;
                   dp_nelim(N+1);
                   G5 = dp_weyl_gr_main(cons(F,G4),append(V1,DV1),0,-Prime,10);
                   if ( G5 )
                           break;
           }
         for ( T = G5, G6 = []; T != []; T = cdr(T) ) {          for ( T = G5, G6 = []; T != []; T = cdr(T) ) {
                 E = car(T);                  E = car(T);
                 if ( intersection(vars(E),DV1) == [] )                  if ( intersection(vars(E),DV1) == [] )
                         G6 = cons(E,G6);                          G6 = cons(E,G6);
         }          }
         ctrl("do_weyl",0);  
         G6_0 = remove_zero(map(z_subst,G6,V));          G6_0 = remove_zero(map(z_subst,G6,V));
         F0 = flatmf(cdr(fctr(dp_gr_main(G6_0,[s],0,0,0)[0])));          F0 = flatmf(cdr(fctr(dp_gr_main(G6_0,[s],0,0,0)[0])));
         for ( T = F0, BF = []; T != []; T = cdr(T) ) {          for ( T = F0, BF = []; T != []; T = cdr(T) ) {

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.5

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>