;;; CS-TWISTED-PRODUCTS CS-TWISTED-PRODUCTS CS-TWISTED-PRODUCTS ;;; CS-TWISTED-PRODUCTS CS-TWISTED-PRODUCTS CS-TWISTED-PRODUCTS ;;; CS-TWISTED-PRODUCTS CS-TWISTED-PRODUCTS CS-TWISTED-PRODUCTS (IN-PACKAGE "COMMON-LISP-USER") (PROVIDE "cs-twisted-products") (DEFUN SMGR-FIBRATION-SINTR (dmns gbar) (declare (ignore dmns) (type gbar gbar)) (the absm (first (gbar-list gbar)))) (DEFUN SMGR-FIBRATION (smgr) (declare (type simplicial-group smgr)) (the fibration (build-smmr :sorc (classifying-space smgr) :trgt smgr :degr -1 :sintr #'smgr-fibration-sintr :orgn `(simplicial-group-fibration ,smgr)))) #| (setf k1 (k-z-1)) (setf tw (smgr-fibration k1)) (setf k2 (sorc tw)) (setf tt (fibration-total tw)) (setf gmsm (crpr 0 (gbar 4 0 '(10 11 12) 0 '(20 21) 0 '(30) 0 '()) 0 '(2 4 6 8))) (dotimes (i 5) (print (face tt i 4 gmsm))) (setf br (brown-reduction tw)) (setf tw-pr (bcc br)) (? tw-pr 4 (tnpr 4 (gbar 4 0 '(1 10 100) 0 '(1000 10000) 0 '(100000) 0 '()) 0 '())) |# (DEFUN SMGR-CRTS-CONTRACTION-INTR (idnt) (declare (type gmsm idnt)) (flet ((rslt (degr crpr &aux (degr+1 (1+ degr))) (declare (fixnum degr degr+1) (type crpr crpr)) (the cmbn (with-crpr (absm1 absm2) crpr (if (= (dgop absm2) (mask degr)) (zero-cmbn degr+1) (term-cmbn degr+1 (-1-expt-n+1 degr) (crpr 0 (make-gbar :dmns degr+1 :list (cons absm2 (rest (unnormalize-gbar absm1 idnt)))) (mask degr+1) idnt))))))) (the intr-mrph #'rslt))) (DEFUN SMGR-CRTS-CONTRACTION (smgr) (declare (type simplicial-group smgr)) (the morphism (build-mrph :sorc (fibration-total (smgr-fibration smgr)) :trgt (fibration-total (smgr-fibration smgr)) :degr +1 :intr (smgr-crts-contraction-intr (bspn smgr)) :strt :gnrt :orgn `(smgr-crts-contraction ,smgr)))) #| (cat-init) (setf chi (smgr-crts-contraction (k-z-1))) (setf rdct (build-rdct :f (zero-mrph (sorc chi) (z-chcm)) :g (zero-mrph (z-chcm) (sorc chi)) :h chi)) (pre-check-rdct rdct) (setf *tc* (cmbn 0 1 (crpr 0 +null-gbar+ 0 '()))) (setf *bc* (cmbn 0 1 :z-gnrt)) (check-rdct) (setf *tc* (cmbn 1 1 (crpr 1 +null-gbar+ 0 '(1)))) (check-rdct) (setf *tc* (cmbn 4 1 (crpr 0 (gbar 4 0 '(10 11 12) 0 '(20 21) 0 '(30) 0 '()) 0 '(2 4 6 8)))) (check-rdct) (setf *tc* (cmbn 3 1 (crpr 0 (gbar 3 0 '(10 11) 0 '(20) 0 '()) 0 '(2 4 6)))) (check-rdct) |# (DEFUN SMGR-TNPR-CONTRACTION (smgr &aux (fibration (smgr-fibration smgr)) (brown (brown-reduction fibration)) (f (f brown)) (g (g brown)) (chi (smgr-crts-contraction smgr))) (declare (type simplicial-group smgr) (type fibration fibration) (type reduction brown) (type morphism f g chi)) (the morphism (i-cmps f chi g))) #| (cat-init) (setf chi (smgr-tnpr-contraction (k-z-1))) (setf rdct (build-rdct :f (zero-mrph (sorc chi) (z-chcm)) :g (zero-mrph (z-chcm) (sorc chi)) :h chi)) (pre-check-rdct rdct) (setf *tc* (cmbn 0 1 (tnpr 0 +null-gbar+ 0 '()))) (setf *bc* (cmbn 0 1 :z-gnrt)) (check-rdct) (setf *tc* (cmbn 1 1 (tnpr 0 +null-gbar+ 1 '(1)))) (check-rdct) (setf *tc* (cmbn 3 1 (tnpr 0 +null-gbar+ 3 '(1 10 100)))) (? chi *tc*) (check-rdct) (setf *tc* (cmbn 3 1 (tnpr 2 (gbar 2 0 '(1) 0 '()) 1 '(10)))) (? chi *tc*) (check-rdct) (setf *tc* (cmbn 3 1 (tnpr 3 (gbar 3 0 '(1 10) 0 '(100) 0 '()) 0 '()))) (? chi *tc*) (check-rdct) (setf *tc* (cmbn 4 1 (tnpr 0 +null-gbar+ 4 '(1 10 100 1000)))) (? chi *tc*) (check-rdct) (setf *tc* (cmbn 4 1 (tnpr 2 (gbar 2 0 '(1) 0 '()) 2 '(10 100)))) (? chi *tc*) (check-rdct) (setf *tc* (cmbn 4 1 (tnpr 3 (gbar 3 0 '(1 10) 0 '(100) 0 '()) 1 '(1000)))) (? chi *tc*) (check-rdct) (setf *tc* (cmbn 4 1 (tnpr 4 (gbar 4 0 '(1 10 100) 0 '(1000 10000) 0 '(100000) 0 '()) 0 '()))) (? chi *tc*) (check-rdct) |#