Computation of homotopy groups (null groups included)
This commit is contained in:
parent
a80dd83a67
commit
4ffed16284
21
kenzo.asd
21
kenzo.asd
@ -17,7 +17,8 @@
|
|||||||
((:file "package")
|
((:file "package")
|
||||||
(:module "src"
|
(:module "src"
|
||||||
:components
|
:components
|
||||||
((:file "kenzo")
|
(
|
||||||
|
(:file "kenzo")
|
||||||
(:file "abbreviations")
|
(:file "abbreviations")
|
||||||
(:file "macros")
|
(:file "macros")
|
||||||
(:file "various")
|
(:file "various")
|
||||||
@ -56,16 +57,16 @@
|
|||||||
(:file "cl-space-efhm")
|
(:file "cl-space-efhm")
|
||||||
(:file "whitehead")
|
(:file "whitehead")
|
||||||
(:file "smith")
|
(:file "smith")
|
||||||
(:file "sage-interface")
|
|
||||||
|
|
||||||
(:module "anromero"
|
(:module "anromero"
|
||||||
:components
|
:components
|
||||||
|
((:file "resolutions")
|
||||||
|
(:file "cylinders")
|
||||||
|
(:file "fundamental-classes")
|
||||||
|
(:file "homotopy")
|
||||||
|
(:file "bicomplexes")))
|
||||||
|
#|
|
||||||
((:file "bicomplexes")
|
((:file "bicomplexes")
|
||||||
(:file "filtered-complexes")
|
(:file "filtered-complexes")
|
||||||
(:file "spectral-sequences")
|
(:file "spectral-sequences")))
|
||||||
(:file "resolutions")
|
|#
|
||||||
(:file "cylinders")
|
))))
|
||||||
(:file "fundamental-classes")
|
|
||||||
(:file "homotopy")))
|
|
||||||
|
|
||||||
))))
|
|
||||||
|
|||||||
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
;;; Authors: Jonathan Heras and Ana Romero
|
;;; Authors: Jonathan Heras and Ana Romero
|
||||||
|
|
||||||
|
|
||||||
(IN-PACKAGE #:cat)
|
(IN-PACKAGE #:cat)
|
||||||
|
|
||||||
(provide "homotopy")
|
(provide "homotopy")
|
||||||
@ -55,14 +56,15 @@
|
|||||||
(ft (fibration-total (eval fib)))
|
(ft (fibration-total (eval fib)))
|
||||||
(result (homology-format (eval ft) (1+ indx))))
|
(result (homology-format (eval ft) (1+ indx))))
|
||||||
(if (= (1+ indx) n-hom)
|
(if (= (1+ indx) n-hom)
|
||||||
(homology-format (eval ft) n-hom)
|
(homology-format (eval ft) n-hom)
|
||||||
|
(if (string= "NIL" result) result
|
||||||
(if (string= "Z " result)
|
(if (string= "Z " result)
|
||||||
(compute-homotopy-z-xslt n-hom ft (1+ indx))
|
(compute-homotopy-z-xslt n-hom ft (1+ indx))
|
||||||
(if (string= "Z/2Z " result)
|
(if (string= "Z/2Z " result)
|
||||||
(compute-homotopy-z2-xslt n-hom ft (1+ indx))
|
(compute-homotopy-z2-xslt n-hom ft (1+ indx))
|
||||||
(if (and (string= (subseq result 0 2) "Z/") (string= (subseq result (search "Z" result :start2 2)) "Z"))
|
(if (and (string= (subseq result 0 2) "Z/") (string= (subseq result (search "Z" result :start2 2)) "Z"))
|
||||||
(compute-homotopy-zp-xslt n-hom ft (1+ indx) (read-from-string (subseq result 2 (search "Z" result :start2 2))))
|
(compute-homotopy-zp-xslt n-hom ft (1+ indx) (read-from-string (subseq result 2 (search "Z" result :start2 2))))
|
||||||
(compute-homotopy-several-xslt n-hom ft (1+ indx) result)))))))
|
(compute-homotopy-several-xslt n-hom ft (1+ indx) result))))))))
|
||||||
|
|
||||||
|
|
||||||
(DEFUN COMPUTE-HOMOTOPY-Z2-XSLT (n-hom obj indx)
|
(DEFUN COMPUTE-HOMOTOPY-Z2-XSLT (n-hom obj indx)
|
||||||
@ -71,14 +73,15 @@
|
|||||||
(ft (fibration-total (eval fib)))
|
(ft (fibration-total (eval fib)))
|
||||||
(result (homology-format (eval ft) (1+ indx))))
|
(result (homology-format (eval ft) (1+ indx))))
|
||||||
(if (= (1+ indx) n-hom)
|
(if (= (1+ indx) n-hom)
|
||||||
(homology-format (eval ft) n-hom)
|
(homology-format (eval ft) n-hom)
|
||||||
|
(if (string= "NIL" result) result
|
||||||
(if (string= "Z " result)
|
(if (string= "Z " result)
|
||||||
(compute-homotopy-z-xslt n-hom ft (1+ indx))
|
(compute-homotopy-z-xslt n-hom ft (1+ indx))
|
||||||
(if (string= "Z/2Z " result)
|
(if (string= "Z/2Z " result)
|
||||||
(compute-homotopy-z2-xslt n-hom ft (1+ indx))
|
(compute-homotopy-z2-xslt n-hom ft (1+ indx))
|
||||||
(if (and (string= (subseq result 0 2) "Z/") (string= (subseq result (search "Z" result :start2 2)) "Z"))
|
(if (and (string= (subseq result 0 2) "Z/") (string= (subseq result (search "Z" result :start2 2)) "Z"))
|
||||||
(compute-homotopy-zp-xslt n-hom ft (1+ indx) (read-from-string (subseq result 2 (search "Z" result :start2 2))))
|
(compute-homotopy-zp-xslt n-hom ft (1+ indx) (read-from-string (subseq result 2 (search "Z" result :start2 2))))
|
||||||
(compute-homotopy-several-xslt n-hom ft (1+ indx) result)))))))
|
(compute-homotopy-several-xslt n-hom ft (1+ indx) result))))))))
|
||||||
|
|
||||||
|
|
||||||
(DEFUN COMPUTE-HOMOTOPY-ZP-XSLT (n-hom obj indx n)
|
(DEFUN COMPUTE-HOMOTOPY-ZP-XSLT (n-hom obj indx n)
|
||||||
@ -87,18 +90,21 @@
|
|||||||
(ft (fibration-total (eval fib)))
|
(ft (fibration-total (eval fib)))
|
||||||
(result (homology-format (eval ft) (1+ indx))))
|
(result (homology-format (eval ft) (1+ indx))))
|
||||||
(if (= (1+ indx) n-hom)
|
(if (= (1+ indx) n-hom)
|
||||||
(homology-format (eval ft) n-hom)
|
(homology-format (eval ft) n-hom)
|
||||||
|
(if (string= "NIL" result) result
|
||||||
(if (string= "Z " result)
|
(if (string= "Z " result)
|
||||||
(compute-homotopy-z-xslt n-hom ft (1+ indx))
|
(compute-homotopy-z-xslt n-hom ft (1+ indx))
|
||||||
(if (string= "Z/2Z " result)
|
(if (string= "Z/2Z " result)
|
||||||
(compute-homotopy-z2-xslt n-hom ft (1+ indx))
|
(compute-homotopy-z2-xslt n-hom ft (1+ indx))
|
||||||
(if (and (string= (subseq result 0 2) "Z/") (string= (subseq result (search "Z" result :start2 2)) "Z"))
|
(if (and (string= (subseq result 0 2) "Z/") (string= (subseq result (search "Z" result :start2 2)) "Z"))
|
||||||
(compute-homotopy-zp-xslt n-hom ft (1+ indx) (read-from-string (subseq result 2 (search "Z" result :start2 2))))
|
(compute-homotopy-zp-xslt n-hom ft (1+ indx) (read-from-string (subseq result 2 (search "Z" result :start2 2))))
|
||||||
(compute-homotopy-several-xslt n-hom ft (1+ indx) result)))))))
|
(compute-homotopy-several-xslt n-hom ft (1+ indx) result))))))))
|
||||||
|
|
||||||
|
|
||||||
(DEFUN SPLIT-COMPONENTS (string)
|
(DEFUN SPLIT-COMPONENTS (string)
|
||||||
(let ((term (if (string= string "") "" (subseq string 0 2))))
|
(let ((term (if (string= string "") ""
|
||||||
|
(if (string= string "NIL") NIL
|
||||||
|
(subseq string 0 2)))))
|
||||||
(if (string= term "Z ")
|
(if (string= term "Z ")
|
||||||
(cons 1 (split-components (subseq string 2)))
|
(cons 1 (split-components (subseq string 2)))
|
||||||
(if (string= term "Z/")
|
(if (string= term "Z/")
|
||||||
@ -129,14 +135,15 @@
|
|||||||
(let* ((ft (construct-space-iterative obj (split-components hom) indx))
|
(let* ((ft (construct-space-iterative obj (split-components hom) indx))
|
||||||
(result (homology-format ft (1+ indx))))
|
(result (homology-format ft (1+ indx))))
|
||||||
(if (= (1+ indx) n-hom)
|
(if (= (1+ indx) n-hom)
|
||||||
(homology-format (eval ft) n-hom)
|
(homology-format (eval ft) n-hom)
|
||||||
|
(if (string= "NIL" result) result
|
||||||
(if (string= "Z " result)
|
(if (string= "Z " result)
|
||||||
(compute-homotopy-z-xslt n-hom ft (1+ indx))
|
(compute-homotopy-z-xslt n-hom ft (1+ indx))
|
||||||
(if (string= "Z/2Z " result)
|
(if (string= "Z/2Z " result)
|
||||||
(compute-homotopy-z2-xslt n-hom ft (1+ indx))
|
(compute-homotopy-z2-xslt n-hom ft (1+ indx))
|
||||||
(if (and (string= (subseq result 0 2) "Z/") (string= (subseq result (search "Z" result :start2 2)) "Z"))
|
(if (and (string= (subseq result 0 2) "Z/") (string= (subseq result (search "Z" result :start2 2)) "Z"))
|
||||||
(compute-homotopy-zp-xslt n-hom ft (1+ indx) (read-from-string (subseq result 2 (search "Z" result :start2 2))))
|
(compute-homotopy-zp-xslt n-hom ft (1+ indx) (read-from-string (subseq result 2 (search "Z" result :start2 2))))
|
||||||
(compute-homotopy-several-xslt n-hom ft (1+ indx) result)))))))
|
(compute-homotopy-several-xslt n-hom ft (1+ indx) result))))))))
|
||||||
|
|
||||||
|
|
||||||
(DEFUN COMPUTE-HOMOTOPY2-XSLT (n-hom obj degree hom)
|
(DEFUN COMPUTE-HOMOTOPY2-XSLT (n-hom obj degree hom)
|
||||||
@ -191,3 +198,4 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user