[BACK]Return to complex.sm1 CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / Doc

Diff for /OpenXM/src/kan96xx/Doc/complex.sm1 between version 1.2 and 1.3

version 1.2, 2000/03/23 11:54:08 version 1.3, 2000/06/08 08:35:01
Line 1 
Line 1 
 % $OpenXM$  % $OpenXM: OpenXM/src/kan96xx/Doc/complex.sm1,v 1.2 2000/03/23 11:54:08 takayama Exp $
 %% lib/complex.sm1  [ functions for complex ], 1999, 9/9  %% lib/complex.sm1  [ functions for complex ], 1999, 9/9
 %% cf.  yama:1999/Int/uli.sm1  %% cf.  yama:1999/Int/uli.sm1
 %%%%%%%%%%%%%%%%%%%   commands %%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%   commands %%%%%%%%%%%%%%%%%%%%%%%%%
 %%%  res-div, res-solv, res-kernel-image, res-dual  %%%  res-div, res-solv, res-kernel-image, res-dual
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 [(complex.sm1 : 1999, 9/28, res-div, res-solv, res-kernel-image, res-dual )  [(complex.sm1 : 1999, 9/28, res-div, res-solv, res-kernel-image, res-dual )
    (              2000, 6/8,  isExact_h, isExact )
  (In this package, complex is expressed in terms of matrices.)   (In this package, complex is expressed in terms of matrices.)
 ] {message} map  ] {message} map
 /uli.verbose 0 def  /uli.verbose 0 def
Line 902 
Line 903 
  $                     [[(y1) 1 (y2) 1 (y3) 1 (y4) 1]]] pgb $   $                     [[(y1) 1 (y2) 1 (y3) 1 (y4) 1]]] pgb $
  $            0 get [(y1) (y2) (y3) (y4)] eliminatev ::$   $            0 get [(y1) (y2) (y3) (y4)] eliminatev ::$
  $Example 2: [[(x2^2) (x2 x4) (x2) (x4^2)] [(x2) (x4)] (x2,x4)] saturation$   $Example 2: [[(x2^2) (x2 x4) (x2) (x4^2)] [(x2) (x4)] (x2,x4)] saturation$
   ]] putUsages
   
   
   %% 2000, 6/8,  at Fernando Colon, 319,  Sevilla
   
   
   /isExact.verbose 1 def  %% should be changed to gb.verbose
   /isExact_h {
     /arg1 set
     [/in-isExact_h  /vv /comp /i /j /n /kernel.i /ans] pushVariables
     [
       /comp arg1 0 get def
       /vv arg1 1 get def
       /n comp length def
       /ans 1 def
       0 1 n 2 sub {
         /i set
         /j i 1 add def
         isExact.verbose { (Checking ker ) messagen i messagen ( = im of ) messagen
                        j message } {   } ifelse
         [comp i get vv] syz_h 0 get /kernel.i set
         [ kernel.i comp j get vv] isSameIdeal_h /ans set
         ans 0 eq {
           (image != kernel at ) messagen i messagen ( and ) messagen j message
            /LLL.isExact_h goto
         } {  } ifelse
         isExact.verbose { (OK) message } {  } ifelse
       } for
       /LLL.isExact_h
       /arg1 ans def
     ] pop
     arg1
   } def
   
   [(isExact_h)
   [( complex isExact_h bool )
    (It returns 1 when the given complex is exact. All computations are done)
    (in D<h>, the ring of homogenized differential operators.)
    (cf. syz_h, isSameIdeal_h )
    $Example1: [ [[1 2 3]] [0]] gkz /ff set $
    $         [ff 0 get (x1,x2,x3) [[(x2) -1 (Dx2) 1]]] resol1 /gg set $
    $         [gg (x1,x2,x3)] isExact_h :: $
    $         gg 1 get 0 get /pp set $
    $         gg [1 1] pp put $
    $         [gg (x1,x2,x3)] isExact_h :: $
   ]] putUsages
   
   /isExact {
     /arg1 set
     [/in-isExact  /vv /comp /i /j /n /kernel.i /ans] pushVariables
     [
       /comp arg1 0 get def
       /vv arg1 1 get def
       /n comp length def
       /ans 1 def
       0 1 n 2 sub {
         /i set
         /j i 1 add def
         isExact.verbose { (Checking ker ) messagen i messagen ( = im of ) messagen
                        j message } {   } ifelse
         [comp i get vv] syz 0 get /kernel.i set
         [ kernel.i comp j get vv] isSameIdeal /ans set
         ans 0 eq {
           (image != kernel at ) messagen i messagen ( and ) messagen j message
            /LLL.isExact goto
         } {  } ifelse
         isExact.verbose { (OK) message } {  } ifelse
       } for
       /LLL.isExact
       /arg1 ans def
     ] pop
     arg1
   } def
   
   [(isExact)
   [( complex isExact bool )
    (It returns 1 when the given complex is exact. All computations are done)
    (in D, the ring of differentialoperators. Inputs are dehomogenized.)
    (cf. syz, isSameIdeal )
    $Example1: [ [[1 2 3]] [0]] gkz /ff set $
    $         [ff 0 get (x1,x2,x3) [[(x2) -1 (Dx2) 1]]] resol1 /gg set $
    $         [gg (x1,x2,x3)] isExact :: $
    $         gg 1 get 0 get /pp set $
    $         gg [1 1] pp put $
    $         [gg (x1,x2,x3)] isExact :: $
    $Example2: [ [[1 2 3]] [0]] gkz /ff set $
    $         [ff 0 get (x1,x2,x3) [[(x2) -1 (Dx2) 1]]] resol1 /gg set $
    $         gg dehomogenize /gg set $
    $         [gg (x1,x2,x3)] isExact :: $
    (       The syzygies of f_i^h in D<h> do not always give generators of )
    (       the corresponding syzygy of f_i in D.)
 ]] putUsages  ]] putUsages
   

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

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