> -------------------------------------------------- ;; Loading the Kenzo program. -------------------------------------------------- > -------------------------------------------------- (LOAD-CFILES) -------------------------------------------------- > -------------------------------------------------- ; Fast loading C:\Docume~1\Francis\AA\Kenzo\GiftQ\classes.fasl ; Fast loading C:\Docume~1\Francis\AA\Kenzo\GiftQ\macros.fasl ; Fast loading C:\Docume~1\Francis\AA\Kenzo\GiftQ\various.fasl ; Fast loading C:\Docume~1\Francis\AA\Kenzo\GiftQ\combinations.fasl ; Fast loading C:\Docume~1\Francis\AA\Kenzo\GiftQ\chain-complexes.fasl ; Fast loading C:\Docume~1\Francis\AA\Kenzo\GiftQ\chcm-elementary-op.fasl ; Fast loading C:\Docume~1\Francis\AA\Kenzo\GiftQ\effective-homology.fasl ; Fast loading C:\Docume~1\Francis\AA\Kenzo\GiftQ\searching-homology.fasl ; Fast loading C:\Docume~1\Francis\AA\Kenzo\GiftQ\homology-groups.fasl ; Fast loading C:\Docume~1\Francis\AA\Kenzo\GiftQ\cones.fasl ; Fast loading C:\Docume~1\Francis\AA\Kenzo\GiftQ\tensor-products.fasl ; Fast loading C:\Docume~1\Francis\AA\Kenzo\GiftQ\koszul.fasl ; Fast loading C:\Docume~1\Francis\AA\Kenzo\GiftQ\groebner.fasl ; Fast loading C:\Docume~1\Francis\AA\Kenzo\GiftQ\smithQ.fasl --- done --- -------------------------------------------------- > -------------------------------------------------- ;; Favourite didactic example. ;; ;; I = -------------------------------------------------- > -------------------------------------------------- (SETF IDEAL (LIST (CMBN 0 1 '(1 0 2) -1 '(0 1 0)) (CMBN 0 1 '(0 0 3) -1 '(1 0 0)) (CMBN 0 1 '(2 0 0) -1 '(0 1 1)))) -------------------------------------------------- > -------------------------------------------------- ( ----------------------------------------------------------------------{CMBN 0} <1 * (1 0 2)> <-1 * (0 1 0)> ------------------------------------------------------------------------------ ----------------------------------------------------------------------{CMBN 0} <1 * (0 0 3)> <-1 * (1 0 0)> ------------------------------------------------------------------------------ ----------------------------------------------------------------------{CMBN 0} <1 * (2 0 0)> <-1 * (0 1 1)> ------------------------------------------------------------------------------ ) -------------------------------------------------- > -------------------------------------------------- ;; Koszul complex. -------------------------------------------------- > -------------------------------------------------- (SETF KSZ-A/I (K-COMPLEX/GI 3 IDEAL)) -------------------------------------------------- > -------------------------------------------------- [K5 Chain-Complex] -------------------------------------------------- > -------------------------------------------------- ;; Homology. -------------------------------------------------- > -------------------------------------------------- (HOMOLOGY KSZ-A/I 0 4) -------------------------------------------------- > -------------------------------------------------- Computing boundary-matrix in dimension 0. Rank of the source-module : 1. ;; Clock -> 2006-08-25, 17h 40m 54s. Computing the boundary of the generator 1 (dimension 0) : >> End of computing. Computing boundary-matrix in dimension 1. Rank of the source-module : 3. ;; Clock -> 2006-08-25, 17h 40m 54s. Computing the boundary of the generator 1 (dimension 1) : >> End of computing. ;; Clock -> 2006-08-25, 17h 40m 54s. Computing the boundary of the generator 2 (dimension 1) : >> End of computing. ;; Clock -> 2006-08-25, 17h 40m 54s. Computing the boundary of the generator 3 (dimension 1) : >> End of computing. Homology in dimension 0 : Component Z ---done--- ;; Clock -> 2006-08-25, 17h 40m 54s. Computing boundary-matrix in dimension 1. Rank of the source-module : 3. ;; Clock -> 2006-08-25, 17h 40m 54s. Computing the boundary of the generator 1 (dimension 1) : >> End of computing. ;; Clock -> 2006-08-25, 17h 40m 54s. Computing the boundary of the generator 2 (dimension 1) : >> End of computing. ;; Clock -> 2006-08-25, 17h 40m 54s. Computing the boundary of the generator 3 (dimension 1) : >> End of computing. Computing boundary-matrix in dimension 2. Rank of the source-module : 3. ;; Clock -> 2006-08-25, 17h 40m 54s. Computing the boundary of the generator 1 (dimension 2) : >> End of computing. ;; Clock -> 2006-08-25, 17h 40m 54s. Computing the boundary of the generator 2 (dimension 2) : >> End of computing. ;; Clock -> 2006-08-25, 17h 40m 54s. Computing the boundary of the generator 3 (dimension 2) : >> End of computing. Homology in dimension 1 : Component Z Component Z ---done--- ;; Clock -> 2006-08-25, 17h 40m 54s. Computing boundary-matrix in dimension 2. Rank of the source-module : 3. ;; Clock -> 2006-08-25, 17h 40m 54s. Computing the boundary of the generator 1 (dimension 2) : >> End of computing. ;; Clock -> 2006-08-25, 17h 40m 54s. Computing the boundary of the generator 2 (dimension 2) : >> End of computing. ;; Clock -> 2006-08-25, 17h 40m 54s. Computing the boundary of the generator 3 (dimension 2) : >> End of computing. Computing boundary-matrix in dimension 3. Rank of the source-module : 1. ;; Clock -> 2006-08-25, 17h 40m 54s. Computing the boundary of the generator 1 (dimension 3) : >> End of computing. Homology in dimension 2 : Component Z ---done--- ;; Clock -> 2006-08-25, 17h 40m 54s. Computing boundary-matrix in dimension 3. Rank of the source-module : 1. ;; Clock -> 2006-08-25, 17h 40m 54s. Computing the boundary of the generator 1 (dimension 3) : >> End of computing. Computing boundary-matrix in dimension 4. Rank of the source-module : 0. Homology in dimension 3 : ---done--- ;; Clock -> 2006-08-25, 17h 40m 55s. -------------------------------------------------- > -------------------------------------------------- ;; => Betti numbers = (1, 2, 1, 0) ;; ;; How many Kenzo objects ?? -------------------------------------------------- > -------------------------------------------------- (LENGTH *K-LIST*) -------------------------------------------------- > -------------------------------------------------- 255 -------------------------------------------------- > -------------------------------------------------- ;; Listing the involved Koszul complexes. -------------------------------------------------- > -------------------------------------------------- (DOLIST (ITEM *K-LIST*) (WHEN (MEMBER (FIRST (DFNT ITEM)) '(K-COMPLEX K-COMPLEX/I K-COMPLEX/GI)) (PRINT (LIST (IDNM ITEM) (DFNT ITEM))))) -------------------------------------------------- > -------------------------------------------------- (118 (K-COMPLEX/I 3 ((0 0 1)))) (24 (K-COMPLEX/I 3 ((2 0 0)))) (11 (K-COMPLEX/I 3 ((0 0 3) (2 0 0)))) (9 (K-COMPLEX/I 3 ((1 0 0) (0 0 1)))) (7 (K-COMPLEX/I 3 ((1 0 2) (0 0 3) (2 0 0)))) (5 (K-COMPLEX/GI 3 ( ----------------------------------------------------------------------{CMBN 0} <1 * (1 0 2)> <-1 * (0 1 0)> ------------------------------------------------------------------------------ ----------------------------------------------------------------------{CMBN 0} <1 * (0 0 3)> <-1 * (1 0 0)> ------------------------------------------------------------------------------ ----------------------------------------------------------------------{CMBN 0} <1 * (2 0 0)> <-1 * (0 1 1)> ------------------------------------------------------------------------------ ))) (1 (K-COMPLEX 3)) -------------------------------------------------- > -------------------------------------------------- ;; 1 BASIC Koszul complex ;; + 1 GENERAL Koszul complex ;; + 5 MONOMIAL Koszul complex. -------------------------------------------------- > -------------------------------------------------- ;; Homology of the initial monomial Koszul complex. -------------------------------------------------- > -------------------------------------------------- (HOMOLOGY (K 7) 0 4) -------------------------------------------------- > -------------------------------------------------- Computing boundary-matrix in dimension 0. Rank of the source-module : 1. ;; Clock -> 2006-08-25, 17h 41m 18s. Computing the boundary of the generator 1 (dimension 0) : >> End of computing. Computing boundary-matrix in dimension 1. Rank of the source-module : 3. ;; Clock -> 2006-08-25, 17h 41m 18s. Computing the boundary of the generator 1 (dimension 1) : >> End of computing. ;; Clock -> 2006-08-25, 17h 41m 18s. Computing the boundary of the generator 2 (dimension 1) : >> End of computing. ;; Clock -> 2006-08-25, 17h 41m 18s. Computing the boundary of the generator 3 (dimension 1) : >> End of computing. Homology in dimension 0 : Component Z ---done--- ;; Clock -> 2006-08-25, 17h 41m 18s. Computing boundary-matrix in dimension 1. Rank of the source-module : 3. ;; Clock -> 2006-08-25, 17h 41m 18s. Computing the boundary of the generator 1 (dimension 1) : >> End of computing. ;; Clock -> 2006-08-25, 17h 41m 18s. Computing the boundary of the generator 2 (dimension 1) : >> End of computing. ;; Clock -> 2006-08-25, 17h 41m 18s. Computing the boundary of the generator 3 (dimension 1) : >> End of computing. Computing boundary-matrix in dimension 2. Rank of the source-module : 3. ;; Clock -> 2006-08-25, 17h 41m 18s. Computing the boundary of the generator 1 (dimension 2) : >> End of computing. ;; Clock -> 2006-08-25, 17h 41m 18s. Computing the boundary of the generator 2 (dimension 2) : >> End of computing. ;; Clock -> 2006-08-25, 17h 41m 18s. Computing the boundary of the generator 3 (dimension 2) : >> End of computing. Homology in dimension 1 : Component Z Component Z Component Z ---done--- ;; Clock -> 2006-08-25, 17h 41m 18s. Computing boundary-matrix in dimension 2. Rank of the source-module : 3. ;; Clock -> 2006-08-25, 17h 41m 18s. Computing the boundary of the generator 1 (dimension 2) : >> End of computing. ;; Clock -> 2006-08-25, 17h 41m 18s. Computing the boundary of the generator 2 (dimension 2) : >> End of computing. ;; Clock -> 2006-08-25, 17h 41m 18s. Computing the boundary of the generator 3 (dimension 2) : >> End of computing. Computing boundary-matrix in dimension 3. Rank of the source-module : 1. ;; Clock -> 2006-08-25, 17h 41m 18s. Computing the boundary of the generator 1 (dimension 3) : >> End of computing. Homology in dimension 2 : Component Z Component Z ---done--- ;; Clock -> 2006-08-25, 17h 41m 18s. Computing boundary-matrix in dimension 3. Rank of the source-module : 1. ;; Clock -> 2006-08-25, 17h 41m 18s. Computing the boundary of the generator 1 (dimension 3) : >> End of computing. Computing boundary-matrix in dimension 4. Rank of the source-module : 0. Homology in dimension 3 : ---done--- ;; Clock -> 2006-08-25, 17h 41m 19s. -------------------------------------------------- > -------------------------------------------------- ;; Kenzo expression of the Macaulay ideal: ;; | t5-x t3y-x2 t2y2-xz t3z-y2 t2x-y tx2-z x3-ty2 y3-x2z xy-tz | ;; = the Groebner basis of ;; ideal(x-t^5, y-t^7, z-t^11) -------------------------------------------------- > -------------------------------------------------- (SETF IDEAL (LIST (CMBN 0 1 '(5 0 0 0) -1 '(0 1 0 0)) ;; t5 - x (CMBN 0 1 '(3 0 1 0) -1 '(0 2 0 0)) ;; t3y - x2 (CMBN 0 1 '(2 0 2 0) -1 '(0 1 0 1)) ;; t2y2 - xz (CMBN 0 1 '(3 0 0 1) -1 '(0 0 2 0)) ;; t3z - y2 (CMBN 0 1 '(2 1 0 0) -1 '(0 0 1 0)) ;; t2x - y (CMBN 0 1 '(1 2 0 0) -1 '(0 0 0 1)) ;; tx2 - z (CMBN 0 1 '(0 3 0 0) -1 '(1 0 2 0)) ;; x3 - ty2 (CMBN 0 1 '(0 0 3 0) -1 '(0 2 0 1)) ;; y3 - x2z (CMBN 0 1 '(0 1 1 0) -1 '(1 0 0 1))));; xy - tz -------------------------------------------------- > -------------------------------------------------- ( ----------------------------------------------------------------------{CMBN 0} <1 * (5 0 0 0)> <-1 * (0 1 0 0)> ------------------------------------------------------------------------------ ----------------------------------------------------------------------{CMBN 0} <1 * (3 0 1 0)> <-1 * (0 2 0 0)> ------------------------------------------------------------------------------ ----------------------------------------------------------------------{CMBN 0} <1 * (2 0 2 0)> <-1 * (0 1 0 1)> ------------------------------------------------------------------------------ ----------------------------------------------------------------------{CMBN 0} <1 * (3 0 0 1)> <-1 * (0 0 2 0)> ------------------------------------------------------------------------------ ----------------------------------------------------------------------{CMBN 0} <1 * (2 1 0 0)> <-1 * (0 0 1 0)> ------------------------------------------------------------------------------ ----------------------------------------------------------------------{CMBN 0} <1 * (1 2 0 0)> <-1 * (0 0 0 1)> ------------------------------------------------------------------------------ ----------------------------------------------------------------------{CMBN 0} <1 * (0 3 0 0)> <-1 * (1 0 2 0)> ------------------------------------------------------------------------------ ----------------------------------------------------------------------{CMBN 0} <1 * (0 0 3 0)> <-1 * (0 2 0 1)> ------------------------------------------------------------------------------ ----------------------------------------------------------------------{CMBN 0} <1 * (0 1 1 0)> <-1 * (1 0 0 1)> ------------------------------------------------------------------------------ ) -------------------------------------------------- > -------------------------------------------------- ;; The corresponding Koszul complex. -------------------------------------------------- > -------------------------------------------------- (SETF KSZ (K-COMPLEX/GI 4 IDEAL)) -------------------------------------------------- > -------------------------------------------------- [K260 Chain-Complex] -------------------------------------------------- > -------------------------------------------------- ;; Asking for the EQUIVALENCE describing EFfective HoMology. -------------------------------------------------- > -------------------------------------------------- (EFHM KSZ) -------------------------------------------------- > -------------------------------------------------- [K1014 Equivalence K260 <= K997 => K1011] -------------------------------------------------- > -------------------------------------------------- ;; But we intend to compute the MINIMAL resolution. ;; so that we need the MINIMAL effective homology. -------------------------------------------------- > -------------------------------------------------- (SETF MMM-RDCT (KOSZUL-MIN-RDCT IDEAL)) -------------------------------------------------- > -------------------------------------------------- [K1030 Reduction K260 => K1015] -------------------------------------------------- > -------------------------------------------------- ;; Comparing cardinalities of effective chain complexes. -------------------------------------------------- > -------------------------------------------------- ;; First case : no minimality required. -------------------------------------------------- > -------------------------------------------------- (MAPCAR #'(LAMBDA (I) (LENGTH (BASIS (RBCC (EFHM KSZ)) I))) '(0 1 2 3 4)) -------------------------------------------------- > -------------------------------------------------- (1 9 17 12 3) -------------------------------------------------- > -------------------------------------------------- ;; Second case: minimality required. -------------------------------------------------- > -------------------------------------------------- (MAPCAR #'(LAMBDA (I) (LENGTH (BASIS (BCC MMM-RDCT) I))) '(0 1 2 3 4)) -------------------------------------------------- > -------------------------------------------------- (1 3 3 1 0) -------------------------------------------------- > -------------------------------------------------- ;; => (1 3 3 1) are the Betti numbers of the Koszul complex. -------------------------------------------------- > -------------------------------------------------- ;; Constructing the minimal resolution. -------------------------------------------------- > -------------------------------------------------- (SETF MMM-RSL (MINIMAL-RESOLUTION IDEAL)) -------------------------------------------------- > -------------------------------------------------- [K1054 Chain-Complex] -------------------------------------------------- > -------------------------------------------------- ;; Displaying the resolution. -------------------------------------------------- > -------------------------------------------------- (DISPLAY-RESOLUTION IDEAL) -------------------------------------------------- > -------------------------------------------------- G-0-1 ----------------------------------------------------------------------{CMBN -1} ------------------------------------------------------------------------------ G-1-1 ----------------------------------------------------------------------{CMBN 0} <-1 * (G-0-1 2 1 0 0)> <1 * (G-0-1 0 0 1 0)> ------------------------------------------------------------------------------ G-1-2 ----------------------------------------------------------------------{CMBN 0} <-1 * (G-0-1 1 2 0 0)> <1 * (G-0-1 0 0 0 1)> ------------------------------------------------------------------------------ G-1-3 ----------------------------------------------------------------------{CMBN 0} <-1 * (G-0-1 5 0 0 0)> <1 * (G-0-1 0 1 0 0)> ------------------------------------------------------------------------------ G-2-1 ----------------------------------------------------------------------{CMBN 1} <1 * (G-1-2 5 0 0 0)> <-1 * (G-1-2 0 1 0 0)> <-1 * (G-1-3 1 2 0 0)> <1 * (G-1-3 0 0 0 1)> ------------------------------------------------------------------------------ G-2-2 ----------------------------------------------------------------------{CMBN 1} <1 * (G-1-1 5 0 0 0)> <-1 * (G-1-1 0 1 0 0)> <-1 * (G-1-3 2 1 0 0)> <1 * (G-1-3 0 0 1 0)> ------------------------------------------------------------------------------ G-2-3 ----------------------------------------------------------------------{CMBN 1} <1 * (G-1-1 1 2 0 0)> <-1 * (G-1-1 0 0 0 1)> <-1 * (G-1-2 2 1 0 0)> <1 * (G-1-2 0 0 1 0)> ------------------------------------------------------------------------------ G-3-1 ----------------------------------------------------------------------{CMBN 2} <-1 * (G-2-1 2 1 0 0)> <1 * (G-2-1 0 0 1 0)> <1 * (G-2-2 1 2 0 0)> <-1 * (G-2-2 0 0 0 1)> <-1 * (G-2-3 5 0 0 0)> <1 * (G-2-3 0 1 0 0)> ------------------------------------------------------------------------------ -------------------------------------------------- > -------------------------------------------------- ;; For example translation of the last result: ;; Boundary matrix between degrees 3 and 2: ;; ;; G-3-1 ;; ;; G-2-1 (- t^2 x + y) ;; G-2-2 ( t x^2 - z) ;; G-2-3 (- t^5 + x) ;; -------------------------------------------------- > -------------------------------------------------- ;; +-----------------+ ;; + | ;; + The END | ;; + | ;; +-----------------+ -------------------------------------------------- >