added doc sources (in old LaTeX)
This commit is contained in:
parent
53d132145f
commit
b288a64669
550
doc/doc_src/aldoc.tex
Normal file
550
doc/doc_src/aldoc.tex
Normal file
@ -0,0 +1,550 @@
|
|||||||
|
\chapter{Algebras and Bars}
|
||||||
|
|
||||||
|
\section{Algebra}
|
||||||
|
|
||||||
|
An algebra is a pair $(A, \varpi)$ where
|
||||||
|
\begin{enumerate}
|
||||||
|
\item $A$ is a chain complex.
|
||||||
|
\item $\varpi$ (the {\em product}) is a chain complex morphism
|
||||||
|
$$\varpi: A \otimes A \rightarrow A.$$
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
These components must satisfy the usual structural properties of the algebras.
|
||||||
|
|
||||||
|
\subsection {Implementation of an algebra}
|
||||||
|
|
||||||
|
An algebra is represented as an instance\index{class!{\tt ALGEBRA}}
|
||||||
|
of the CLOS class {\tt ALGEBRA}, subclass
|
||||||
|
of the {\tt CHAIN COMPLEX} class. The definition of this new class is simply:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(DEFCLASS ALGEBRA (chain-complex)
|
||||||
|
((aprd :type morphism :initarg :aprd :reader aprd1))) ;; product
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
So, this new class inherits the slots of the {\tt CHAIN COMPLEX} class and has a slot
|
||||||
|
of its own, namely {\tt aprd}, an object of type {\tt MORPHISM} representing the product. Like in a coalgebra,
|
||||||
|
the user will note the important following fact that, {\bf once an algebra has been defined, one may use on it any
|
||||||
|
function or method applicable to a chain complex}.
|
||||||
|
|
||||||
|
\subsection {The function build-algb}
|
||||||
|
|
||||||
|
To\index{function!{\tt build-algb}} facilitate the construction of instances of the {\tt ALGEBRA} class,
|
||||||
|
the software {\bf Kenzo} provides the function {\tt build-algb}:
|
||||||
|
|
||||||
|
\vskip 0.40cm
|
||||||
|
{\tt build-algb :cmpr} {\em cmpr} {\tt :basis} {\em basis} {\tt :bsgn} {\em bsgn} {\tt :intr-dffr} {\em intr-dffr}\par
|
||||||
|
\hspace*{22.5mm}{\tt :dffr-strt} {\em dffr-strt} {\tt :intr-aprd} {\em intr-aprd} \par
|
||||||
|
\hspace*{22.5mm}{\tt :aprd-strt} {\em aprd-strt} {\tt :orgn} {\em orgn}
|
||||||
|
\vskip 0.40cm
|
||||||
|
defined with keyword parameters. The returned value is an instance of type {\tt ALGEBRA}.
|
||||||
|
The keyword arguments are:
|
||||||
|
\begin{itemize}
|
||||||
|
\item[--] {\em cmpr}, a comparison function for generators.
|
||||||
|
\item[--] {\em basis}, the basis function for the underlying chain complex.
|
||||||
|
\item[--] {\em bsgn}, the base point, a generator of any type.
|
||||||
|
\item[--] {\em intr-dffr}, the differential lisp function for the chain complex.
|
||||||
|
\item[--] {\em dffr-strt}, the strategy ({\tt :gnrt} or {\tt :cmbn}) for the differential.
|
||||||
|
\item[--] {\em intr-aprd}, the lisp function for the product of the algebra.
|
||||||
|
\item[--] {\em aprd-strt}, the strategy ({\tt :gnrt} or {\tt :cmbn}) for the coproduct.
|
||||||
|
\item[--] {\em orgn}, an adequate comment list.
|
||||||
|
\end{itemize}
|
||||||
|
The function {\tt build-algb} calls the function {\tt build-chcm} and with the help of the function
|
||||||
|
{\tt build-mrph} builds the product morphism of degree $0$ to settle the
|
||||||
|
slot {\tt aprd} of the instance. According to
|
||||||
|
the definition, the source slot of the product morphism
|
||||||
|
is the tensor product of this chain complex with itself
|
||||||
|
and the target slot is the underlying chain complex.
|
||||||
|
An identification number $n$ (slot {\tt idnm}) is assigned to this Kenzo object
|
||||||
|
and the {\tt ALGEBRA} instance is pushed onto the list {\tt *algb-list*}.
|
||||||
|
The associated printing method prints a string like
|
||||||
|
{\tt [K{\em n} Algebra]}.
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\subsection {Miscellaneous functions and macros for algebras}
|
||||||
|
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cat-init} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Clear among others, the list {\tt *algb-list*}, list of user created algebras and reset
|
||||||
|
the global counter to $1$. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt algb} {\em n}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Retrieve in the list {\tt *algb-list*} the algebra instance whose identification is $n$.
|
||||||
|
If it does not exist, return {\tt NIL}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt aprd} {\em algb} {\tt \&rest} \hfill {\em [Macro]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Versatile macro relative to the product of an algebra. The first argument is an {\tt ALGEBRA}
|
||||||
|
instance. With only one argument, this macro returns the product morphism of the algebra.
|
||||||
|
With more arguments, it applies the product morphism on a combination ({\tt (aprd {\em algb cmbn})})
|
||||||
|
or on a pair {\em degree, tensor-product} ({\tt (aprd {\em algb degr tensor-product})}). \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt change-chcm-to-algb} {\em chcm} {\tt :intr-aprd} {\em intr-aprd} {\tt :aprd-strt} {\em aprd-strt} \par
|
||||||
|
\hspace* {10mm}{\tt :orgn} {\em orgn}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build an algebra instance from the already created chain complex {\em chcm}. The user must give via key
|
||||||
|
parameters a lisp function for the product, its strategy and a comment list. \par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\section {Hopf Algebra}
|
||||||
|
|
||||||
|
In {\bf Kenzo}, a Hopf Algebra is an instance\index{class!{\tt HOPF-ALGEBRA}}
|
||||||
|
of the class {\tt HOPF-ALGEBRA}, the definition of which being simply:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(DEFCLASS HOPF-ALGEBRA (coalgebra algebra)
|
||||||
|
())
|
||||||
|
\end{verbatim}}
|
||||||
|
So, this class (multi--) inherits the slots of the {\tt COALGEBRA} and {\tt ALGEBRA} classes.
|
||||||
|
\par
|
||||||
|
The associated printing method prints a string like
|
||||||
|
{\tt [K{\em n} Hopf-Algebra]}, and the function {\tt hopf} may be used to retrieve the
|
||||||
|
Hopf instance, in the list {\tt *hopf-list*}.
|
||||||
|
|
||||||
|
\subsection {Example of algebra}
|
||||||
|
|
||||||
|
We shall see later important examples of algebras. Let us content ourself for the moment
|
||||||
|
to define the trivial algebra on a given chain complex {\em having only one generator in degree $0$}.
|
||||||
|
If this chain complex {\em chcm} already exists, we
|
||||||
|
use simply the function {\tt change-chcm-to-algb} and we have to provide for the keyword {\tt :intr-aprd},
|
||||||
|
a lisp function for the product morphism. We recall that the argument of the product in the algebra is a tensor product.
|
||||||
|
This function must obey the rule of the multiplication by the unit
|
||||||
|
and otherwise will return a null combination of degree the sum of the two degrees in the tensor product.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(defun trivial-algebra (chcm)
|
||||||
|
(change-chcm-to-algb
|
||||||
|
chcm
|
||||||
|
:intr-aprd #'(lambda (degr tnpr)
|
||||||
|
(with-tnpr (degr1 gnrt1 degr2 gnrt2) tnpr
|
||||||
|
(if (zerop degr1)
|
||||||
|
(cmbn degr2 1 gnrt2)
|
||||||
|
(if (zerop degr2)
|
||||||
|
(cmbn degr1 1 gnrt1)
|
||||||
|
(zero-cmbn (+ degr1 degr2))))))
|
||||||
|
:aprd-strt :gnrt
|
||||||
|
:orgn `(trivial-algebra ,chcm)))
|
||||||
|
\end{verbatim}}
|
||||||
|
A good example of a chain complex to be given as argument to the previous function,
|
||||||
|
is the simplicial set {\tt smp-deltab2} that we used as
|
||||||
|
simple example in the coalgebra chapter:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf smp-deltab2
|
||||||
|
(build-smst
|
||||||
|
:cmpr #'(lambda(gsm1 gsm2)
|
||||||
|
(if(rest gsm1) (l-cmpr gsm1 gsm2) :equal))
|
||||||
|
:basis :locally-effective
|
||||||
|
:bspn '(0)
|
||||||
|
:face #'(lambda (i dmn gsm)
|
||||||
|
(case dmn
|
||||||
|
(0 (error "No face in dimension 0"))
|
||||||
|
(1 (error "No non-degenerate simplex in dimension 1"))
|
||||||
|
(2 (absm 1 '(0)))
|
||||||
|
(otherwise (absm 0 (append (subseq gsm 0 i)
|
||||||
|
(subseq gsm (1+ i))))) ))
|
||||||
|
:orgn '(simple-deltab2)))
|
||||||
|
|
||||||
|
[K1 Simplicial-Set]
|
||||||
|
|
||||||
|
(trivial-algebra smp-deltab2) ==>
|
||||||
|
|
||||||
|
[K1 Algebra]
|
||||||
|
\end{verbatim}}
|
||||||
|
Note that now {\tt smp-deltab2} is of type {\tt ALGEBRA} and has kept
|
||||||
|
its Kenzo numbering.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
smp-deltab2 ==>
|
||||||
|
|
||||||
|
[K1 Algebra]
|
||||||
|
|
||||||
|
(inspect smp-deltab2) ==>
|
||||||
|
|
||||||
|
ALGEBRA @ #x3065ea = [K1 Algebra]
|
||||||
|
0 Class --------> #<STANDARD-CLASS ALGEBRA>
|
||||||
|
1 ORGN ---------> (SIMPLE-DELTAB2), a proper list with 1 element
|
||||||
|
2 IDNM ---------> fixnum 1 [#x00000004]
|
||||||
|
3 EFHM ---------> The symbol :--UNBOUND--
|
||||||
|
4 GRMD ---------> [K1 Algebra]
|
||||||
|
5 DFFR ---------> [K2 Morphism (degree -1)]
|
||||||
|
6 BSGN ---------> (0), a proper list with 1 element
|
||||||
|
7 BASIS --------> The symbol :LOCALLY-EFFECTIVE
|
||||||
|
8 CMPR ---------> #<Interpreted Function (unnamed) @ #x306652>
|
||||||
|
9 APRD ---------> [K6 Morphism (degree 0)]
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us test now the product in this trivial algebra:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(aprd smp-deltab2 3 (tnpr 0 '(0) 3 '(1 2 3 4))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<1 * (1 2 3 4)>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(aprd smp-deltab2 3 (tnpr 3 '(1 2 3 4) 0 '(0)))
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<1 * (1 2 3 4)>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(aprd smp-deltab2 5 (tnpr 2 '(0 1 2) 3 '(6 7 8 9))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 5}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\section {The Bar construction}
|
||||||
|
|
||||||
|
Let $\cal A$ be an associative algebra, assumed connected and ${\cal A}_0 \simeq {\Z}$.
|
||||||
|
Furthermore let us suppose that ${\cal A}$ is a free ${\Z}$--module. Then it is possible
|
||||||
|
to define a chain complex, $Bar^{\cal A}(\Z, \Z)$ -- simply denoted here by $Bar({\cal A})$ --
|
||||||
|
whose $n$-th component is the free ${\Z}$--module generated by the ``bars'':
|
||||||
|
$$ [Bar({\cal A})]_n = \{ [g_1 \mid g_2 \mid \ldots \mid g_k] \}, \quad \sum_{j=1}^{k} [deg(g_j)+1] =n. $$
|
||||||
|
The object\index{bar object} noted $[g_1 \mid g_2 \mid \ldots \mid g_k]$
|
||||||
|
with $\sum_{j=1}^{k} [deg(g_j)+1] =n$, is tra\-di\-ti\-o\-nal\-ly
|
||||||
|
called a {\em bar} and is in fact, an element of the $n$--th iterated suspension of
|
||||||
|
${\cal A}^{\otimes n}$. The integer $n$ is the {\em total degree}. The structure of
|
||||||
|
the bar of the algebra ${\cal A}$ is recalled in the following figure, where $\bar{\cal A}$
|
||||||
|
is ${\cal A}$ without its component of degree $0$. In the vertical sense, we have the {\em tensorial degree},
|
||||||
|
whereas in the horizontal one, we have the {\em simplicial degree}. The {\em total degree} $n$ is the
|
||||||
|
sum of both degrees.
|
||||||
|
|
||||||
|
$$\begin{array}{|ccccc}
|
||||||
|
\vdots & \vdots & \vdots &\vdots & \vdots \\
|
||||||
|
0 & \bar{\cal A}_3 & (\bar{\cal A} \otimes \bar{\cal A})_3 &
|
||||||
|
(\bar{\cal A}\otimes \bar{\cal A}\otimes\bar{\cal A})_3 & \cdots \\
|
||||||
|
0 & \bar{\cal A}_2 & (\bar{\cal A}\otimes\bar{\cal A})_2 & 0 & \cdots \\
|
||||||
|
0 & \bar{\cal A}_1 & 0 & 0 & \cdots \\
|
||||||
|
{\Z} & 0 & 0 & 0 & \cdots \\ \hline
|
||||||
|
& & & & \\
|
||||||
|
\bar{\cal A}^{\otimes 0} & \bar{\cal A}^{\otimes 1} & \bar{\cal A}^{\otimes 2} &
|
||||||
|
\bar{\cal A}^{\otimes 3} & \cdots
|
||||||
|
\end{array} $$
|
||||||
|
|
||||||
|
\subsection {Representation of a bar object}
|
||||||
|
|
||||||
|
An elementary bar object\index{bar object!representation}
|
||||||
|
-- not to be confused with the chain complex $Bar({\cal A})$ --
|
||||||
|
is represented in {\tt Kenzo} by a lisp object of the form:
|
||||||
|
|
||||||
|
\begin{center} {\tt (:ABAR ($i_1\, . \, a_1$) \ldots ($i_k\, . \, a_k$))} \end{center}
|
||||||
|
where the $i_j$ are the degrees {\bf in the bar chain complex} of the generators $a_j$.
|
||||||
|
In the original algebra $\cal A$, the generators $a_j$ had the degree $i_j-1$.
|
||||||
|
The corresponding type is {\tt ABAR}.
|
||||||
|
The function building such an object is also called {\tt abar}
|
||||||
|
\vskip 0.35cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt abar} {\em degr1 gnr1 degr2 gnr2 ... degrk gnrk}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Construct an elementary bar object, i.e. a ``suspended tensorial product'' of degree $\sum degr_i$. The sequence of pairs
|
||||||
|
$\lbrace degr_i,\, gnr_i \rbrace$ has an undefinite length and may be void. In this case, the bar
|
||||||
|
is the null bar object, also located in the system through the constant {\tt +null-abar+}. The function
|
||||||
|
{\tt abar} accepts also as unique argument a list of the form
|
||||||
|
{\em {\tt (}degr1 gnr1 degr2 gnr2 ... degrk gnrk{\tt )}}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt abar-p} {\em object}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Test if {\em object} is an elementary bar object. \par}
|
||||||
|
}
|
||||||
|
\vskip 0.35cm
|
||||||
|
The associated printing method prints the object under the form:
|
||||||
|
\begin{center}
|
||||||
|
{\tt <<Abar [$i_1\quad a_1$] ... [$i_k\quad a_k$] >>}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\subsection* {Examples}
|
||||||
|
|
||||||
|
These simple commands show the two different ways to create bar objects
|
||||||
|
from elements of an algebra (or a chain complex).
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(abar 2 'a 3 'b 5 'c) ==>
|
||||||
|
|
||||||
|
<<Abar[2 A][3 B][5 C]>>
|
||||||
|
|
||||||
|
(abar '(2 a 3 b 5 c)) ==>
|
||||||
|
|
||||||
|
<<Abar[2 A][3 B][5 C]>>
|
||||||
|
|
||||||
|
(abar) ==>
|
||||||
|
|
||||||
|
<<Abar>>
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\subsection {Definition of the chain complex Bar}
|
||||||
|
|
||||||
|
The\index{chain complex!bar} definition of the differential\index{bar!differential} in the bar chain complex,
|
||||||
|
will be done in three steps. This is better understood,
|
||||||
|
if we consider the following diagram.
|
||||||
|
$$\diagram{
|
||||||
|
% & & \vdots & & \vdots \cr
|
||||||
|
& & \downarrow & & \downarrow \cr
|
||||||
|
\cdots & \leftarrow & ({\bar{\cal A}}_*^{\otimes p})_q & \buildrel {d_h} \over \longleftarrow
|
||||||
|
& ({\bar{\cal A}}_*^{\otimes {p+1}})_q & \leftarrow & \cdots \cr
|
||||||
|
% & & \vfl {\displaystyle {d_v}}{}
|
||||||
|
% & & \vfl {\displaystyle {d_v}}{} \cr
|
||||||
|
& & \downarrow {\scriptstyle d}_v & & \downarrow {\scriptstyle d}_v \cr
|
||||||
|
\cdots & \leftarrow &({\bar{\cal A}}_*^{\otimes p})_{q-1} & \buildrel {d_h} \over \longleftarrow
|
||||||
|
& ({\bar{\cal A}}_*^{\otimes {p+1}})_{q-1} & \leftarrow & \cdots \cr
|
||||||
|
& & \downarrow & & \downarrow \cr
|
||||||
|
% & & \vdots & & \vdots \cr
|
||||||
|
}$$
|
||||||
|
\begin{itemize}
|
||||||
|
\item A chain complex called {\tt vertical-bar} is defined with the {\em vertical differential} $d_v$.
|
||||||
|
In this case, only the underlying chain complex structure is used.
|
||||||
|
\item A horizontal differential $d_h$ is defined. This uses the product structure.
|
||||||
|
\item The final chain complex {\tt bar} is created with differential $d_v+d_h$.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\subsubsection {Definition of the vertical bar}
|
||||||
|
|
||||||
|
To\index{bar!vertical} define the vertical bar chain complex from the chain complex ${\cal A}$, the
|
||||||
|
following functions are provided:
|
||||||
|
\vskip 0.45cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt bar-cmpr} {\em cmpr}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the comparison function {\em cmpr}, build a comparison function for objects
|
||||||
|
of type {\tt abar}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt bar-basis} {\em basis}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the function {\em basis} of a chain complex ${\cal A}$, build a basis
|
||||||
|
function for the vertical bar chain complex defined on ${\cal A}$. In dimension $0$, there
|
||||||
|
is only one basis element, namely the null abar object. If ${\cal A}$ is locally effective,
|
||||||
|
this function returns the symbol {\tt :locally-effective}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt bar-intr-vrtc-dffr} {\em dffr}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the {\tt lisp} function {\em dffr} of a chain complex ${\cal A}$, build a
|
||||||
|
lisp function for the differential of the vertical bar chain complex, according to the formula:
|
||||||
|
$$d_v [a_1 \mid \cdots \mid a_n]=
|
||||||
|
-\sum_{i=1}^n{(-1)^{\sum_{j=1}^{i-1}{\mid a_j \mid}}}
|
||||||
|
{[a_1 \mid \cdots \mid a_{i-1} \mid {\bf da_i} \mid a_{i+1} \mid \cdots \mid a_n]},$$
|
||||||
|
where $da_i$ is the differential of the generator $a_i$ in the original chain complex (function {\em dffr})
|
||||||
|
and $\mid a_i \mid$ is the degree of the generator $a_i$ {\em in the bar chain complex}.
|
||||||
|
In general, the differential $da_i$ is a sum of objects.
|
||||||
|
So, applying the distributive law, the right member is a sum of bar objects, represented by a combination. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt vrtc-bar} {\em chcm}\hfill {\em [Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the vertical bar chain complex from the underlying chain complex {\em chcm}. This is simply done by the
|
||||||
|
call to {\tt build-chcm}:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(build-chcm
|
||||||
|
:cmpr (bar-cmpr cmpr)
|
||||||
|
:basis (bar-basis basis)
|
||||||
|
:bsgn +null-abar+
|
||||||
|
:intr-dffr (bar-intr-vrtc-dffr dffr)
|
||||||
|
:strt :gnrt
|
||||||
|
:orgn `(vrtc-bar ,chcm))
|
||||||
|
\end{verbatim}}
|
||||||
|
where, {\em cmpr}, {\em basis} and {\em dffr} are extracted from the chain complex {\em chcm}. Note that
|
||||||
|
the base generator is the null bar object. \par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection* {Examples}
|
||||||
|
|
||||||
|
First, let us test the functions {\tt bar-cmpr} and {\tt bar-basis}. With the first one, applied
|
||||||
|
to the elementary comparison function {\tt s-cmpr}, we create a comparison function suitable
|
||||||
|
for algebras where the generators are symbols.
|
||||||
|
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf cmpr-for-bar (bar-cmpr #'s-cmpr))
|
||||||
|
|
||||||
|
(funcall cmpr-for-bar (abar)(abar)) ==>
|
||||||
|
|
||||||
|
:EQUAL
|
||||||
|
|
||||||
|
(funcall cmpr-for-bar (abar 3 'a 7 'q) (abar)) ==>
|
||||||
|
|
||||||
|
:GREATER
|
||||||
|
|
||||||
|
(funcall cmpr-for-bar (abar '(1 x 2 y 3 z) )(abar 1 'x 2 'y 3 'z)) ==>
|
||||||
|
|
||||||
|
:EQUAL
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us suppose now that the function {\tt simple-basis} is the basis function for a certain
|
||||||
|
algebra (chain complex): in degree $i$, the basis is only the list $(a_i)$.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf simple-basis #'(lambda(degr)
|
||||||
|
(list (intern(format nil "A~D" degr)))))
|
||||||
|
|
||||||
|
(funcall simple-basis 5) ==>
|
||||||
|
|
||||||
|
(A5)
|
||||||
|
\end{verbatim}}
|
||||||
|
The function {\tt bar-basis} creates the function for the basis of the cor\-res\-pon\-ding bar chain complex. Note
|
||||||
|
that when this new function is applied, it returns a priori the null abar in dimension $0$
|
||||||
|
and a null basis in dimension $1$. Note also that the basis elements
|
||||||
|
of the underlying algebra (the $a_i$'s) are suspended.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf basis-for-bar (bar-basis simple-basis))
|
||||||
|
|
||||||
|
(dotimes (i 7)
|
||||||
|
(format t "~%~D ~A" i (funcall basis-for-bar i))) ==>
|
||||||
|
|
||||||
|
0 (<<Abar>>)
|
||||||
|
1 NIL
|
||||||
|
2 (<<Abar[2 A1]>>)
|
||||||
|
3 (<<Abar[3 A2]>>)
|
||||||
|
4 (<<Abar[4 A3]>> <<Abar[2 A1][2 A1]>>)
|
||||||
|
5 (<<Abar[5 A4]>> <<Abar[2 A1][3 A2]>> <<Abar[3 A2][2 A1]>>)
|
||||||
|
6 (<<Abar[6 A5]>> <<Abar[2 A1][4 A3]>> <<Abar[3 A2][3 A2]>>
|
||||||
|
<<Abar[4 A3][2 A1]>> <<Abar[2 A1][2 A1][2 A1]>>)
|
||||||
|
\end{verbatim}}
|
||||||
|
To test the vertical differential, let us take the simplicial set {\tt smp-deltab2} which is also a chain complex.
|
||||||
|
We may use it for testing the function {\tt vrtc-bar} which defines a chain complex
|
||||||
|
independently of the product of the algebra. We recall that, in dimension $n$, the elements
|
||||||
|
of the chain complex {\tt smp-deltab2} are represented by lists of increasing $n+1$ integers. So, in the abar objects,
|
||||||
|
the degree of such elements are $n+1$.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf vrt-bar (vrtc-bar smp-deltab2)) ==>
|
||||||
|
|
||||||
|
[K6 Chain-Complex]
|
||||||
|
|
||||||
|
(? vrt-bar 9 (abar 4 '(0 1 2 3) 5 '(4 5 6 7 8))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 8}
|
||||||
|
<-1 * <<Abar[3 (0 1 2)][5 (4 5 6 7 8)]>>>
|
||||||
|
<1 * <<Abar[3 (0 1 3)][5 (4 5 6 7 8)]>>>
|
||||||
|
<-1 * <<Abar[3 (0 2 3)][5 (4 5 6 7 8)]>>>
|
||||||
|
<1 * <<Abar[3 (1 2 3)][5 (4 5 6 7 8)]>>>
|
||||||
|
<-1 * <<Abar[4 (0 1 2 3)][4 (4 5 6 7)]>>>
|
||||||
|
<1 * <<Abar[4 (0 1 2 3)][4 (4 5 6 8)]>>>
|
||||||
|
<-1 * <<Abar[4 (0 1 2 3)][4 (4 5 7 8)]>>>
|
||||||
|
<1 * <<Abar[4 (0 1 2 3)][4 (4 6 7 8)]>>>
|
||||||
|
<-1 * <<Abar[4 (0 1 2 3)][4 (5 6 7 8)]>>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? vrt-bar *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 7}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\subsubsection {Definition of the horizontal differential}
|
||||||
|
|
||||||
|
So\index{differential!horizontal in bar} far, the algebra structure has not been used
|
||||||
|
but now it will be the main ingredient.
|
||||||
|
The canonical ``horizontal'' differential $d_h$ is defined as follows:
|
||||||
|
$$d_h:({\bar{\cal A}}_*^{\otimes p})_q \longrightarrow ({\bar{\cal A}}_*^{\otimes {p-1}})_q,$$
|
||||||
|
$$d_h [a_1 \mid \cdots \mid a_k] = \sum_{i=2}^n{(-1)^{\sum_{j=1}^{i-1}{\mid a_j \mid}}}
|
||||||
|
[a_1 \mid \cdots \mid a_{i-2} \mid {\bf a_{i-1}a_i} \mid a_{i+1} \mid \cdots \mid a_k]$$
|
||||||
|
where the product in the algebra is noted simply by the concatenation and $\mid a_i \mid$
|
||||||
|
is the degree of $a_i$ in $Bar({\cal A})$.
|
||||||
|
In {\tt Kenzo}, two functions are designed for building the horizontal differential:
|
||||||
|
\vskip 0.45cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt bar-intr-hrzn-dffr} {\em aprd}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the product morphism {\em aprd}, build the lisp function with 2 arguments:
|
||||||
|
a degree and an {\tt abar} object (i.e. a generator) realizing the algorithm for $d_h$. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt bar-hrzn-dffr} {\em algb}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the horizontal differential morphism, using the slot pro\-duct {\em aprd} of
|
||||||
|
the algebra {\em algb} and the previous function.
|
||||||
|
Note that when called, this function creates, if not already created,
|
||||||
|
the vertical bar chain complex on {\em algb}:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(build-mrph
|
||||||
|
:sorc (vrtc-bar algb)
|
||||||
|
:trgt (vrtc-bar algb)
|
||||||
|
:degr -1
|
||||||
|
:intr (bar-intr-hrzn-dffr aprd)
|
||||||
|
:strt :gnrt
|
||||||
|
:orgn `(bar-hrzn-dffr ,algb))
|
||||||
|
\end{verbatim}}
|
||||||
|
\par}}
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection {Final definition of the bar of an algebra}
|
||||||
|
|
||||||
|
To define completely the bar chain complex\index{bar!of an algebra}, we have to provide the lisp function
|
||||||
|
for the differential $d_v + d_h$ and, once created the vertical bar chain complex,
|
||||||
|
we have to call the building function {\tt build-chcm} with adequate arguments.
|
||||||
|
\vskip 0.45cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt bar-intr-dffr} {\em vrtc-dffr hrzn-dffr}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Define the lisp function for the differential $d_v+d_h$ from the two morphisms
|
||||||
|
{\em vrtc-dffr} and {\em hrzn-dffr}. For efficiency reasons, the implementor
|
||||||
|
has chosen to define this new function rather than to use simply
|
||||||
|
the addition of two morphisms.\par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt bar} {\em algebra}\hfill {\em [Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build first the vertical bar chain complex on the algebra. Then return a chain complex
|
||||||
|
with the same slots as the vertical bar chain complex but with new {\tt :intr-dffr}
|
||||||
|
and {\tt :orgn} slots, as shown in the following definition: \par}
|
||||||
|
}
|
||||||
|
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(defmethod BAR ((algebra algebra))
|
||||||
|
(let ((vrtc-bar (vrtc-bar algebra))
|
||||||
|
(bar-hrzn-dffr (bar-hrzn-dffr algebra)))
|
||||||
|
(declare (type chain-complex vrtc-abr hrzn-bar))
|
||||||
|
(the chain-complex
|
||||||
|
(build-chcm
|
||||||
|
:cmpr (cmpr vrtc-bar)
|
||||||
|
:basis (basis vrtc-bar)
|
||||||
|
:bsgn +null-abar+
|
||||||
|
:intr-dffr (bar-intr-dffr (dffr vrtc-bar)
|
||||||
|
bar-hrzn-dffr)
|
||||||
|
:strt :gnrt
|
||||||
|
:orgn `(add ,vrtc-bar ,bar-hrzn-dffr)))))
|
||||||
|
\end{verbatim}}
|
||||||
|
We postpone the examples for the bar of an algebra, up to the chapter on
|
||||||
|
simplicial groups where we shall build interesting examples of algebras.
|
||||||
|
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\section {Other functions for the bar construction}
|
||||||
|
|
||||||
|
The\index{functor!vertical bar} vertical bar construction is {\em natural}
|
||||||
|
and therefore defines a functor.
|
||||||
|
Consequently, the {\tt Kenzo} program contains the following methods.
|
||||||
|
\vskip 0.45cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt vrtc-bar} {\em mrph}\hfill {\em [Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the morphism {\em mrph}, build a new morphism between the vertical-bar of the source
|
||||||
|
of {\em mrph} and the vertical bar of the target of {\em mrph}, the morphism itself being
|
||||||
|
induced in a natural way by the underlying morphism. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt vrtc-bar} {\em rdct}\hfill {\em [Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the reduction {\em rdct}, build a new reduction, by applying the vertical bar
|
||||||
|
method to the functions $f$ and $g$. The new homotopy cannot be obtained so simply, being
|
||||||
|
a function of the $f$, $g$ and $h$ of {\em rdct}. Nevertheless, the source and target
|
||||||
|
of the new homotopy are the vertical bar of the underlying homotopy. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt vrtc-bar} {\em hmeq}\hfill {\em [Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build a homotopy equivalence by applying the vertical bar cons\-truc\-ti\-on
|
||||||
|
to the left and right reductions of the homotopy equivalence {\em hmeq}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt bar} {\em hmeq}\hfill {\em [Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build a homotopy equivalence where the bar construction is applied to the
|
||||||
|
underlying homotopy equivalence in the following way. First this construction is limited to the
|
||||||
|
case where the left bottom chain complex of {\em hmeq} is an {\bf algebra}. Then the vertical bar
|
||||||
|
construction is applied to {\em hmeq} and the horizontal differential of the left bottom chain complex
|
||||||
|
is propagated upon the new homotopy equivalence with the help of the method {\tt add}. In other words,
|
||||||
|
starting from the left bottom chain complex, firstly the easy pertubation lemma is applied to
|
||||||
|
obtain a new differential on the top chain complex; then the basic perturbation lemma
|
||||||
|
is applied to the right reduction.
|
||||||
|
If {\em hmeq} is a trivial homotopy equivalence, this function returns a trivial one,
|
||||||
|
built on the bar of the left bottom chain complex of {\em hmeq}. \par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection* {Lisp files concerned in this chapter}
|
||||||
|
|
||||||
|
{\tt algebras.lisp}, {\tt bar.lisp}.
|
||||||
|
\par
|
||||||
|
[{\tt classes.lisp}, {\tt macros.lisp}, {\tt various.lisp}].
|
||||||
202
doc/doc_src/bottless.eps
Normal file
202
doc/doc_src/bottless.eps
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
%!PS-Adobe-2.0 EPSF-2.0
|
||||||
|
%%Title: bottless.fig
|
||||||
|
%%Creator: fig2dev Version 3.1 Patchlevel 2
|
||||||
|
%%CreationDate: Wed Jun 26 17:02:14 1996
|
||||||
|
%%For: siret@puccini (Yvon Siret)
|
||||||
|
%Magnification: 0.60
|
||||||
|
%%Orientation: Portrait
|
||||||
|
%%BoundingBox: 0 0 218 164
|
||||||
|
%%Pages: 0
|
||||||
|
%%BeginSetup
|
||||||
|
%%IncludeFeature: *PageSize Letter
|
||||||
|
%%EndSetup
|
||||||
|
%%EndComments
|
||||||
|
/$F2psDict 200 dict def
|
||||||
|
$F2psDict begin
|
||||||
|
$F2psDict /mtrx matrix put
|
||||||
|
/col-1 {0 setgray} bind def
|
||||||
|
/col0 {0.000 0.000 0.000 srgb} bind def
|
||||||
|
/col1 {0.000 0.000 1.000 srgb} bind def
|
||||||
|
/col2 {0.000 1.000 0.000 srgb} bind def
|
||||||
|
/col3 {0.000 1.000 1.000 srgb} bind def
|
||||||
|
/col4 {1.000 0.000 0.000 srgb} bind def
|
||||||
|
/col5 {1.000 0.000 1.000 srgb} bind def
|
||||||
|
/col6 {1.000 1.000 0.000 srgb} bind def
|
||||||
|
/col7 {1.000 1.000 1.000 srgb} bind def
|
||||||
|
/col8 {0.000 0.000 0.560 srgb} bind def
|
||||||
|
/col9 {0.000 0.000 0.690 srgb} bind def
|
||||||
|
/col10 {0.000 0.000 0.820 srgb} bind def
|
||||||
|
/col11 {0.530 0.810 1.000 srgb} bind def
|
||||||
|
/col12 {0.000 0.560 0.000 srgb} bind def
|
||||||
|
/col13 {0.000 0.690 0.000 srgb} bind def
|
||||||
|
/col14 {0.000 0.820 0.000 srgb} bind def
|
||||||
|
/col15 {0.000 0.560 0.560 srgb} bind def
|
||||||
|
/col16 {0.000 0.690 0.690 srgb} bind def
|
||||||
|
/col17 {0.000 0.820 0.820 srgb} bind def
|
||||||
|
/col18 {0.560 0.000 0.000 srgb} bind def
|
||||||
|
/col19 {0.690 0.000 0.000 srgb} bind def
|
||||||
|
/col20 {0.820 0.000 0.000 srgb} bind def
|
||||||
|
/col21 {0.560 0.000 0.560 srgb} bind def
|
||||||
|
/col22 {0.690 0.000 0.690 srgb} bind def
|
||||||
|
/col23 {0.820 0.000 0.820 srgb} bind def
|
||||||
|
/col24 {0.500 0.190 0.000 srgb} bind def
|
||||||
|
/col25 {0.630 0.250 0.000 srgb} bind def
|
||||||
|
/col26 {0.750 0.380 0.000 srgb} bind def
|
||||||
|
/col27 {1.000 0.500 0.500 srgb} bind def
|
||||||
|
/col28 {1.000 0.630 0.630 srgb} bind def
|
||||||
|
/col29 {1.000 0.750 0.750 srgb} bind def
|
||||||
|
/col30 {1.000 0.880 0.880 srgb} bind def
|
||||||
|
/col31 {1.000 0.840 0.000 srgb} bind def
|
||||||
|
|
||||||
|
end
|
||||||
|
save
|
||||||
|
-64.0 217.0 translate
|
||||||
|
1 -1 scale
|
||||||
|
|
||||||
|
/cp {closepath} bind def
|
||||||
|
/ef {eofill} bind def
|
||||||
|
/gr {grestore} bind def
|
||||||
|
/gs {gsave} bind def
|
||||||
|
/sa {save} bind def
|
||||||
|
/rs {restore} bind def
|
||||||
|
/l {lineto} bind def
|
||||||
|
/m {moveto} bind def
|
||||||
|
/rm {rmoveto} bind def
|
||||||
|
/n {newpath} bind def
|
||||||
|
/s {stroke} bind def
|
||||||
|
/sh {show} bind def
|
||||||
|
/slc {setlinecap} bind def
|
||||||
|
/slj {setlinejoin} bind def
|
||||||
|
/slw {setlinewidth} bind def
|
||||||
|
/srgb {setrgbcolor} bind def
|
||||||
|
/rot {rotate} bind def
|
||||||
|
/sc {scale} bind def
|
||||||
|
/sd {setdash} bind def
|
||||||
|
/ff {findfont} bind def
|
||||||
|
/sf {setfont} bind def
|
||||||
|
/scf {scalefont} bind def
|
||||||
|
/sw {stringwidth} bind def
|
||||||
|
/tr {translate} bind def
|
||||||
|
/tnt {dup dup currentrgbcolor
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
|
||||||
|
bind def
|
||||||
|
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
|
||||||
|
4 -2 roll mul srgb} bind def
|
||||||
|
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
|
||||||
|
/$F2psEnd {$F2psEnteredState restore end} def
|
||||||
|
%%EndProlog
|
||||||
|
|
||||||
|
$F2psBegin
|
||||||
|
10 setmiterlimit
|
||||||
|
n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
|
||||||
|
0.03600 0.03600 sc
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
4458 2040 m 4746 2100 l 4458 2160 l 4830 2160 l 4830 2040 l cp clip
|
||||||
|
n 2400 2100 m 4800 2100 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 4458 2040 m 4746 2100 l 4458 2160 l 4506 2100 l 4458 2040 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
2340 3642 m 2400 3354 l 2460 3642 l 2460 3270 l 2340 3270 l cp clip
|
||||||
|
n 2400 4500 m 2400 3300 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 2340 3642 m 2400 3354 l 2460 3642 l 2400 3594 l 2340 3642 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 2400 3375 m 2400 2100 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 2400 4425 m 2400 4800 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
4458 4740 m 4746 4800 l 4458 4860 l 4830 4860 l 4830 4740 l cp clip
|
||||||
|
n 2400 4800 m 4800 4800 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 4458 4740 m 4746 4800 l 4458 4860 l 4506 4800 l 4458 4740 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 4800 4800 m 7200 4800 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 4800 2100 m 7200 2100 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
4772 3414 m 5052 3326 l 4830 3519 l 5155 3338 l 5097 3233 l cp clip
|
||||||
|
n 2400 4800 m 5100 3300 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 4772 3414 m 5052 3326 l 4830 3519 l 4843 3443 l 4772 3414 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 5100 3300 m 7200 2100 l gs col-1 s gr
|
||||||
|
7.500 slw
|
||||||
|
% Polyline
|
||||||
|
n 1800 1500 m 7800 1500 l 7800 6000 l 1800 6000 l 1800 1500 l gs col-1 s gr
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
7260 3258 m 7200 3546 l 7140 3258 l 7140 3630 l 7260 3630 l cp clip
|
||||||
|
n 7200 2100 m 7200 3600 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 7260 3258 m 7200 3546 l 7140 3258 l 7200 3306 l 7260 3258 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 7200 3600 m 7200 4800 l gs col-1 s gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2025 3525 m
|
||||||
|
gs 1 -1 sc (e0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
3600 3150 m
|
||||||
|
gs 1 -1 sc (t0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
5700 3975 m
|
||||||
|
gs 1 -1 sc (t1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2250 5175 m
|
||||||
|
gs 1 -1 sc (v0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
7125 5100 m
|
||||||
|
gs 1 -1 sc (v0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
4800 1950 m
|
||||||
|
gs 1 -1 sc (e1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
7350 3525 m
|
||||||
|
gs 1 -1 sc (e0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2550 2400 m
|
||||||
|
gs 1 -1 sc (1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2550 4575 m
|
||||||
|
gs 1 -1 sc (0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
3075 4725 m
|
||||||
|
gs 1 -1 sc (0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
6375 2400 m
|
||||||
|
gs 1 -1 sc (2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
7125 1950 m
|
||||||
|
gs 1 -1 sc (v0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2325 1950 m
|
||||||
|
gs 1 -1 sc (v0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
4725 5100 m
|
||||||
|
gs 1 -1 sc (e1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
4650 3300 m
|
||||||
|
gs 1 -1 sc (e2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
6900 4650 m
|
||||||
|
gs 1 -1 sc (2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
6975 2550 m
|
||||||
|
gs 1 -1 sc (1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
3900 5700 m
|
||||||
|
gs 1 -1 sc (KLEIN Bottle) col-1 sh gr
|
||||||
|
$F2psEnd
|
||||||
|
rs
|
||||||
1255
doc/doc_src/ccdoc.tex
Normal file
1255
doc/doc_src/ccdoc.tex
Normal file
File diff suppressed because it is too large
Load Diff
1479
doc/doc_src/ccehdoc.tex
Normal file
1479
doc/doc_src/ccehdoc.tex
Normal file
File diff suppressed because it is too large
Load Diff
135
doc/doc_src/chapitre-0.tex
Normal file
135
doc/doc_src/chapitre-0.tex
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\pagestyle{headings}
|
||||||
|
\makeindex
|
||||||
|
\parindent=0mm
|
||||||
|
%\textwidth=6.0in
|
||||||
|
%\textheight=8.0in
|
||||||
|
%\oddsidemargin=-.35i
|
||||||
|
%\evensidemargin=-.35in
|
||||||
|
%\topmargin=-.50in
|
||||||
|
|
||||||
|
\input amssym.def
|
||||||
|
\input amssym.tex
|
||||||
|
\newtheorem{thr}{Theorem}
|
||||||
|
%\font\bb=msym10
|
||||||
|
\def\N{{\Bbb N}}
|
||||||
|
\def\Z{{\Bbb Z}}
|
||||||
|
\def\R{{\Bbb R}}
|
||||||
|
%
|
||||||
|
% macros pour les diagrammes rectangulaires
|
||||||
|
%
|
||||||
|
\def\hfl#1#2{\smash{\mathop{\hbox to 15mm{\rightarrowfill}}
|
||||||
|
\limits^{\scriptstyle#1}_{\scriptstyle#2}}}
|
||||||
|
%
|
||||||
|
\def\hflr#1#2{\smash{\mathop{\hbox to 15mm{\rightarrowfill}}
|
||||||
|
\limits^{\scriptstyle#1}_{\scriptstyle#2}}}
|
||||||
|
%
|
||||||
|
\def\hfll#1#2{\smash{\mathop{\hbox to 15mm{\leftarrowfill}}
|
||||||
|
\limits^{\scriptstyle#1}_{\scriptstyle#2}}}
|
||||||
|
%
|
||||||
|
\def\vfl#1#2{\llap{$\scriptstyle #1$}\left\downarrow
|
||||||
|
\vbox to 7mm{}\right.\rlap{$\scriptstyle #2$}}
|
||||||
|
%
|
||||||
|
\def\vflu#1#2{\llap{$\scriptstyle #1$}\left\uparrow
|
||||||
|
\vbox to 7mm{}\right.\rlap{$\scriptstyle #2$}}
|
||||||
|
%
|
||||||
|
\def\diagram#1{\def\normalbaselines{\baselineskip=0pt
|
||||||
|
\lineskip=10pt\lineskiplimit=1pt} \matrix{#1}}
|
||||||
|
%
|
||||||
|
% macro tvi pour les lignes verticales et horizontales dans un tableau
|
||||||
|
%
|
||||||
|
\def\tvi{\vrule height 12pt depth 5pt width 0pt}
|
||||||
|
\def\tv{\tvi\vrule}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{roman}
|
||||||
|
\begin{titlepage}
|
||||||
|
\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\
|
||||||
|
\begin{center}
|
||||||
|
{\huge KENZO} \\
|
||||||
|
\ \\
|
||||||
|
{\Large a Symbolic Software} \\
|
||||||
|
for \\
|
||||||
|
{\Large Effective Homology Computation}
|
||||||
|
\vskip 0.5cm
|
||||||
|
-----
|
||||||
|
\vskip 0.5cm
|
||||||
|
Julio Rubio Garcia\\
|
||||||
|
Francis Sergeraert \\
|
||||||
|
Yvon Siret
|
||||||
|
\vskip 0.20cm
|
||||||
|
-----
|
||||||
|
\vskip 0.20cm
|
||||||
|
Institut Fourier \\
|
||||||
|
Grenoble, France \\
|
||||||
|
\vskip 0.20cm
|
||||||
|
-----
|
||||||
|
\vskip 0.20cm
|
||||||
|
\end{center}
|
||||||
|
\vskip 0.5cm
|
||||||
|
This document is a user guide for the
|
||||||
|
basic modules of the Effective Ho\-mo\-lo\-gy Software ({\bf Kenzo} Version 1998). \\
|
||||||
|
It is also available by anonymous ftp ({\bf ftp fourier.ujf-grenoble.fr})
|
||||||
|
in the directory {\bf /pub/KENZO}. \\
|
||||||
|
\vskip 0.5cm
|
||||||
|
\begin{center}
|
||||||
|
{\em \today} \\
|
||||||
|
\end{center}
|
||||||
|
\end{titlepage}
|
||||||
|
\vskip 1in
|
||||||
|
\centerline {FOREWORD}
|
||||||
|
\vskip 0.5in
|
||||||
|
The {\bf Kenzo} program implements the general ideas of the second author
|
||||||
|
about \emph{Effective Homology}\footnote{{\bf Francis Sergeraert.}
|
||||||
|
\emph{The computability problem in algebraic topology}.
|
||||||
|
Advances in Mathematics, 1994, vol. 104, pp 1-29.},
|
||||||
|
mainly around the Serre and Eilenberg--Moore spectral sequences.
|
||||||
|
The first author (re--) discovered the importance
|
||||||
|
of the \emph{Basic Perturbation Lemma} in these questions, already
|
||||||
|
noted by Victor Gugenheim\footnote{{\bf V.K.A.M. Gugenheim.}
|
||||||
|
\emph{On a perturbation theory for the homology of the loop space}.
|
||||||
|
Journal of Pure and Applied Algebra, 1982, vol. 25, pp 197-205.}
|
||||||
|
and this program directly
|
||||||
|
implements and directly uses this ``lemma'' which should be called the
|
||||||
|
\emph{Fundamental Theorem of Algebraic Topology}. The first version of the program,
|
||||||
|
called {\bf EAT}, was written in 1989-90 by the first and the second authors.
|
||||||
|
It has been demonstrated in several universities: France: Grenoble and
|
||||||
|
Montpellier, Belgium: Louvain-la-Neuve, Italy: Genoa and Pisa,
|
||||||
|
Sweden: Stockolm, Japan:
|
||||||
|
Sapporo, Morioka, Urawa, Tokyo, Kyoto, Nara, Osaka and Hiroshima.
|
||||||
|
\par
|
||||||
|
In this {\bf Kenzo} version, numerous improvements have been integrated in comparison with
|
||||||
|
{\bf EAT}.
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Standard CLOS (Common Lisp Object System) techniques.
|
||||||
|
\item Use of the Zermelo theorem about ordered sets (!): any set can be
|
||||||
|
well ordered and this remark gives important new ideas to improve
|
||||||
|
execution speed.
|
||||||
|
\item Better memory management.
|
||||||
|
\item Use of Szczarba's formulas instead of Shih's for implementing the twisted
|
||||||
|
Eilenberg--Zilber theorem.
|
||||||
|
\item New mathematical objects:
|
||||||
|
\begin{itemize}
|
||||||
|
\item Serre spectral sequences.
|
||||||
|
\item Differentials algebras.
|
||||||
|
\item Simplicial morphisms.
|
||||||
|
\item Kan simplicial sets.
|
||||||
|
\item Simplicial groups.
|
||||||
|
\item Fibrations.
|
||||||
|
\item Classifying spaces.
|
||||||
|
\end{itemize}
|
||||||
|
In particular, using these tools, the first homotopy groups of {\em arbitrary}
|
||||||
|
simplicial sets with effective homology, are now reachable.
|
||||||
|
\end{enumerate}
|
||||||
|
\par
|
||||||
|
The present documentation is a joint work between the second and third authors.
|
||||||
|
\cleardoublepage
|
||||||
|
\input {kenovrvw}
|
||||||
|
%\tableofcontents
|
||||||
|
\cleardoublepage
|
||||||
|
\input kendoc.toc
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\begin{theindex}
|
||||||
|
\input kendoc.ind
|
||||||
|
\end{theindex}
|
||||||
|
\end{document}
|
||||||
7
doc/doc_src/chapitre-1.tex
Normal file
7
doc/doc_src/chapitre-1.tex
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\input {ccdoc}
|
||||||
|
\end{document}
|
||||||
9
doc/doc_src/chapitre-10.tex
Normal file
9
doc/doc_src/chapitre-10.tex
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\setcounter{page}{184}
|
||||||
|
\setcounter{chapter}{9}
|
||||||
|
\input {kandoc}
|
||||||
|
\end{document}
|
||||||
9
doc/doc_src/chapitre-11.tex
Normal file
9
doc/doc_src/chapitre-11.tex
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\setcounter{page}{189}
|
||||||
|
\setcounter{chapter}{10}
|
||||||
|
\input {smgrdoc}
|
||||||
|
\end{document}
|
||||||
9
doc/doc_src/chapitre-12.tex
Normal file
9
doc/doc_src/chapitre-12.tex
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\setcounter{page}{208}
|
||||||
|
\setcounter{chapter}{11}
|
||||||
|
\input {fibrdoc}
|
||||||
|
\end{document}
|
||||||
9
doc/doc_src/chapitre-13.tex
Normal file
9
doc/doc_src/chapitre-13.tex
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\setcounter{page}{218}
|
||||||
|
\setcounter{chapter}{12}
|
||||||
|
\input {lopspdoc}
|
||||||
|
\end{document}
|
||||||
9
doc/doc_src/chapitre-14.tex
Normal file
9
doc/doc_src/chapitre-14.tex
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\setcounter{page}{228}
|
||||||
|
\setcounter{chapter}{13}
|
||||||
|
\input {dspspdoc}
|
||||||
|
\end{document}
|
||||||
9
doc/doc_src/chapitre-15.tex
Normal file
9
doc/doc_src/chapitre-15.tex
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\setcounter{page}{248}
|
||||||
|
\setcounter{chapter}{14}
|
||||||
|
\input {lptwdoc}
|
||||||
|
\end{document}
|
||||||
9
doc/doc_src/chapitre-16.tex
Normal file
9
doc/doc_src/chapitre-16.tex
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\setcounter{page}{280}
|
||||||
|
\setcounter{chapter}{15}
|
||||||
|
\input {emspdoc1}
|
||||||
|
\end{document}
|
||||||
9
doc/doc_src/chapitre-17.tex
Normal file
9
doc/doc_src/chapitre-17.tex
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\setcounter{page}{293}
|
||||||
|
\setcounter{chapter}{16}
|
||||||
|
\input {classydoc}
|
||||||
|
\end{document}
|
||||||
9
doc/doc_src/chapitre-18.tex
Normal file
9
doc/doc_src/chapitre-18.tex
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\setcounter{page}{301}
|
||||||
|
\setcounter{chapter}{17}
|
||||||
|
\input {serredoc}
|
||||||
|
\end{document}
|
||||||
9
doc/doc_src/chapitre-19.tex
Normal file
9
doc/doc_src/chapitre-19.tex
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\setcounter{page}{315}
|
||||||
|
\setcounter{chapter}{18}
|
||||||
|
\input {cstwdoc}
|
||||||
|
\end{document}
|
||||||
9
doc/doc_src/chapitre-2.tex
Normal file
9
doc/doc_src/chapitre-2.tex
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\setcounter{page}{30}
|
||||||
|
\setcounter{chapter}{1}
|
||||||
|
\input {ccehdoc}
|
||||||
|
\end{document}
|
||||||
9
doc/doc_src/chapitre-20.tex
Normal file
9
doc/doc_src/chapitre-20.tex
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\setcounter{page}{331}
|
||||||
|
\setcounter{chapter}{19}
|
||||||
|
\input {emspdoc2}
|
||||||
|
\end{document}
|
||||||
9
doc/doc_src/chapitre-21.tex
Normal file
9
doc/doc_src/chapitre-21.tex
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\setcounter{page}{340}
|
||||||
|
\setcounter{chapter}{20}
|
||||||
|
\input {whithdoc.tex}
|
||||||
|
\end{document}
|
||||||
9
doc/doc_src/chapitre-3.tex
Normal file
9
doc/doc_src/chapitre-3.tex
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\setcounter{page}{65}
|
||||||
|
\setcounter{chapter}{2}
|
||||||
|
\input {homlgdoc}
|
||||||
|
\end{document}
|
||||||
9
doc/doc_src/chapitre-4.tex
Normal file
9
doc/doc_src/chapitre-4.tex
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\setcounter{page}{77}
|
||||||
|
\setcounter{chapter}{3}
|
||||||
|
\input {tprdoc}
|
||||||
|
\end{document}
|
||||||
9
doc/doc_src/chapitre-5.tex
Normal file
9
doc/doc_src/chapitre-5.tex
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\setcounter{page}{86}
|
||||||
|
\setcounter{chapter}{4}
|
||||||
|
\input {coaldoc}
|
||||||
|
\end{document}
|
||||||
9
doc/doc_src/chapitre-6.tex
Normal file
9
doc/doc_src/chapitre-6.tex
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\setcounter{page}{101}
|
||||||
|
\setcounter{chapter}{5}
|
||||||
|
\input {aldoc}
|
||||||
|
\end{document}
|
||||||
9
doc/doc_src/chapitre-7.tex
Normal file
9
doc/doc_src/chapitre-7.tex
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\setcounter{page}{114}
|
||||||
|
\setcounter{chapter}{6}
|
||||||
|
\input {ssdoc}
|
||||||
|
\end{document}
|
||||||
9
doc/doc_src/chapitre-8.tex
Normal file
9
doc/doc_src/chapitre-8.tex
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\setcounter{page}{161}
|
||||||
|
\setcounter{chapter}{7}
|
||||||
|
\input {smmrdoc}
|
||||||
|
\end{document}
|
||||||
9
doc/doc_src/chapitre-9.tex
Normal file
9
doc/doc_src/chapitre-9.tex
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\input {params}
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\cleardoublepage
|
||||||
|
\setcounter{page}{166}
|
||||||
|
\setcounter{chapter}{8}
|
||||||
|
\input {ezdoc}
|
||||||
|
\end{document}
|
||||||
359
doc/doc_src/classydoc.tex
Normal file
359
doc/doc_src/classydoc.tex
Normal file
@ -0,0 +1,359 @@
|
|||||||
|
\chapter {Classifying Spaces}
|
||||||
|
|
||||||
|
\section {Introduction}
|
||||||
|
|
||||||
|
Let ${\cal G}$ be a simplicial group $0$--reduced. The software {\tt Kenzo} allows
|
||||||
|
the construction of the universal bundle $\bar{\cal W}{\cal G}$, called the
|
||||||
|
classifying space\index{classifying space} of ${\cal G}$.
|
||||||
|
It is known that this is the base space of a principal bundle
|
||||||
|
such that the total space is contractible. We know also that if ${\cal G}$ is
|
||||||
|
an Abelian simplicial group then $\bar{\cal W}{\cal G}$ is also an Abelian
|
||||||
|
simplicial group, otherwise if ${\cal G}$ is non--Abelian, then $\bar{\cal W}{\cal G}$
|
||||||
|
is only a simplicial set. In dimension $n$ the simplices of the
|
||||||
|
classifying space are elements of the product:
|
||||||
|
$${\cal G}_{n-1}\times {\cal G}_{n-2}\times\cdots\times{\cal G}_0,$$
|
||||||
|
where ${\cal G}_k$ is the set of the $k$--simplices of the given simplicial group. \par
|
||||||
|
A simplex of $\bar{\cal W}{\cal G}$ is called {\bf gbar}\index{gbar} ({\em geometric} bar)
|
||||||
|
and may be seen as an $n$--uple
|
||||||
|
$$(g_{n-1}, g_{n-2}, \ldots, g_1, g_0),$$
|
||||||
|
where the $g_i$'s are elements of ${\cal G}_i$, possibly {\em degenerated}.
|
||||||
|
In {\tt Kenzo} a gbar is represented externally under the form:\index{gbar!representation}
|
||||||
|
\begin{center}
|
||||||
|
{\tt <<GBar < $[\eta g]_{n-1}$><$[\eta g]_{n-2}$ > ... < $[\eta g]_1$ > < - $g_0$> >>}
|
||||||
|
\end{center}
|
||||||
|
where a term such as $[\eta g]_i$ is a simplex of ${\cal G}_i$. Let us recall that
|
||||||
|
our group ${\cal G}$ is assumed $0$--reduced; as a consequence, the $g_0$ compound
|
||||||
|
of a gbar is necessarily the identity element of ${\cal G}$. \par
|
||||||
|
In the symbolic expression $[\eta g]_i$, the operator
|
||||||
|
$\eta$ represents a sequence (possibly the void one) of degeneracy operators
|
||||||
|
applied coherently upon some element of ${\cal G}_k$, for $k\leq i$. For instance $[\eta g]_1$
|
||||||
|
can be $\eta_0 g_0$, i.e. the $0$--degeneracy of the base point and $[\eta g]_2$ can be
|
||||||
|
can be $\eta_1\eta_0 g_0$. To be more explicit, let us take the Abelian simplicial group
|
||||||
|
$K({\Z}_2, 1)$ (see the simplicial groups chapter), then some elements of the basis in dimension $4$ of
|
||||||
|
its classifying space are, for instance:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
<<GBar<- 3><- 2><- 1><- 0>>>
|
||||||
|
<<GBar<- 3><1-0 0><0 0><- 0>>>
|
||||||
|
<<GBar<1 2><- 2><0 0><- 0>>>
|
||||||
|
<<GBar<1 2><0 1><0 0><- 0>>>
|
||||||
|
<<GBar<2 2><1 1><0 0><- 0>>>
|
||||||
|
<<GBar<2-0 1><1 1><0 0><- 0>>>
|
||||||
|
<<GBar<2-1 1><1 1><- 1><- 0>>>
|
||||||
|
<<GBar<2-1 1><0 1><0 0><- 0>>>
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
We recall that the symbol {\tt -}, in front of an element means ``no degeneracy''.
|
||||||
|
|
||||||
|
\section {Face, degeneracy and group operations}
|
||||||
|
|
||||||
|
Let us denote a gbar under the following generic form:
|
||||||
|
$$g_{bar}=(g_{n-1}, g_{n-2}, \ldots, {\bf g_j}, \ldots, g_1, g_0).$$
|
||||||
|
In this symbolism, $g_0$ is also the base point of the initial simplicial group.
|
||||||
|
The rule for the face operators is the following:
|
||||||
|
\begin{itemize}
|
||||||
|
\item If $j=n$, $\delta_n g_{bar}= (g_{n-2}, g_{n-3}, \ldots, g_1, g_0).$
|
||||||
|
\item If $j \not=n$,
|
||||||
|
$\delta_j g_{bar}= (\delta_j g_{n-1}, \ldots, {\bf \delta_j g_{j+1}, g_{j-1}.\delta_j g_j, g_{j-1}}, \ldots, g_1, g_0),$
|
||||||
|
where in the term $\bf g_{j-1}.\delta_j g_j$, the dot represents the group composition.
|
||||||
|
\item If $j=0$, $\delta_0 g_{bar}= (\delta_0 g_{n-1}, \ldots, \delta_0 g_1).$
|
||||||
|
\end{itemize}
|
||||||
|
The rule for the degeneracy operators is:
|
||||||
|
$$\eta_j g_{bar}=
|
||||||
|
(\eta_j g_{n-1}, \ldots, {\bf \eta_j g_{j+1}, \eta_{j-1}\eta_{j-2}\ldots\eta_1\eta_0 g_0, g_{j-1}}, \ldots, g_1, g_0).$$
|
||||||
|
If ${\cal G}$ is Abelian then $\bar{\cal W}{\cal G}$ is also Abelian and its
|
||||||
|
composition law is simply:
|
||||||
|
$$(g_{n-1}, \ldots, g_1, g_0).(g'_{n-1}, g'_1, g'_0)=
|
||||||
|
(g_{n-1}.g'_{n-1}, \ldots, g_1.g'_1, g_0.g'_0).$$
|
||||||
|
It is well known that if the initial group is not Abelian then, in general, the previous
|
||||||
|
composition law is not compatible with the simplicial structure.
|
||||||
|
|
||||||
|
\section {The functions for the classifying spaces}
|
||||||
|
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt gbar} {\em dmns dop-1 elem-1 ... dop-n elem-n} \hfill {\em [Macro]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build a gbar in dimension {\em dmns}. The sequence {\em dop-1 elem-1 ... dop-n elem-n},
|
||||||
|
is a sequence of pairs ({\em dop-k, elem-k}), where {\em dop-k} is a {\bf binary coded}
|
||||||
|
degeneracy operator and {\em elem-k} a simplex of the initial simplicial group. The ordering of
|
||||||
|
the pairs in the sequence must conform to the theoritical definition of a gbar.
|
||||||
|
If the sequence of pairs is void, the special call {\tt (gbar 0)},
|
||||||
|
creates the base point of the classifying space
|
||||||
|
externally represented by {\tt <<GBAR>>}. This base point can be reached through
|
||||||
|
the system symbol {\tt +null-gbar+}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt classifying-space-cmpr} {\em cmpr}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From a comparison function {\em cmpr} defined for a simplicial group ${\cal G}$, build a
|
||||||
|
comparison function for the classifying space of ${\cal G}$. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt classifying-space-basis} {\em basis}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the basis function {\em basis} of a simplicial group ${\cal G}$, build a
|
||||||
|
basis function for the classifying space of ${\cal G}$. If ${\cal G}$ is locally effective,
|
||||||
|
this function returns the symbol {\tt :locally-effective}.\par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt classifying-space-face} {\em face sintr-grml}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the face function {\em face} and the lisp function for the group law, {\em sintr-grml},
|
||||||
|
of a simplicial group ${\cal G}$, build a
|
||||||
|
face function for the classifying space of ${\cal G}$. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt classifying-space} {\em smgr}\hfill {\em [Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the simplicial set, classifying space of the simplicial group {\em smgr}.
|
||||||
|
The construction uses the three preceding auxiliary functions. The base point
|
||||||
|
of the returned simplicial set is the null gbar {\tt +null-gbar+}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt classifying-space} {\em A-smgr}\hfill {\em [Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the Abelian simplicial group, classifying space of the Abelian simplicial group {\em A-smgr}.
|
||||||
|
The group law and its inverse (slots {\tt :sintr-grml} and {\tt :sintr-grin}) are built
|
||||||
|
by the two auxiliary functions: \par}
|
||||||
|
{\leftskip=20mm
|
||||||
|
{\tt classifying-space-grml-sintr} and \par}
|
||||||
|
{\leftskip=20mm
|
||||||
|
{\tt classifying-space-grin-sintr}, \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
defining the laws of this new group from the corresponding laws of {\em A-smgr}. \par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\section {Eilenberg-Mac Lane spaces $K(\pi,n)$}
|
||||||
|
|
||||||
|
We\index{$K(\pi,n)$} have already described $K({\Z},1)$ and $K({\Z}_2,1)$ in the chapter on simplicial groups.
|
||||||
|
This section gives some complements about the construction of $K({\Z},n)$ and $K({\Z}_2,n)$. The trivial case
|
||||||
|
for $n=0$ is not implemented in {\tt Kenzo}. For $n > 1$, these simplicial groups
|
||||||
|
are built recursively as the classifying spaces of $K({\Z},n-1)$ and $K({\Z}_2,n-1)$, respectively, as shown
|
||||||
|
in the following description:
|
||||||
|
\par
|
||||||
|
\vskip 0.40cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt k-z} {\em n} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build $K({\Z},n)$ recursively from $K({\Z},n-1)$. If $n=1$, return $K({\Z},1)$
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(defun K-Z (n)
|
||||||
|
(the ab-simplicial-group
|
||||||
|
(if (= n 1)
|
||||||
|
(k-z-1)
|
||||||
|
(classifying-space (k-z (1- n))))))
|
||||||
|
\end{verbatim}}
|
||||||
|
\par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt k-z2} {\em n} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build $K({\Z}_2,n)$ recursively from $K({\Z}_2,n-1)$. If $n=1$, return $K({\Z}_2,1)$
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(defun K-Z2 (n)
|
||||||
|
(the ab-simplicial-group
|
||||||
|
(if (= n 1)
|
||||||
|
(k-z2-1)
|
||||||
|
(classifying-space (k-z2 (1- n))))))
|
||||||
|
\end{verbatim}}
|
||||||
|
\par}}
|
||||||
|
These spaces have an effective homology which is computed via a {\em search-efhm} method (described in a next chapter).
|
||||||
|
For the case $n=1$, we may recall here that $K({\Z},1)$, though being locally effective,
|
||||||
|
has the homology of $S^1$. The {\em search-efhm} method applied to this chain complex does the following: a reduction
|
||||||
|
between $K({\Z},1)$ and the chain complex {\tt circle} (described in the chain complex chapter) is
|
||||||
|
built using the function {\tt kz1-rdct} and the homotopy equivalence, value of the slot {\tt efhm}, is
|
||||||
|
built between this reduction and the trivial reduction of $K({\Z},1)$ upon itself.\par
|
||||||
|
On the other hand, $K({\Z},2)$ has a very simple finite basis in every dimension (see $\R$-projective
|
||||||
|
spaces), so its homology is computed directly from its basis. The homotopy
|
||||||
|
equivalence, value of the slot {\tt efhm}, is the trivial homotopy equivalence of $K({\Z},2)$ upon
|
||||||
|
itself.
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\subsection* {Examples}
|
||||||
|
|
||||||
|
Let us begin by showing some examples of gbars built from various
|
||||||
|
initial simplicial groups. In the second statement, the initial simplicial group
|
||||||
|
is $K({\Z}_2, 1)$, in the third, it is $\Omega({\em Moore}(2,2))$. We recall that
|
||||||
|
in the call of the function {\tt gbar}, the degeneracy operators appear as integers,
|
||||||
|
according to the general rule in {\tt Kenzo}, but the printed result shows in clear
|
||||||
|
the sequence of $\eta_i$'s.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(gbar 2 1 'a 2 'b) ==>
|
||||||
|
|
||||||
|
<<GBar<0 A><1 B>>>
|
||||||
|
|
||||||
|
(gbar 4 0 3 3 0 1 0 0 0) ==>
|
||||||
|
|
||||||
|
<<GBar<- 3><1-0 0><0 0><- 0>>>
|
||||||
|
|
||||||
|
(setf gbar-mr22 (gbar 4 0 (loop3 3 'm2 1 4 'n3 1)
|
||||||
|
0 (loop3 0 'n3 1)
|
||||||
|
0 (loop3 0 'm2 1)
|
||||||
|
0 +null-loop+)) ==>
|
||||||
|
|
||||||
|
<<GBar<- <<Loop[1-0 M2][2 N3]>>><- <<Loop[N3]>>><- <<Loop[M2]>>>
|
||||||
|
<- <<Loop>>>>>
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us test the face function upon this simplex. The user will note
|
||||||
|
that the face function returns an abstract simplex.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf om (loop-space (moore 2 2))) ==>
|
||||||
|
|
||||||
|
[K18 Simplicial-Group]
|
||||||
|
|
||||||
|
(setf face (classifying-space-face (face om) (sintr (grml om)))) ==>
|
||||||
|
|
||||||
|
#<Closure (FLET CLASSIFYING-SPACE-FACE RSLT) @ #x49af32>
|
||||||
|
|
||||||
|
(dotimes (i 5) (print (funcall face i 4 gbar-m22))) ==>
|
||||||
|
|
||||||
|
<AbSm - <<GBar<- <<Loop[0 M2][1 M2]>>><- <<Loop[M2]>>><- <<Loop>>>>>>
|
||||||
|
<AbSm 0 <<GBar<- <<Loop[M2]>>><- <<Loop>>>>>>
|
||||||
|
<AbSm - <<GBar<- <<Loop[0 M2][N3]>>><- <<Loop[M2\2]>>><- <<Loop>>>>>>
|
||||||
|
<AbSm - <<GBar<- <<Loop[N3\2]>>><- <<Loop[M2]>>><- <<Loop>>>>>>
|
||||||
|
<AbSm - <<GBar<- <<Loop[N3]>>><- <<Loop[M2]>>><- <<Loop>>>>>>
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us work now, directly with the classifying space of $K({\Z}_2, 1)$.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf cs-kz21 (classifying-space (k-z2-1))) ==>
|
||||||
|
|
||||||
|
[K13 Abelian-Simplicial-Group]
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(orgn cs-kz21) ==>
|
||||||
|
|
||||||
|
(CLASSIFYING-SPACE [K1 Abelian-Simplicial-Group])
|
||||||
|
|
||||||
|
(setf elem-1 (first (basis cs-kz21 4))) ==>
|
||||||
|
|
||||||
|
<<GBar<- 3><- 2><- 1><- 0>>>
|
||||||
|
|
||||||
|
(? cs-kz21 4 elem-1) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<2 * <<GBar<- 2><- 1><- 0>>>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? cs-kz21 *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 2}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(cprd cs-kz21 4 elem-1) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
<1 * <TnPr <<GBar>> <<GBar<- 3><- 2><- 1><- 0>>>>>
|
||||||
|
<1 * <TnPr <<GBar<- 1><- 0>>> <<GBar<- 1><- 0>>>>>
|
||||||
|
<1 * <TnPr <<GBar<- 3><- 2><- 1><- 0>>> <<GBar>>>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(dotimes (i 5)
|
||||||
|
(print (face cs-kz21 i 4 elem-1))) ==>
|
||||||
|
|
||||||
|
<AbSm - <<GBar<- 2><- 1><- 0>>>>
|
||||||
|
<AbSm 0 <<GBar<- 1><- 0>>>>
|
||||||
|
<AbSm 1 <<GBar<- 1><- 0>>>>
|
||||||
|
<AbSm 2 <<GBar<- 1><- 0>>>>
|
||||||
|
<AbSm - <<GBar<- 2><- 1><- 0>>>>
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us test the law group with $K({\Z}, 1)$. We recall the simplices
|
||||||
|
of this Abelian simplicial group are represented as lists of integers.
|
||||||
|
The functions {\tt grml} and {\tt grin} accept also the gbars under the form
|
||||||
|
of abstract simplices (see the last statement).
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf cs-kz1 (classifying-space (k-z-1))) ==>
|
||||||
|
|
||||||
|
[K13 Abelian-Simplicial-Group]
|
||||||
|
|
||||||
|
(grml cs-kz1 3 (crpr 0 (gbar 3 0 '(1 2) 0 '(3) 0 '())
|
||||||
|
0 (gbar 3 0 '(-1 -2) 0 '(-3) 0 '()))) ==>
|
||||||
|
|
||||||
|
<AbSm 2-1-0 <<GBar>>>
|
||||||
|
|
||||||
|
(grml cs-kz1 3 (crpr 0 (gbar 3 0 '(1 2) 0 '(3) 0 '())
|
||||||
|
4 (gbar 2 0 '(-3) 0 '()))) ==>
|
||||||
|
|
||||||
|
<AbSm - <<GBar<- (1 2)><0 NIL><- NIL>>>>
|
||||||
|
|
||||||
|
(grml cs-kz1 3 (crpr 0 (gbar 3 0 '(1 2) 0 '(3) 0 '())
|
||||||
|
1 (gbar 2 0 '(-3) 0 '()))) ==>
|
||||||
|
|
||||||
|
<AbSm - <<GBar<- (1 -1)><- (3)><- NIL>>>>
|
||||||
|
|
||||||
|
(grin cs-kz1 3 (gbar 3 0 '(1 2) 1 '() 0 '())) ==>
|
||||||
|
|
||||||
|
<AbSm - <<GBar<- (-1 -2)><0 NIL><- NIL>>>>
|
||||||
|
|
||||||
|
(grin cs-kz1 3 *) ==>
|
||||||
|
|
||||||
|
<AbSm - <<GBar<- (1 2)><0 NIL><- NIL>>>>
|
||||||
|
\end{verbatim}}
|
||||||
|
As $K({\Z}, 1)$ and $K({\Z_2}, 1)$ are Abelian simplicial groups, we may iterate the classifying
|
||||||
|
space construction and retrieve some known results.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(cat-init) ;; re-initialization
|
||||||
|
|
||||||
|
(setf k-z-3 (k-z 3)) ==>
|
||||||
|
|
||||||
|
[K25 Abelian-Simplicial-Group]
|
||||||
|
|
||||||
|
(homology k-z-3 0 10) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 6 :
|
||||||
|
|
||||||
|
Homology in dimension 7 :
|
||||||
|
|
||||||
|
Component Z/3Z
|
||||||
|
|
||||||
|
Homology in dimension 8 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 9 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
(setf k-z2-5 (k-z2 5)) ==>
|
||||||
|
|
||||||
|
[K342 Abelian-Simplicial-Group]
|
||||||
|
|
||||||
|
(homology k-z2-5 0 7) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 6 :
|
||||||
|
|
||||||
|
--done--
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\subsection* {Lisp files concerned in this chapter}
|
||||||
|
|
||||||
|
{\tt classifying-space.lisp}, {\tt k-pi-n.lisp}.
|
||||||
656
doc/doc_src/coaldoc.tex
Normal file
656
doc/doc_src/coaldoc.tex
Normal file
@ -0,0 +1,656 @@
|
|||||||
|
\chapter{Coalgebras and cobars}
|
||||||
|
|
||||||
|
\section{Introduction}
|
||||||
|
|
||||||
|
The implementation of coalgebras and cobars follows closely the section $6$ of the paper
|
||||||
|
{\em Effective Homology: a survey}\footnote{Available
|
||||||
|
at the web site {\bf http://www-fourier.ujf.grenoble.fr/\~\,sergerar/}}.
|
||||||
|
|
||||||
|
\section{Coalgebras}
|
||||||
|
|
||||||
|
A coalgebra is a pair $(C, \chi)$ where
|
||||||
|
\begin{enumerate}
|
||||||
|
\item $C$ is a chain complex.
|
||||||
|
\item $\chi$ (the {\em coproduct}) is a chain complex morphism
|
||||||
|
$$\chi: C \rightarrow C \otimes C.$$
|
||||||
|
\end{enumerate}
|
||||||
|
These components must satisfy the usual structural properties of the coalgebras\footnote
|
||||||
|
{{\bf Mac Lane}, Homology, section VI-9. Springer 1970.}.
|
||||||
|
|
||||||
|
\subsection {Implementation of a coalgebra}
|
||||||
|
|
||||||
|
A coalgebra\index{class!{\tt COALGEBRA}} is represented as an instance
|
||||||
|
of the CLOS class {\tt COALGEBRA}, subclass
|
||||||
|
of the {\tt CHAIN COMPLEX} class. The definition of this new class is simply:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(DEFCLASS COALGEBRA (chain-complex)
|
||||||
|
((cprd :type morphism :initarg :cprd :reader cprd1))) ;; coproduct
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
So, this new class inherits the slots of the {\tt CHAIN COMPLEX} class and has a slot
|
||||||
|
of its own, namely {\tt cprd}, a morphism object representing the coproduct. The user will note
|
||||||
|
the important following fact that, {\bf once a coalgebra has been defined, one may use on it any
|
||||||
|
function or method applicable to a chain complex}.
|
||||||
|
|
||||||
|
\subsection {The function build-clgb}
|
||||||
|
|
||||||
|
To\index{function!{\tt build-clgb}} facilitate the construction of instances of the {\tt COALGEBRA} class, the
|
||||||
|
software provides the function {\tt build-clgb},
|
||||||
|
\vskip 0.40cm
|
||||||
|
{\tt build-clgb :cmpr} {\em cmpr} {\tt :basis} {\em basis} {\tt :bsgn} {\em bsgn} {\tt :intr-dffr} {\em intr-dffr} \par
|
||||||
|
\hspace*{22.5mm}{\tt :dffr-strt} {\em dffr-strt} {\tt :intr-cprd} {\em intr-cprd} \par
|
||||||
|
\hspace*{22.5mm}{\tt :cprd-strt} {\em cprd-strt} {\tt :orgn} {\em orgn}
|
||||||
|
\vskip 0.40cm
|
||||||
|
defined with keyword parameters. The returned value is an instance of type {\tt COALGEBRA}.
|
||||||
|
The keyword arguments are:
|
||||||
|
\begin{itemize}
|
||||||
|
\item[--] {\em cmpr}, a comparison function for generators.
|
||||||
|
\item[--] {\em basis}, the basis function for the underlying chain complex.
|
||||||
|
\item[--] {\em bsgn}, the base point, a generator of any type.
|
||||||
|
\item[--] {\em intr-dffr}, the differential lisp function for the chain complex.
|
||||||
|
\item[--] {\em dffr-strt}, the strategy ({\tt :gnrt} or {\tt :cmbn}) for the differential.
|
||||||
|
\item[--] {\em intr-cprd}, the lisp function for the coproduct of the coalgebra.
|
||||||
|
\item[--] {\em cprd-strt}, the strategy ({\tt :gnrt} or {\tt :cmbn}) for the coproduct.
|
||||||
|
\item[--] {\em orgn}, an adequate comment list.
|
||||||
|
\end{itemize}
|
||||||
|
The function {\tt build-clgb} calls the function {\tt build-chcm} and with the help of the function
|
||||||
|
{\tt build-mrph} builds the coproduct morphism of degree $0$, to settle the
|
||||||
|
slot {\tt crpd} of the instance. According to the definition, the
|
||||||
|
source slot of the coproduct morphism is the underlying chain complex and the target slot
|
||||||
|
is the tensor product of this chain complex with itself. As to the other objects,
|
||||||
|
an identification number $n$ (slot {\tt idnm}) is assigned to this Kenzo object and the
|
||||||
|
{\tt COALGEBRA} instance is pushed onto the list {\tt *clgb-list*}.
|
||||||
|
The associated printing method prints a string like
|
||||||
|
{\tt [K{\em n} Coalgebra]}.
|
||||||
|
|
||||||
|
\subsection {Miscellaneous functions and macros for coalgebras}
|
||||||
|
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cat-init} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Clear among others, the list {\tt *clgb-list*}, list of user created coalgebras and reset
|
||||||
|
the global counter to $1$. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt clgb} {\em n}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Retrieve in the list {\tt *clgb-list*} the coalgebra instance whose identification is $n$.
|
||||||
|
If it does not exist, return {\tt NIL}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cprd} {\em clgb} {\tt \&rest} \hfill {\em [Macro]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Versatile macro relative to the coproduct of a coalgebra. The first argument is a {\tt COALGEBRA}
|
||||||
|
instance. With only one argument, this macro returns the coproduct morphism of the coalgebra.
|
||||||
|
With more arguments, it applies the coproduct morphism on a combination ({\tt (cprd {\em clgb cmbn})})
|
||||||
|
or on a pair {\em degree, generator} ({\tt (cprd {\em clgb degr gnrt})}). \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt change-chcm-to-clgb} {\em chcm} {\tt :intr-cprd} {\em intr-cprd} {\tt :cprd-strt} {\em cprd-strt} \par
|
||||||
|
\hspace* {10mm}{\tt :orgn} {\em orgn} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build a coalgebra instance from the already created chain complex {\em chcm}. The user must give via key
|
||||||
|
parameters a lisp function for the coproduct, the strategy and a comment list. \par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\section {Cobar of a coalgebra}
|
||||||
|
|
||||||
|
Let ${\cal A}$ be a coalgebra, ${\cal M}$ a right ${\cal A}$-comodule, ${\cal N}$ a left ${\cal A}$-comodule.
|
||||||
|
It means that there exist coproducts $\chi_{\cal M}$ and $\chi_{\cal N}$:
|
||||||
|
$$\chi_{\cal M}: {\cal M} \longrightarrow {\cal M}\otimes {\cal A},\quad
|
||||||
|
\chi_{\cal N}: {\cal N} \longrightarrow {\cal A}\otimes {\cal N}. $$
|
||||||
|
It is possible to build a chain complex denoted $Cobar^{\cal A}({\cal M}, {\cal N})$,
|
||||||
|
$$Cobar^{\cal A}({\cal M}, {\cal N}) = \bigoplus_p
|
||||||
|
{\cal M}\otimes {\bar{\cal A}}^{\otimes p} \otimes {\cal N}.$$
|
||||||
|
This section is devoted to the particular case ${\cal M}={\cal N}={\Z}$.
|
||||||
|
\par
|
||||||
|
So, let\index{cobar!of a coalgebra} ${\cal A}$ be a coalgebra , assumed $1$--connected,
|
||||||
|
i.e. ${\cal A}_1 = 0$ and ${\cal A}_0 \simeq {\Z}$,
|
||||||
|
we consider the chain complex, $Cobar^{{\cal A}}({\Z}, {\Z})$, noted more simply $Cobar({\cal A})$,
|
||||||
|
whose $n$-th component is:
|
||||||
|
$$ [Cobar({\cal A})]_n = \bigoplus ({\bar{\cal A}}_{i1} \otimes \cdots \otimes {\bar{\cal A}}_{ik}),\quad i_j >0, \quad
|
||||||
|
i1 + \cdots + ik= n+k.$$
|
||||||
|
A tensor product $g_1 \otimes \cdots \otimes g_k$, where
|
||||||
|
$g_i$ is a generator of ${\bar{\cal A}}_{i}$ is called, in the software {\tt Kenzo},
|
||||||
|
an\index{algebraic loop} {\bf algebraic loop}.
|
||||||
|
The reason is the following: if $X$ is a $1$--connected simplicial set, we shall see in a next
|
||||||
|
chapter that the program {\tt Kenzo} constructs
|
||||||
|
a homotopy equivalence between the chain complex of the loop space ${\cal C}_*(GX)$
|
||||||
|
and $Cobar({\cal C}_*(X)) = Cobar^{{\cal C}_*(X)}({\Z}, {\Z})$,
|
||||||
|
so that a generator of the last chain complex is a kind of ``algebraic'' version of a generator of a loop space.
|
||||||
|
The definition of differential of the Cobar is recalled hereafter.
|
||||||
|
|
||||||
|
|
||||||
|
\subsection {Representation of an algebraic loop}
|
||||||
|
|
||||||
|
An algebraic loop\index{algebraic loop!representation} is represented by a lisp object of the form:
|
||||||
|
|
||||||
|
\begin{center} {\tt (:ALLP ($i_1\,.\, g_1$) \ldots ($i_k\,.\, g_k$))} \end{center}
|
||||||
|
where the $i_j$ are the degrees {\bf in the cobar chain complex} of the generators $g_j$.
|
||||||
|
In the original coalgebra $\cal A$, the generators $g_j$ had the degree $i_j+1$.
|
||||||
|
The corresponding type is {\tt ALLP}.
|
||||||
|
The function to build such an object is also called {\tt allp}
|
||||||
|
\vskip 0.35cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt allp} {\em degr1 gnr1 degr2 gnr2 ... degrk gnrk}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Construct an algebraic loop, i.e. a tensorial product of degree $\sum degr_i$. The sequence of pairs
|
||||||
|
$\lbrace degr_i,\, gnr_i \rbrace$ has an undefinite length and may be void. In this case, the algebraic loop
|
||||||
|
is the null algebraic loop, identified in the system by the constant {\tt +null-allp+}.
|
||||||
|
The function {\tt allp} accepts also as unique argument a list of the form
|
||||||
|
{\em {\tt (}degr1 gnr1 degr2 gnr2 ... degrk gnrk{\tt )}} \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt allp-p} {\em object}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Test if {\em object} is an algebraic loop. \par}
|
||||||
|
}
|
||||||
|
\vskip 0.35cm
|
||||||
|
The associated printing method prints the object under the form:
|
||||||
|
\begin{center}
|
||||||
|
{\tt <<AlLp [$i_1$ $g_1$] ... [$i_k$ $g_k$]>>}
|
||||||
|
\end{center}
|
||||||
|
The user will have noted that in the Cobar, each generator $g_i$ appears with its own degree in the
|
||||||
|
underlying chain complex, {\bf lowered by $1$}.
|
||||||
|
|
||||||
|
\subsection {Definition of the chain complex Cobar}
|
||||||
|
|
||||||
|
The\index{chain complex!cobar} definition of the differential\index{cobar!differential} in the Cobar,
|
||||||
|
will be done in three steps. This is better understood,
|
||||||
|
if we consider the following diagram. We recall that the elements of $({\bar{\cal A}}_*^{\otimes_p})_q$ are
|
||||||
|
by convention of degree $q-p$ in the Cobar.
|
||||||
|
\begin{itemize}
|
||||||
|
\item A chain complex called {\tt vertical-cobar} is defined with the {\em vertical differential} $d_v$.
|
||||||
|
In this case, only the underlying chain complex structure is used.
|
||||||
|
\item A horizontal differential $d_h$ is defined. This uses the co\-pro\-duct structure.
|
||||||
|
\item The final chain complex {\tt cobar} is created with differential $d_v+d_h$.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
$$\diagram{
|
||||||
|
% & & \vdots & & \vdots \cr
|
||||||
|
& & \downarrow & & \downarrow \cr
|
||||||
|
\cdots & \rightarrow & ({\bar{\cal A}}_*^{\otimes p})_q & \buildrel {d_h} \over \longrightarrow
|
||||||
|
& ({\bar{\cal A}}_*^{\otimes {p+1}})_q & \rightarrow & \cdots \cr
|
||||||
|
% & & \vfl {\displaystyle {d_v}}{}
|
||||||
|
% & & \vfl {\displaystyle {d_v}}{} \cr
|
||||||
|
& & \downarrow {\scriptstyle d}_v & & \downarrow {\scriptstyle d}_v \cr
|
||||||
|
\cdots & \rightarrow &({\bar{\cal A}}_*^{\otimes p})_{q-1} & \buildrel {d_h} \over \longrightarrow
|
||||||
|
& ({\bar{\cal A}}_*^{\otimes {p+1}})_{q-1} & \rightarrow & \cdots \cr
|
||||||
|
& & \downarrow & & \downarrow \cr
|
||||||
|
% & & \vdots & & \vdots \cr
|
||||||
|
}$$
|
||||||
|
|
||||||
|
\subsubsection {Definition of the vertical cobar}
|
||||||
|
|
||||||
|
To\index{cobar!vertical} define the vertical cobar chain complex
|
||||||
|
from a chain complex ${\cal C}$, the following functions are provided:
|
||||||
|
\vskip 0.35cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cobar-cmpr} {\em cmpr}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the comparison function {\em cmpr}, build a comparison function for objects
|
||||||
|
of algebraic loop type. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cobar-basis} {\em basis}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the function {\em basis} of a chain complex ${\cal C}$, build a basis
|
||||||
|
function for the vertical cobar chain complex defined on ${\cal C}$. In dimension $0$, there
|
||||||
|
is only one basis element, namely the null algebraic loop. If ${\cal C}$ is locally effective,
|
||||||
|
this function returns the symbol {\tt :locally-effective}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cobar-intr-vrtc-dffr} {\em dffr}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the {\tt lisp} function {\em dffr} of a chain complex ${\cal C}$, build a
|
||||||
|
lisp function for the differential of the vertical cobar chain complex, according to the formula
|
||||||
|
$$d_v(g_1 \otimes \cdots \otimes g_n)=
|
||||||
|
\sum_{i=1}^n{(-1)^{n-i+1+{\sum_{j=1}^{i-1}{\mid g_j \mid}}}
|
||||||
|
g_1 \otimes \cdots \otimes g_{i-1} \otimes {\bf dg_i} \otimes g_{i+1} \otimes \cdots \otimes g_n},$$
|
||||||
|
where $dg_i$ is the differential of the generator $g_i$ in the original chain complex (function {\em dffr})
|
||||||
|
and $\mid g_i \mid$ is the degree of the generator $g_i$ {\em in the cobar chain complex}.
|
||||||
|
In general, the differential $dg_i$ is a sum of tensor products.
|
||||||
|
So, applying the distribution law, the right member is a sum of tensor products, represented by a combination. \par}
|
||||||
|
%}
|
||||||
|
%\newpage
|
||||||
|
%{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt vrtc-cobar} {\em chcm}\hfill {\em [Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the vertical cobar chain complex with underlying chain complex {\em chcm}. This is simply done by the following
|
||||||
|
call to {\tt build-chcm}:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(build-chcm
|
||||||
|
:cmpr (cobar-cmpr cmpr)
|
||||||
|
:basis (cobar-basis basis)
|
||||||
|
:bsgn +null-allp+
|
||||||
|
:intr-dffr (cobar-intr-vrtc-dffr dffr)
|
||||||
|
:strt :gnrt
|
||||||
|
:orgn `(vrtc-cobar ,chcm))
|
||||||
|
\end{verbatim}}
|
||||||
|
where, {\em cmpr}, {\em basis} and {\em dffr} are extracted from the chain complex {\em chcm}. Note that
|
||||||
|
the base generator is the null algebraic loop. \par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection* {Example}
|
||||||
|
|
||||||
|
We are going to build a coalgebra which will be reconsidered in a next chapter (Simplicial sets).
|
||||||
|
It is the coalgebra canonicaly associated to the simplicial set $\Delta_2^{\N}$. This simplicial set is the
|
||||||
|
quotient of $\Delta^{\N}$ -- the standard simplex spanned by the non--negative integers -- by the relation
|
||||||
|
identifying, firstly all the vertices with a unique one and then any $1$--simplex of $\Delta^{\N}$ with the
|
||||||
|
unique degeneracy of this unique vertex. In other words, $\Delta_2^{\N}$ is $1$--reduced: $1$ vertex, no edges. \par
|
||||||
|
Our implementation represents any non--degenerate $n$--simplex as an integer increasing list of length $n+1$.
|
||||||
|
In dimension $0$, for every non--negative $m$ and $n$, the vertices {\tt (m)} and {\tt (n)} are identified; in
|
||||||
|
dimension $1$, the list $(m\, n)$ is always an {\bf illegal} $1$--simplex.
|
||||||
|
This coalgebra will be located through the symbol {\tt smp-deltab2}. The lisp definition uses the function
|
||||||
|
{\tt build-smst} that will be described in the simplicial set chapter. For the moment, it is
|
||||||
|
sufficient to know, that the function {\tt build-smst} allows us to create a coalgebra
|
||||||
|
suitable for the tests. The definition of $\Delta_2^{\N}$ given here, is only for pedagogical
|
||||||
|
purpose, an efficient definition using another representation for the simplices
|
||||||
|
is provided in the software {\tt Kenzo}.
|
||||||
|
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf smp-deltab2
|
||||||
|
(build-smst
|
||||||
|
:cmpr #'(lambda(gsm1 gsm2)
|
||||||
|
(if(rest gsm1) (l-cmpr gsm1 gsm2) :equal))
|
||||||
|
:basis :locally-effective
|
||||||
|
:bspn '(0)
|
||||||
|
:face #'(lambda (i dmn gsm)
|
||||||
|
(case dmn
|
||||||
|
(0 (error ``No face in dimension 0''))
|
||||||
|
(1 (error ``No non-degenerate simplex in dimension 1''))
|
||||||
|
(2 (absm 1 '(0)))
|
||||||
|
(otherwise (absm 0 (append (subseq gsm 0 i)
|
||||||
|
(subseq gsm (1+ i))))) ))
|
||||||
|
:orgn '(simple-deltab2)))
|
||||||
|
\end{verbatim}}
|
||||||
|
The following statements show the identification of vertices and that the boundary
|
||||||
|
of a $2$--simplex is null.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(cmpr smp-deltab2 '(5) '(0)) ==>
|
||||||
|
|
||||||
|
:EQUAL
|
||||||
|
|
||||||
|
(? smp-deltab2 2 '(0 1 2)) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 1}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? smp-deltab2 3 '(0 1 2 3)) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 2}
|
||||||
|
<-1 * (0 1 2)>
|
||||||
|
<1 * (0 1 3)>
|
||||||
|
<-1 * (0 2 3)>
|
||||||
|
<1 * (1 2 3)>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us build the vertical cobar on the coalgebra {\tt smp-deltab2} and apply
|
||||||
|
the comparison function and the differential on some algebraic loops.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf precobar (vrtc-cobar smp-deltab2)) ==>
|
||||||
|
|
||||||
|
[K6 Chain-Complex]
|
||||||
|
|
||||||
|
(bsgn precobar) ==>
|
||||||
|
|
||||||
|
(<<AlLp>>)
|
||||||
|
|
||||||
|
(setf loop-1 (allp 2 '(0 1 2 3))) ==>
|
||||||
|
|
||||||
|
<<AlLp[2 (0 1 2 3)]>>
|
||||||
|
|
||||||
|
(setf loop-2 (allp '(2 (1 2 3 4)))) ==>
|
||||||
|
|
||||||
|
<<AlLp[2 (1 2 3 4)]>>
|
||||||
|
|
||||||
|
(cmpr precobar loop-1 loop-2) ==>
|
||||||
|
|
||||||
|
:LESS
|
||||||
|
|
||||||
|
(? precobar 2 loop-1) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 1}
|
||||||
|
<1 * <<AlLp[1 (0 1 2)]>>>
|
||||||
|
<-1 * <<AlLp[1 (0 1 3)]>>>
|
||||||
|
<1 * <<AlLp[1 (0 2 3)]>>>
|
||||||
|
<-1 * <<AlLp[1 (1 2 3)]>>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? precobar *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 0}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf loop-3 (allp 3 '(0 1 2 3 4) 3 '(1 3 5 7 9))) ==>
|
||||||
|
|
||||||
|
<<AlLp[3 (0 1 2 3 4)][3 (1 3 5 7 9)]>>
|
||||||
|
|
||||||
|
(? precobar 6 loop-3) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 5}
|
||||||
|
<1 * <<AlLp[2 (0 1 2 3)][3 (1 3 5 7 9)]>>>
|
||||||
|
<-1 * <<AlLp[2 (0 1 2 4)][3 (1 3 5 7 9)]>>>
|
||||||
|
<1 * <<AlLp[2 (0 1 3 4)][3 (1 3 5 7 9)]>>>
|
||||||
|
<-1 * <<AlLp[2 (0 2 3 4)][3 (1 3 5 7 9)]>>>
|
||||||
|
<1 * <<AlLp[2 (1 2 3 4)][3 (1 3 5 7 9)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 2 3 4)][2 (1 3 5 7)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 2 3 4)][2 (1 3 5 9)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 2 3 4)][2 (1 3 7 9)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 2 3 4)][2 (1 5 7 9)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 2 3 4)][2 (3 5 7 9)]>>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? precobar *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf loop-4 (allp 3 '(0 1 4 5 6) 4 '(2 3 4 5 6 8) 4 '(0 4 5 6 7 8))) ==>
|
||||||
|
|
||||||
|
<<AlLp[3 (0 1 4 5 6)][4 (2 3 4 5 6 8)][4 (0 4 5 6 7 8)]>>
|
||||||
|
|
||||||
|
(? precobar 11 loop-4) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 10}
|
||||||
|
<-1 * <<AlLp[2 (0 1 4 5)][4 (2 3 4 5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<1 * <<AlLp[2 (0 1 4 6)][4 (2 3 4 5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<-1 * <<AlLp[2 (0 1 5 6)][4 (2 3 4 5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<1 * <<AlLp[2 (0 4 5 6)][4 (2 3 4 5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<-1 * <<AlLp[2 (1 4 5 6)][4 (2 3 4 5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 4 5 6)][3 (2 3 4 5 6)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 4 5 6)][3 (2 3 4 5 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 4 5 6)][3 (2 3 4 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 4 5 6)][3 (2 3 5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 4 5 6)][3 (2 4 5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 4 5 6)][3 (3 4 5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 4 5 6)][4 (2 3 4 5 6 8)][3 (0 4 5 6 7)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 4 5 6)][4 (2 3 4 5 6 8)][3 (0 4 5 6 8)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 4 5 6)][4 (2 3 4 5 6 8)][3 (0 4 5 7 8)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 4 5 6)][4 (2 3 4 5 6 8)][3 (0 4 6 7 8)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 4 5 6)][4 (2 3 4 5 6 8)][3 (0 5 6 7 8)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 4 5 6)][4 (2 3 4 5 6 8)][3 (4 5 6 7 8)]>>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? precobar *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 9}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\subsubsection {Definition of the horizontal differential}
|
||||||
|
|
||||||
|
So\index{differential!horizontal in cobar} far, the coalgebra structure has not been used
|
||||||
|
but now it will be the main ingredient.
|
||||||
|
If we make the convention that the elements of
|
||||||
|
$({\bar{\cal A}}_*^{\otimes_p})_q$ are of degree $q-p$,
|
||||||
|
we know that exists a canonical ``horizontal'' differential $d_h$,
|
||||||
|
$$d_h:({\bar{\cal A}}_*^{\otimes p})_q \longrightarrow ({\bar{\cal A}}_*^{\otimes {p+1}})_q,$$
|
||||||
|
\begin{eqnarray*}
|
||||||
|
d_h( g_1 \otimes \cdots \otimes g_p)& = & (-1)^p \Delta g_1 \otimes g_2 \otimes \cdots \otimes g_p \\
|
||||||
|
& & + (-1)^{p-1} g_1 \otimes \Delta g_2 \otimes \cdots \otimes g_p \\
|
||||||
|
& & \cdots \\
|
||||||
|
& & - g_1 \otimes g_2 \otimes \cdots \otimes g_{p-1} \otimes \Delta g_p,
|
||||||
|
\end{eqnarray*}
|
||||||
|
where $\Delta$ is the coproduct of the coalgebra. Two functions are designed for that:
|
||||||
|
\vskip 0.45cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cobar-intr-hrzn-dffr} {\em cprd}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the coproduct morphism {\em cprd}, build the lisp function with 2 arguments:
|
||||||
|
a degree and an algebraic loop (i.e. a generator) implementing the algorithm for $d_h$. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cobar-hrzn-dffr} {\em clbg}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the horizontal differential morphism, using the slot co\-pro\-duct {\em cprd} of
|
||||||
|
the coalgebra {\em clbg} and the previous function.
|
||||||
|
Note that when called, this function creates, if not already created,
|
||||||
|
the vertical cobar chain complex on {\em clbg}:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(build-mrph
|
||||||
|
:sorc (vrtc-cobar clgb)
|
||||||
|
:trgt (vrtc-cobar clgb)
|
||||||
|
:degr -1
|
||||||
|
:intr (cobar-intr-hrzn-dffr cprd)
|
||||||
|
:strt :gnrt
|
||||||
|
:orgn `(cobar-hrzn-dffr ,clgb))
|
||||||
|
\end{verbatim}}
|
||||||
|
\par}}
|
||||||
|
|
||||||
|
\subsection* {Example}
|
||||||
|
|
||||||
|
We still use our simple coalgebra {\tt smp-deltab2}. The horizontal differential uses the coproduct of the coalgebra.
|
||||||
|
The following examples show the application of the coproduct (note that there are no 1-simplices in the tensor
|
||||||
|
products). We verify also the property of the horizontal differential.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(cprd smp-deltab2 2 '(0 1 2)) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 2}
|
||||||
|
<1 * <TnPr (0) (0 1 2)>>
|
||||||
|
<1 * <TnPr (0 1 2) (0)>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(cprd smp-deltab2 3 '(1 2 3 4)) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<1 * <TnPr (0) (1 2 3 4)>>
|
||||||
|
<1 * <TnPr (1 2 3 4) (0)>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(cprd smp-deltab2 4 '(0 1 2 3 4)) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
<1 * <TnPr (0) (0 1 2 3 4)>>
|
||||||
|
<1 * <TnPr (0 1 2) (2 3 4)>>
|
||||||
|
<1 * <TnPr (0 1 2 3 4) (0)>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf dh-mrph (cobar-hrzn-dffr smp-deltab2)) ==>
|
||||||
|
|
||||||
|
[K8 Morphism (degree -1)]
|
||||||
|
|
||||||
|
loop-1 ==>
|
||||||
|
|
||||||
|
<<AlLp[2 (0 1 2 3)]>>
|
||||||
|
|
||||||
|
(? dh-mrph 2 loop-1) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 1}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
loop-3 ==>
|
||||||
|
|
||||||
|
<<AlLp[3 (0 1 2 3 4)][3 (1 3 5 7 9)]>>
|
||||||
|
|
||||||
|
(? dh-mrph 6 loop-3) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 5}
|
||||||
|
<1 * <<AlLp[1 (0 1 2)][1 (2 3 4)][3 (1 3 5 7 9)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 2 3 4)][1 (1 3 5)][1 (5 7 9)]>>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(? dh-mrph *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
loop-4 ==>
|
||||||
|
|
||||||
|
<<AlLp[3 (0 1 4 5 6)][4 (2 3 4 5 6 8)][4 (0 4 5 6 7 8)]>>
|
||||||
|
|
||||||
|
(? dh-mrph 11 loop-4) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 10}
|
||||||
|
<-1 * <<AlLp[1 (0 1 4)][1 (4 5 6)][4 (2 3 4 5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 4 5 6)][1 (2 3 4)][2 (4 5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 4 5 6)][2 (2 3 4 5)][1 (5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 4 5 6)][4 (2 3 4 5 6 8)][1 (0 4 5)][2 (5 6 7 8)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 4 5 6)][4 (2 3 4 5 6 8)][2 (0 4 5 6)][1 (6 7 8)]>>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? dh-mrph *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 9}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\subsubsection {Final definition of the cobar of a coalgebra}
|
||||||
|
|
||||||
|
To define completely the cobar chain complex\index{cobar! of a coalgebra},
|
||||||
|
we have to provide the lisp function
|
||||||
|
for the differential $d_v + d_h$ and, once created the vertical cobar chain complex,
|
||||||
|
to call the building function {\tt build-chcm} with adequate arguments.
|
||||||
|
\vskip 0.45cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cobar-intr-dffr} {\em vrtc-dffr hrzn-dffr}\hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Define the lisp function for the differential $d_v+d_h$ from the two morphisms
|
||||||
|
{\em vrtc-dffr} and {\em hrzn-dffr}. For efficiency reasons, the implementor
|
||||||
|
has chosen to define this new function rather than to use simply
|
||||||
|
the addition of two morphisms.\par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cobar} {\em coalgebra}\hfill {\em [Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build first the vertical cobar chain complex on the coalgebra. Then return a chain complex
|
||||||
|
with the same slots as the vertical cobar chain complex but with new {\tt :intr-dffr}
|
||||||
|
and {\tt :orgn} slots, as shown in the following definition: \par}
|
||||||
|
}
|
||||||
|
\newpage
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(defmethod COBAR ((coalgebra coalgebra))
|
||||||
|
(let ((vrtc-cobar (vrtc-cobar coalgebra))
|
||||||
|
(cobar-hrzn-dffr (cobar-hrzn-dffr coalgebra)))
|
||||||
|
(declare (type chain-complex vrtc-coabr hrzn-cobar))
|
||||||
|
(the chain-complex
|
||||||
|
(build-chcm
|
||||||
|
:cmpr (cmpr vrtc-cobar)
|
||||||
|
:basis (basis vrtc-cobar)
|
||||||
|
:bsgn +null-allp+
|
||||||
|
:intr-dffr (cobar-intr-dffr (dffr vrtc-cobar)
|
||||||
|
cobar-hrzn-dffr)
|
||||||
|
:strt :gnrt
|
||||||
|
:orgn `(add ,vrtc-cobar ,cobar-hrzn-dffr)))))
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\subsection* {Example}
|
||||||
|
|
||||||
|
We may now build the cobar of {\tt smp-deltab2} and test the differential.
|
||||||
|
{\footnotesize \begin{verbatim}
|
||||||
|
(setf cobar-deltab2 (cobar smp-deltab2)) ==>
|
||||||
|
|
||||||
|
[K9 Chain-Complex]
|
||||||
|
|
||||||
|
loop-3 ==>
|
||||||
|
|
||||||
|
<<AlLp[3 (0 1 2 3 4)][3 (1 3 5 7 9)]>>
|
||||||
|
|
||||||
|
|
||||||
|
(? cobar-deltab2 6 loop-3) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 5}
|
||||||
|
<1 * <<AlLp[2 (0 1 2 3)][3 (1 3 5 7 9)]>>>
|
||||||
|
<-1 * <<AlLp[2 (0 1 2 4)][3 (1 3 5 7 9)]>>>
|
||||||
|
<1 * <<AlLp[2 (0 1 3 4)][3 (1 3 5 7 9)]>>>
|
||||||
|
<-1 * <<AlLp[2 (0 2 3 4)][3 (1 3 5 7 9)]>>>
|
||||||
|
<1 * <<AlLp[2 (1 2 3 4)][3 (1 3 5 7 9)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 2 3 4)][2 (1 3 5 7)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 2 3 4)][2 (1 3 5 9)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 2 3 4)][2 (1 3 7 9)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 2 3 4)][2 (1 5 7 9)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 2 3 4)][2 (3 5 7 9)]>>>
|
||||||
|
<1 * <<AlLp[1 (0 1 2)][1 (2 3 4)][3 (1 3 5 7 9)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 2 3 4)][1 (1 3 5)][1 (5 7 9)]>>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? cobar-deltab2 *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
loop-4 ==>
|
||||||
|
|
||||||
|
<<AlLp[3 (0 1 4 5 6)][4 (2 3 4 5 6 8)][4 (0 4 5 6 7 8)]>>
|
||||||
|
|
||||||
|
(? cobar-deltab2 11 loop-4) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 10}
|
||||||
|
<-1 * <<AlLp[2 (0 1 4 5)][4 (2 3 4 5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<1 * <<AlLp[2 (0 1 4 6)][4 (2 3 4 5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<-1 * <<AlLp[2 (0 1 5 6)][4 (2 3 4 5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<1 * <<AlLp[2 (0 4 5 6)][4 (2 3 4 5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<-1 * <<AlLp[2 (1 4 5 6)][4 (2 3 4 5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 4 5 6)][3 (2 3 4 5 6)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 4 5 6)][3 (2 3 4 5 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 4 5 6)][3 (2 3 4 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 4 5 6)][3 (2 3 5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 4 5 6)][3 (2 4 5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 4 5 6)][3 (3 4 5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 4 5 6)][4 (2 3 4 5 6 8)][3 (0 4 5 6 7)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 4 5 6)][4 (2 3 4 5 6 8)][3 (0 4 5 6 8)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 4 5 6)][4 (2 3 4 5 6 8)][3 (0 4 5 7 8)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 4 5 6)][4 (2 3 4 5 6 8)][3 (0 4 6 7 8)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 4 5 6)][4 (2 3 4 5 6 8)][3 (0 5 6 7 8)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 4 5 6)][4 (2 3 4 5 6 8)][3 (4 5 6 7 8)]>>>
|
||||||
|
<-1 * <<AlLp[1 (0 1 4)][1 (4 5 6)][4 (2 3 4 5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 4 5 6)][1 (2 3 4)][2 (4 5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<1 * <<AlLp[3 (0 1 4 5 6)][2 (2 3 4 5)][1 (5 6 8)][4 (0 4 5 6 7 8)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 4 5 6)][4 (2 3 4 5 6 8)][1 (0 4 5)][2 (5 6 7 8)]>>>
|
||||||
|
<-1 * <<AlLp[3 (0 1 4 5 6)][4 (2 3 4 5 6 8)][2 (0 4 5 6)][1 (6 7 8)]>>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? cobar-deltab2 *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 9}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\section {Other functions for the cobar construction}
|
||||||
|
|
||||||
|
The\index{functor!vertical cobar} vertical cobar construction is
|
||||||
|
{\em natural} and therefore defines a functor.
|
||||||
|
Consequently, the {\tt Kenzo} program contains the following methods.
|
||||||
|
\vskip 0.45cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt vrtc-cobar} {\em mrph}\hfill {\em [Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the morphism {\em mrph}, build a new morphism between the vertical-cobar of the source
|
||||||
|
of {\em mrph} and the vertical cobar of the target of {\em mrph}, the morphism itself being
|
||||||
|
induced in a natural way by the underlying morphism. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt vrtc-cobar} {\em rdct}\hfill {\em [Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the reduction {\em rdct}, build a new reduction, by applying the vertical cobar
|
||||||
|
method to the functions $f$ and $g$. The new homotopy cannot be obtained so simply, being
|
||||||
|
a function of the $f$, $g$ and $h$ of {\em rdct}. Nevertheless, the source and target
|
||||||
|
of the new homotopy are the vertical cobar of the underlying homotopy. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt vrtc-cobar} {\em hmeq}\hfill {\em [Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build a homotopy equivalence by applying the vertical cobar cons\-truc\-ti\-on
|
||||||
|
to the left and right reductions of the homotopy equivalence {\em hmeq}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cobar} {\em hmeq}\hfill {\em [Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build a homotopy equivalence where the cobar construction is applied to the
|
||||||
|
underlying homotopy equivalence in the following way. First this construction is limited to the
|
||||||
|
case where the left bottom chain complex of {\em hmeq} is a {\bf coalgebra}. Then the vertical cobar
|
||||||
|
construction is applied to {\em hmeq} and the horizontal differential of the left bottom chain complex
|
||||||
|
is propagated upon the new homotopy equivalence with the help of the method {\tt add}. In other words,
|
||||||
|
starting from the left bottom chain complex, firstly the easy pertubation lemma is applied to
|
||||||
|
obtain a new differential on the top chain complex; then the basic perturbation lemma
|
||||||
|
is applied to the right reduction.
|
||||||
|
If {\em hmeq} is a
|
||||||
|
trivial homotopy equivalence, this function returns a trivial one, built on the cobar of
|
||||||
|
the left bottom chain complex of {\em hmeq}. \par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection* {Lisp files concerned in this chapter}
|
||||||
|
|
||||||
|
{\tt coalgebras.lisp}, {\tt cobar.lisp}.
|
||||||
|
\par
|
||||||
|
[{\tt classes.lisp}, {\tt macros.lisp}, {\tt various.lisp}].
|
||||||
733
doc/doc_src/cstwdoc.tex
Normal file
733
doc/doc_src/cstwdoc.tex
Normal file
@ -0,0 +1,733 @@
|
|||||||
|
\chapter {Simplicial groups fibrations}
|
||||||
|
|
||||||
|
\section {Introduction}
|
||||||
|
|
||||||
|
This chapter\index{fibrations!simplicial groups} is analogous to the Loop spaces fibrations chapter
|
||||||
|
where algorithms have been specially designed for loop spaces. In the present case, we have at our
|
||||||
|
disposal all the tools developped for the fibrations. Let ${\cal G}$
|
||||||
|
be a $0$--reduced simplicial group and $\bar{\cal W}{\cal G}$, its
|
||||||
|
classifying space. We recall that if ${\cal G}$ is
|
||||||
|
an Abelian simplicial group then $\bar{\cal W}{\cal G}$ is also an Abelian
|
||||||
|
simplicial group, otherwise if ${\cal G}$ is non--Abelian, then $\bar{\cal W}{\cal G}$
|
||||||
|
is only a simplicial set. The software {\tt Kenzo} implements the
|
||||||
|
{\bf canonical} twisted cartesian product of $\bar{\cal W}{\cal G}$ by ${\cal G}$,
|
||||||
|
denoted ${\cal WG}=\bar{\cal W}{\cal G} \times_\tau {\cal G}$.
|
||||||
|
The {\em canonical fibration}
|
||||||
|
$$ {\cal G}\quad \hookrightarrow\quad {\cal WG} \hskip 1.2em \longrightarrow \hskip -1.2em \longrightarrow
|
||||||
|
\quad\bar{\cal W}{\cal G},$$
|
||||||
|
is defined by the following twisting operator:
|
||||||
|
$$\tau[(g_{n-1}, g_{n-2}, \ldots, g_0)]= g_{n-1}.$$
|
||||||
|
The total space ${\cal WG}=\bar{\cal W}{\cal G} \times_\tau {\cal G}$ is acyclic.
|
||||||
|
|
||||||
|
\section {The function for the canonical fibration}
|
||||||
|
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt smgr-fibration} {\em smgr} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the simplicial morphism of degree $-1$ corresponding to the canonical fibration.
|
||||||
|
The source is the classifying space of the simplicial group {\em smgr}
|
||||||
|
(built internally by the function), the target
|
||||||
|
is {\em smgr} and the internal lisp function value of the slot {\tt :sintr} implements
|
||||||
|
the twisting operator. The returned object is a fibration. \par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection* {Examples}
|
||||||
|
|
||||||
|
Let us take the Abelian simplicial group $K({\Z},1)$ and build the fibration morphism.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf k1 (k-z-1)) ==>
|
||||||
|
|
||||||
|
[K1 Abelian-Simplicial-Group]
|
||||||
|
|
||||||
|
(setf tw (smgr-fibration k1)) ==>
|
||||||
|
|
||||||
|
[K25 Fibration]
|
||||||
|
\end{verbatim}}
|
||||||
|
If needed, the classifying space may be found in the slot {\tt :sorc} of the fibration:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf k2 (sorc tw)) ==>
|
||||||
|
|
||||||
|
[K13 Abelian-Simplicial-Group]
|
||||||
|
\end{verbatim}}
|
||||||
|
We may build now the total space of the fibration. We see that {\tt Kenzo} returns
|
||||||
|
a Kan simplicial set because the base and fiber spaces are also of
|
||||||
|
Kan type. Then we test the face and differential operator upon a simplex of degree $4$ of
|
||||||
|
the total space {\tt tt}.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf tt (fibration-total tw)) ==>
|
||||||
|
|
||||||
|
[K31 Kan-Simplicial-Set]
|
||||||
|
|
||||||
|
(setf gmsm (crpr 0 (gbar 4 0 '(10 11 12) 0 '(20 21) 0 '(30) 0 '())
|
||||||
|
0 '(2 4 6 8))) ==>
|
||||||
|
|
||||||
|
<CrPr - <<GBar<- (10 11 12)><- (20 21)><- (30)><- NIL>>> - (2 4 6 8)>
|
||||||
|
|
||||||
|
(dotimes (i 5) (print (face tt i 4 gmsm))) ==>
|
||||||
|
|
||||||
|
<AbSm - <CrPr - <<GBar<- (11 12)><- (21)><- NIL>>> - (4 6 8)>>
|
||||||
|
<AbSm - <CrPr - <<GBar<- (21 12)><- (41)><- NIL>>> - (6 6 8)>>
|
||||||
|
<AbSm - <CrPr - <<GBar<- (10 23)><- (50)><- NIL>>> - (2 10 8)>>
|
||||||
|
<AbSm - <CrPr - <<GBar<- (30 32)><- (30)><- NIL>>> - (2 4 14)>>
|
||||||
|
<AbSm - <CrPr - <<GBar<- (20 21)><- (30)><- NIL>>> - (12 15 18)>>
|
||||||
|
|
||||||
|
(? tt 4 gmsm) ==>
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<1 * <CrPr - <<GBar<- (10 23)><- (50)><- NIL>>> - (2 10 8)>>
|
||||||
|
<1 * <CrPr - <<GBar<- (11 12)><- (21)><- NIL>>> - (4 6 8)>>
|
||||||
|
<1 * <CrPr - <<GBar<- (20 21)><- (30)><- NIL>>> - (12 15 18)>>
|
||||||
|
<-1 * <CrPr - <<GBar<- (21 12)><- (41)><- NIL>>> - (6 6 8)>>
|
||||||
|
<-1 * <CrPr - <<GBar<- (30 32)><- (30)><- NIL>>> - (2 4 14)>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? tt *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 2}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
We may also build the Ronald Brown reduction and test the differential
|
||||||
|
upon a simplex belonging to the twisted tensor product (slot {\tt :bcc} of the
|
||||||
|
reduction).
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf br (brown-reduction tw)) ==>
|
||||||
|
|
||||||
|
[K59 Reduction]
|
||||||
|
|
||||||
|
(setf tw-pr (bcc br)) ==>
|
||||||
|
|
||||||
|
[K57 Chain-Complex]
|
||||||
|
|
||||||
|
(? tw-pr 4 (tnpr 4 (gbar 4 0 '(1 10 100) 0 '(1000 10000) 0 '(100000) 0 '())
|
||||||
|
0 '()))
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<-1 * <TnPr <<GBar>> (111 11000 100000)>>
|
||||||
|
<1 * <TnPr <<GBar>> (111 101000 10000)>>
|
||||||
|
<1 * <TnPr <<GBar>> (11011 100 100000)>>
|
||||||
|
<-1 * <TnPr <<GBar>> (11011 100000 100)>>
|
||||||
|
<-1 * <TnPr <<GBar>> (101001 110 10000)>>
|
||||||
|
<1 * <TnPr <<GBar>> (101001 10010 100)>>
|
||||||
|
<1 * <TnPr <<GBar<- (100000)><- NIL>>> (100)>>
|
||||||
|
<1 * <TnPr <<GBar<- (1 110)><- (101000)><- NIL>>> NIL>>
|
||||||
|
<1 * <TnPr <<GBar<- (10 100)><- (10000)><- NIL>>> NIL>>
|
||||||
|
<-1 * <TnPr <<GBar<- (11 100)><- (11000)><- NIL>>> NIL>>
|
||||||
|
<1 * <TnPr <<GBar<- (1000 10000)><- (100000)><- NIL>>> NIL>>
|
||||||
|
<-1 * <TnPr <<GBar<- (1001 10010)><- (100000)><- NIL>>> NIL>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? tw-pr *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 2}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\section {The essential contraction for simplicial groups fibrations}
|
||||||
|
|
||||||
|
It is known that if ${\cal G}$ is a $0$--reduced simplicial group,
|
||||||
|
the space ${\cal WG}=\bar{\cal W}{\cal G} \times_\tau {\cal G}$ is
|
||||||
|
contractible. So it is possible to build a reduction of this space over ${\Z}$.
|
||||||
|
This reduction depends on the important contraction
|
||||||
|
$$\chi_{\times\tau}: {\bar{\cal W}{\cal G} \times_\tau {\cal G}} \longrightarrow
|
||||||
|
{\bar{\cal W}{\cal G} \times_\tau {\cal G}}, $$
|
||||||
|
defined by:
|
||||||
|
$$\chi_{\times\tau}[(g_{n-1}, \ldots, g_0), g_n] = (-1)^{n+1} (g_n, g_{n-1}, \ldots, g_0, *),$$
|
||||||
|
where $g_n \in {\cal G}$, $(g_{n-1}, \ldots, g_0)$ is a gbar in $\bar{\cal W}{\cal G}$, and
|
||||||
|
$*$ is the neutral element of ${\cal G}_{n+1}$ (in fact the $n$--th degeneracy of the base point of
|
||||||
|
${\cal G}$). We recall also that $\chi_{\times\tau}$
|
||||||
|
is a homotopy operator (degree: $+1$) satisfying the relation
|
||||||
|
$$d \circ \chi_{\times\tau} + \chi_{\times\tau} \circ d =1.$$
|
||||||
|
In addition, if we consider the Brown reduction
|
||||||
|
$$
|
||||||
|
\diagram{
|
||||||
|
{\bar{\cal W}{\cal G} \times_\tau {\cal G}} & \stackrel{h}{\longrightarrow} &
|
||||||
|
{}^s{\bar{\cal W}{\cal G} \times_\tau {\cal G}} \cr
|
||||||
|
{\scriptstyle f} \downarrow \uparrow {\scriptstyle g} \cr
|
||||||
|
{\bar{\cal W}{\cal G} \otimes_\tau {\cal G}} \cr
|
||||||
|
}
|
||||||
|
$$
|
||||||
|
there is an induced contraction
|
||||||
|
$$\chi_{\otimes t}: {\bar{\cal W}{\cal G} \otimes_\tau {\cal G}} \longrightarrow
|
||||||
|
{\bar{\cal W}{\cal G} \otimes_\tau {\cal G}}, $$
|
||||||
|
defined by $\chi_{\otimes t}= f \circ \chi_{\times\tau} \circ g$.
|
||||||
|
This implies that the twisted tensor product is also contractible over ${\Z}$.
|
||||||
|
\par
|
||||||
|
The two functions of {\tt Kenzo} for this construction are:
|
||||||
|
\vskip 0.35cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt smgr-crts-contraction} {\em smgr} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return the homotopy morphism corresponding to the contraction
|
||||||
|
$\chi_{\times\tau}$. The lisp definition is:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(defun SMGR-CRTS-CONTRACTION (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))))
|
||||||
|
\end{verbatim}}
|
||||||
|
At execution time, the work is essentialy done by the function put in the
|
||||||
|
slot {\tt :intr}. This function is itself built by the internal function {\tt smgr-crts-contraction-intr}
|
||||||
|
requiring as argument the base point of the simplicial group. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt smgr-tnpr-contraction} {\em smgr} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return the induced morphism $\chi_{\otimes t}= f \circ \chi_{\times\tau} \circ g$,
|
||||||
|
where $f$ and $g$ are built by the Brown reduction.
|
||||||
|
The lisp definition is:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(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)))
|
||||||
|
|
||||||
|
(the morphism
|
||||||
|
(i-cmps f chi g)))
|
||||||
|
\end{verbatim}} \par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection* {Examples}
|
||||||
|
|
||||||
|
It is an instructive exercise to build and check the reduction over ${\Z}$ of the space
|
||||||
|
${\cal WG}=\bar{\cal W}{\cal G} \times_\tau {\cal G}$ as we did in the
|
||||||
|
loop spaces fibrations chapter.
|
||||||
|
$$
|
||||||
|
\diagram{
|
||||||
|
\bar{\cal W}{\cal G} \times_\tau {\cal G} & \stackrel{\chi_{\times t}}{\longrightarrow} &
|
||||||
|
{}^s\bar{\cal W}{\cal G} \times_\tau {\cal G} \cr
|
||||||
|
{\scriptstyle aug} \downarrow \uparrow {\scriptstyle coaug} \cr
|
||||||
|
{{\cal C}_*({\Z})} \cr
|
||||||
|
}
|
||||||
|
$$
|
||||||
|
In this case, the two homomorphisms
|
||||||
|
$f$ and $g$ of the reduction, are respectively the {\em augmentation} and {\em coaugmentation}
|
||||||
|
morphisms.
|
||||||
|
We define both morphisms according to our previous example based on $K({\Z},1)$.
|
||||||
|
The unit chain complex corresponding to ${\Z}$ is built by the function
|
||||||
|
{\tt z-chcm}; its unique generator in degree $0$ is {\tt :z-gnrt}.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf k1 (k-z-1)) ==>
|
||||||
|
|
||||||
|
[K1 Abelian-Simplicial-Group]
|
||||||
|
|
||||||
|
(setf tw (smgr-fibration k1)) ==>
|
||||||
|
|
||||||
|
[K25 Fibration]
|
||||||
|
|
||||||
|
(setf tt (fibration-total tw)) ==>
|
||||||
|
|
||||||
|
[K31 Kan-Simplicial-Set]
|
||||||
|
\end{verbatim}}
|
||||||
|
The base point of the total space, needed for the coaugmentation, may be obtained
|
||||||
|
by either of the following statements:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(bspn tt) ==>
|
||||||
|
|
||||||
|
<CrPr - <<GBar>> - NIL>
|
||||||
|
|
||||||
|
(crpr 0 +null-gbar+ 0 nil) ==>
|
||||||
|
|
||||||
|
<CrPr - <<GBar>> - NIL>
|
||||||
|
|
||||||
|
(setf aug (build-mrph
|
||||||
|
:sorc (fibration-total(smgr-fibration(k-z-1)))
|
||||||
|
:trgt (z-chcm)
|
||||||
|
:degr 0
|
||||||
|
:intr #'(lambda (degr gnrt)
|
||||||
|
(if (zerop degr)
|
||||||
|
(term-cmbn 0 1 :z-gnrt)
|
||||||
|
(zero-cmbn degr)))
|
||||||
|
:strt :gnrt
|
||||||
|
:orgn '(aug-fibr-tot-smgr-fibr-k-z-1) )) ==>
|
||||||
|
|
||||||
|
[K38 Cohomology-Class (degree 0)]
|
||||||
|
|
||||||
|
(setf coaug (build-mrph
|
||||||
|
:sorc (z-chcm)
|
||||||
|
:trgt (fibration-total(smgr-fibration(k-z-1)))
|
||||||
|
:degr 0
|
||||||
|
:intr #'(lambda (degr gnrt)
|
||||||
|
(if (zerop degr)
|
||||||
|
(term-cmbn 0 1 (crpr 0 +null-gbar+ 0 '()))
|
||||||
|
(zero-cmbn degr)))
|
||||||
|
:strt :gnrt
|
||||||
|
:orgn '(coaug-fibr-tot-smgr-fibr-k-z-1) )) ==>
|
||||||
|
|
||||||
|
[K39 Morphism (degree 0)]
|
||||||
|
|
||||||
|
(? aug 0 (bspn tt)) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 0}
|
||||||
|
<1 * Z-GNRT>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? coaug 0 :z-gnrt) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 0}
|
||||||
|
<1 * <CrPr - <<GBar>> - NIL>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf chi-x-tau (smgr-crts-contraction (k-z-1))) ==>
|
||||||
|
|
||||||
|
[K40 Morphism (degree 1)]
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us apply the contraction morphism upon some simplices:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf *tc* (cmbn 0 1 (crpr 0 +null-gbar+ 0 '()))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 0}
|
||||||
|
<1 * <CrPr - <<GBar>> - NIL>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? chi-x-tau *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 1}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf *tc* (cmbn 4 1 (crpr 0 (gbar 4 0 '(10 11 12) 0 '(20 21) 0 '(30) 0 '())
|
||||||
|
0 '(2 4 6 8)))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
<1 * <CrPr - <<GBar<- (10 11 12)><- (20 21)><- (30)><- NIL>>> - (2 4 6 8)>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? chi-x-tau *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 5}
|
||||||
|
<-1 * <CrPr - <<GBar<- (2 4 6 8)><- (10 11 12)><- (20 21)><- (30)><- NIL>>>
|
||||||
|
4-3-2-1-0 NIL>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf *tc* (cmbn 3 1 (crpr 0 (gbar 3 0 '(10 11) 0 '(20) 0 '())
|
||||||
|
0 '(2 4 6)))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<1 * <CrPr - <<GBar<- (10 11)><- (20)><- NIL>>> - (2 4 6)>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? chi-x-tau *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
<1 * <CrPr - <<GBar<- (2 4 6)><- (10 11)><- (20)><- NIL>>> 3-2-1-0 NIL>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
We may build now the reduction over ${\Z}$ and test it upon the various simplices
|
||||||
|
above:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf rdct (build-rdct :f aug
|
||||||
|
:g coaug
|
||||||
|
:h chi-x-tau
|
||||||
|
:orgn '(reduction-tt-z))) ==>
|
||||||
|
|
||||||
|
[K41 Reduction]
|
||||||
|
|
||||||
|
(pre-check-rdct rdct) ==>
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
(setf *tc* (cmbn 0 1 (crpr 0 +null-gbar+ 0 '()))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 0}
|
||||||
|
<1 * <CrPr - <<GBar>> - NIL>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf *bc* (cmbn 0 1 :z-gnrt)) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 0}
|
||||||
|
<1 * Z-GNRT>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(check-rdct) ==>
|
||||||
|
|
||||||
|
*TC* =>
|
||||||
|
----------------------------------------------------------------------{CMBN 0}
|
||||||
|
<1 * <CrPr - <<GBar>> - NIL>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
*BC* =>
|
||||||
|
----------------------------------------------------------------------{CMBN 0}
|
||||||
|
<1 * Z-GNRT>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
....... All results null ........
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
(setf *tc* (cmbn 4 1 (crpr 0 (gbar 4 0 '(10 11 12) 0 '(20 21) 0 '(30) 0 '())
|
||||||
|
0 '(2 4 6 8)))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
<1 * <CrPr - <<GBar<- (10 11 12)><- (20 21)><- (30)><- NIL>>> - (2 4 6 8)>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(check-rdct) ==>
|
||||||
|
|
||||||
|
....... All results null ........
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
(setf *tc* (cmbn 3 1 (crpr 0 (gbar 3 0 '(10 11) 0 '(20) 0 '())
|
||||||
|
0 '(2 4 6)))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<1 * <CrPr - <<GBar<- (10 11)><- (20)><- NIL>>> - (2 4 6)>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(check-rdct) ==>
|
||||||
|
|
||||||
|
....... All results null ........
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
\vskip 0.30cm
|
||||||
|
We build now the reduction over ${\Z}$ of the twisted tensor product. The contraction
|
||||||
|
is obtained by a call to the function {\tt smgr-tnpr-contraction}.
|
||||||
|
$$
|
||||||
|
\diagram{
|
||||||
|
\bar{\cal W}{\cal G} \otimes_\tau {\cal G} & \stackrel{\chi_{\otimes t}}{\longrightarrow} &
|
||||||
|
{}^s\bar{\cal W}{\cal G} \otimes_\tau {\cal G} \cr
|
||||||
|
{\scriptstyle aug} \downarrow \uparrow {\scriptstyle coaug} \cr
|
||||||
|
{{\cal C}_*({\Z})} \cr
|
||||||
|
}
|
||||||
|
$$
|
||||||
|
Of course, we have to define
|
||||||
|
the augmentation and coaugmentation morphisms adapted to this new example. The user will note
|
||||||
|
that the twisted tensor product chain complex may be obtained from the slot {\tt :sorc} of the contration
|
||||||
|
$\chi_{\otimes t}$.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf chi-t-tau (smgr-tnpr-contraction (k-z-1))) ==>
|
||||||
|
|
||||||
|
[K100 Morphism (degree 1)]
|
||||||
|
|
||||||
|
(setf aug-t (build-mrph
|
||||||
|
:sorc (sorc chi-t-tau)
|
||||||
|
:trgt (z-chcm)
|
||||||
|
:degr 0
|
||||||
|
:intr #'(lambda (degr gnrt)
|
||||||
|
(if (zerop degr)
|
||||||
|
(term-cmbn 0 1 :z-gnrt)
|
||||||
|
(zero-cmbn degr)))
|
||||||
|
:strt :gnrt
|
||||||
|
:orgn '(aug-t-fibr-tot-smgr-fibr-k-z-1) )) ==>
|
||||||
|
|
||||||
|
[K209 Cohomology-Class (degree 0)]
|
||||||
|
|
||||||
|
(setf coaug-t (build-mrph
|
||||||
|
:sorc (z-chcm)
|
||||||
|
:trgt (sorc chi-t-tau)
|
||||||
|
:degr 0
|
||||||
|
:intr #'(lambda (degr gnrt)
|
||||||
|
(if (zerop degr)
|
||||||
|
(term-cmbn 0 1 (tnpr 0 +null-gbar+ 0 '()))
|
||||||
|
(zero-cmbn degr)))
|
||||||
|
:strt :gnrt
|
||||||
|
:orgn '(coaug-t-fibr-tot-smgr-fibr-k-z-1) )) ==>
|
||||||
|
|
||||||
|
[K210 Morphism (degree 0)]
|
||||||
|
|
||||||
|
(setf rdct-t (build-rdct :f aug-t
|
||||||
|
:g coaug-t
|
||||||
|
:h chi-t-tau
|
||||||
|
:orgn '(reduction-t-tt-z))) ==>
|
||||||
|
|
||||||
|
[K211 Reduction]
|
||||||
|
|
||||||
|
(pre-check-rdct rdct-t)
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
(setf *tc* (cmbn 0 1 (tnpr 0 +null-gbar+ 0 '()))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 0}
|
||||||
|
<1 * <TnPr <<GBar>> NIL>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf *bc* (cmbn 0 1 :z-gnrt)) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 0}
|
||||||
|
<1 * Z-GNRT>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(check-rdct) ==>
|
||||||
|
|
||||||
|
....... All results null .....
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
The check is validated also for the following simplices. We see also that,
|
||||||
|
if we apply the contraction $\chi_{\otimes t}$ upon various simplices outside the base fiber, the
|
||||||
|
result is in general non--null. The nullity of this contraction outside
|
||||||
|
the base fiber, which we have verified experimentally in many cases in loop spaces fibration
|
||||||
|
is not verified in simplicial group fibrations.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
|
||||||
|
(setf *tc* (cmbn 3 1 (tnpr 0 +null-gbar+ 3 '(1 10 100)))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<1 * <TnPr <<GBar>> (1 10 100)>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? chi-t-tau *tc*) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
<1 * <TnPr <<GBar<- (1 10 100)><1-0 NIL><0 NIL><- NIL>>> NIL>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf *tc* (cmbn 3 1 (tnpr 2 (gbar 2 0 '(1) 0 '()) 1 '(10)))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<1 * <TnPr <<GBar<- (1)><- NIL>>> (10)>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? chi-t-tau *tc*) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
<1 * <TnPr <<GBar<1-0 (10)><1-0 NIL><- (1)><- NIL>>> NIL>>
|
||||||
|
<-1 * <TnPr <<GBar<2-0 (10)><1 (1)><0 NIL><- NIL>>> NIL>>
|
||||||
|
<1 * <TnPr <<GBar<2-1 (10)><0 (1)><0 NIL><- NIL>>> NIL>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf *tc* (cmbn 3 1 (tnpr 3 (gbar 3 0 '(1 10) 0 '(100) 0 '()) 0 '()))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<1 * <TnPr <<GBar<- (1 10)><- (100)><- NIL>>> NIL>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? chi-t-tau *tc*) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
<1 * <TnPr <<GBar<2 (1 10)><1 (100)><0 NIL><- NIL>>> NIL>>
|
||||||
|
<-1 * <TnPr <<GBar<2-1 (11)><0 (100)><0 NIL><- NIL>>> NIL>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf *tc* (cmbn 4 1 (tnpr 0 +null-gbar+ 4 '(1 10 100 1000)))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
<1 * <TnPr <<GBar>> (1 10 100 1000)>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? chi-t-tau *tc*) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 5}
|
||||||
|
<-1 * <TnPr <<GBar<- (1 10 100 1000)><2-1-0 NIL><1-0 NIL><0 NIL><- NIL>>> NIL>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf *tc* (cmbn 4 1 (tnpr 2 (gbar 2 0 '(1) 0 '()) 2 '(10 100)))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
<1 * <TnPr <<GBar<- (1)><- NIL>>> (10 100)>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? chi-t-tau *tc*) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 5}
|
||||||
|
<-1 * <TnPr <<GBar<1-0 (10 100)><2-1-0 NIL><1-0 NIL><- (1)><- NIL>>> NIL>>
|
||||||
|
<1 * <TnPr <<GBar<2-0 (10 100)><2-1-0 NIL><1 (1)><0 NIL><- NIL>>> NIL>>
|
||||||
|
<-1 * <TnPr <<GBar<2-1 (10 100)><2-1-0 NIL><0 (1)><0 NIL><- NIL>>> NIL>>
|
||||||
|
<-1 * <TnPr <<GBar<3-0 (10 100)><2-1 (1)><1-0 NIL><0 NIL><- NIL>>> NIL>>
|
||||||
|
<1 * <TnPr <<GBar<3-1 (10 100)><2-0 (1)><1-0 NIL><0 NIL><- NIL>>> NIL>>
|
||||||
|
<-1 * <TnPr <<GBar<3-2 (10 100)><1-0 (1)><1-0 NIL><0 NIL><- NIL>>> NIL>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf *tc* (cmbn 4 1 (tnpr 3 (gbar 3 0 '(1 10) 0 '(100) 0 '())
|
||||||
|
1 '(1000)))) ==>
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
<1 * <TnPr <<GBar<- (1 10)><- (100)><- NIL>>> (1000)>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? chi-t-tau *tc*) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 5}
|
||||||
|
<-1 * <TnPr <<GBar<2 (1 10 1000)><2-1-0 NIL><1 (100)><0 NIL><- NIL>>> NIL>>
|
||||||
|
<1 * <TnPr <<GBar<2-1 (11 1000)><2-1-0 NIL><0 (100)><0 NIL><- NIL>>> NIL>>
|
||||||
|
<-1 * <TnPr <<GBar<2-1-0 (1000)><2-1-0 NIL><- (1 10)><- (100)><- NIL>>> NIL>>
|
||||||
|
<1 * <TnPr <<GBar<3 (1 10 1000)><2-1 (100)><1-0 NIL><0 NIL><- NIL>>> NIL>>
|
||||||
|
<-1 * <TnPr <<GBar<3 (1 1000 10)><2-1 (100)><1-0 NIL><0 NIL><- NIL>>> NIL>>
|
||||||
|
<1 * <TnPr <<GBar<3 (1000 1 10)><2-0 (100)><1-0 NIL><0 NIL><- NIL>>> NIL>>
|
||||||
|
<-1 * <TnPr <<GBar<3-1 (11 1000)><2-0 (100)><1-0 NIL><0 NIL><- NIL>>> NIL>>
|
||||||
|
<1 * <TnPr <<GBar<3-1-0 (1000)><2 (1 10)><1-0 NIL><- (100)><- NIL>>> NIL>>
|
||||||
|
<1 * <TnPr <<GBar<3-2 (11 1000)><1-0 (100)><1-0 NIL><0 NIL><- NIL>>> NIL>>
|
||||||
|
<-1 * <TnPr <<GBar<3-2 (1000 11)><1-0 (100)><1-0 NIL><0 NIL><- NIL>>> NIL>>
|
||||||
|
<-1 * <TnPr <<GBar<3-2-0 (1000)><1 (1 10)><1 (100)><0 NIL><- NIL>>> NIL>>
|
||||||
|
<1 * <TnPr <<GBar<3-2-1 (1000)><0 (1 10)><0 (100)><0 NIL><- NIL>>> NIL>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf *tc* (cmbn 4 1 (tnpr 4 (gbar 4 0 '(1 10 100)
|
||||||
|
0 '(1000 10000)
|
||||||
|
0 '(100000)
|
||||||
|
0 '())
|
||||||
|
0 '()))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
<1 * <TnPr <<GBar<- (1 10 100)><- (1000 10000)><- (100000)><- NIL>>> NIL>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? chi-t-tau *tc*) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 5}
|
||||||
|
<1 * <TnPr <<GBar<2 (1001 10010 100)><2-1-0 NIL><1 (100000)><0 NIL><- NIL>>> NIL>>
|
||||||
|
<-1 * <TnPr <<GBar<2-1 (11011 100)><2-1-0 NIL><0 (100000)><0 NIL><- NIL>>> NIL>>
|
||||||
|
<-1 * <TnPr <<GBar<3 (1 10 100)><2 (1000 10000)><1-0 NIL><- (100000)><- NIL>>> NIL>>
|
||||||
|
<-1 * <TnPr <<GBar<3 (111 1000 10000)><2-0 (100000)><1-0 NIL><0 NIL><- NIL>>> NIL>>
|
||||||
|
<1 * <TnPr <<GBar<3 (1001 110 10000)><2-1 (100000)><1-0 NIL><0 NIL><- NIL>>> NIL>>
|
||||||
|
<-1 * <TnPr <<GBar<3 (1001 10010 100)><2-1 (100000)><1-0 NIL><0 NIL><- NIL>>> NIL>>
|
||||||
|
<1 * <TnPr <<GBar<3-1 (11011 100)><2-0 (100000)><1-0 NIL><0 NIL><- NIL>>> NIL>>
|
||||||
|
<1 * <TnPr <<GBar<3-2 (1 110)><1 (1000 10000)><1 (100000)><0 NIL><- NIL>>> NIL>>
|
||||||
|
<1 * <TnPr <<GBar<3-2 (111 11000)><1-0 (100000)><1-0 NIL><0 NIL><- NIL>>> NIL>>
|
||||||
|
<-1 * <TnPr <<GBar<3-2 (11011 100)><1-0 (100000)><1-0 NIL><0 NIL><- NIL>>> NIL>>
|
||||||
|
<-1 * <TnPr <<GBar<3-2-1 (111)><0 (1000 10000)><0 (100000)><0 NIL><- NIL>>> NIL>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
Let us verify once again the unproved conjecture signaled in the loop spaces fibrations
|
||||||
|
chapter. In fact, if the conjecture is true, it is sufficient to prove
|
||||||
|
it with $\bar{\Delta}$. But the following is also a good test of verifying all the
|
||||||
|
involved machinery. If we take ${\cal G}= K({\Z},1)$, the space
|
||||||
|
${\cal WG}=\bar{\cal W}{\cal G} \times_\tau {\cal G}$ is $0$--reduced. Let us consider
|
||||||
|
its loop space and the induced contraction $\chi_{\otimes t}$ over
|
||||||
|
${\cal WG} \otimes_\tau \Omega{\cal WG}$. ${\cal WG}$ and the contraction $\chi_{\otimes t}$
|
||||||
|
are built by the two following statements:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf wgkz1 (fibration-total (smgr-fibration(k-z-1)))) ==>
|
||||||
|
|
||||||
|
[K31 Kan-Simplicial-Set]
|
||||||
|
|
||||||
|
(setf chi-t-tau (tnpr-contraction wgkz1)) ==>
|
||||||
|
|
||||||
|
[K84 Morphism (degree 1)]
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us apply successively the contraction upon a simplex belonging to
|
||||||
|
the base fiber ({\tt gnrt0}) and a simplex out of the base fiber ({\tt gnrt1}).
|
||||||
|
We see that in the second case we obtain a null result. We verify also that
|
||||||
|
$\chi_{\otimes t}\circ \chi_{\otimes t}=0$.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf gnrt0 (tnpr 0 (crpr 0 +null-gbar+ 0 nil)
|
||||||
|
0 (loop3 0 (crpr 0 (gbar 2 0 '(1) 0 '(0) ) 0 '(1)) -3))) ==>
|
||||||
|
|
||||||
|
<TnPr <CrPr - <<GBar>> - NIL> <<Loop[<CrPr - <<GBar<- (1)><- (0)>>> - (1)>\-3]>>>
|
||||||
|
|
||||||
|
(? chi-t-tau 0 gnrt0) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 1}
|
||||||
|
<1 * <TnPr <CrPr - <<GBar<- (1)><- (0)>>> - (1)>
|
||||||
|
<<Loop[<CrPr - <<GBar<- (1)><- (0)>>> - (1)>\-3]>>>>
|
||||||
|
<1 * <TnPr <CrPr - <<GBar<- (1)><- (0)>>> - (1)>
|
||||||
|
<<Loop[<CrPr - <<GBar<- (1)><- (0)>>> - (1)>\-2]>>>>
|
||||||
|
<1 * <TnPr <CrPr - <<GBar<- (1)><- (0)>>> - (1)>
|
||||||
|
<<Loop[<CrPr - <<GBar<- (1)><- (0)>>> - (1)>\-1]>>>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? chi-t-tau *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 2}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf gnrt1 (tnpr 4 (crpr 0 (gbar 4 0 '(10 11 12) 0 '(20 21) 0 '(30) 0 '())
|
||||||
|
0 '(2 4 6 8))
|
||||||
|
0 (loop3 0 (crpr 0 (gbar 2 0 '(1) 0 '(0) ) 0 '(1)) 2))) ==>
|
||||||
|
|
||||||
|
<TnPr <CrPr - <<GBar<- (10 11 12)><- (20 21)><- (30)><- NIL>>> - (2 4 6 8)>
|
||||||
|
<<Loop[<CrPr - <<GBar<- (1)><- (0)>>> - (1)>\2]>>>
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(? chi-t-tau 4 gnrt1) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 5}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
At last we verify that the total space of the fibration of $K({\Z},1)$ is
|
||||||
|
contractible.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(homology (fibration-total(smgr-fibration (k-z-1))) 0 10) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Homology in dimension 6 :
|
||||||
|
|
||||||
|
Homology in dimension 7 :
|
||||||
|
|
||||||
|
Homology in dimension 8 :
|
||||||
|
|
||||||
|
Homology in dimension 9 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
Another example is the following:
|
||||||
|
we build the canonical fibration of $\bar{\cal W}^2K({\Z_2}, 1)$ and verify
|
||||||
|
that its fibration total space is contractible:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf k22 (classifying-space(classifying-space(k-z2-1)))) ==>
|
||||||
|
|
||||||
|
[K306 Abelian-Simplicial-Group]
|
||||||
|
|
||||||
|
(setf fb (smgr-fibration k22)) ==>
|
||||||
|
|
||||||
|
[K836 Fibration]
|
||||||
|
|
||||||
|
(setf tt2 (fibration-total fb)) ==>
|
||||||
|
|
||||||
|
[K837 Kan-Simplicial-Set]
|
||||||
|
|
||||||
|
(homology tt2 0 10) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Homology in dimension 6 :
|
||||||
|
|
||||||
|
Homology in dimension 7 :
|
||||||
|
|
||||||
|
Homology in dimension 8 :
|
||||||
|
|
||||||
|
Homology in dimension 9 :
|
||||||
|
|
||||||
|
--done--
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\subsection* {Lisp file concerned in this chapter}
|
||||||
|
|
||||||
|
{\tt cs-twisted-products.lisp}.
|
||||||
|
|
||||||
|
|
||||||
201
doc/doc_src/cylinss.eps
Normal file
201
doc/doc_src/cylinss.eps
Normal file
@ -0,0 +1,201 @@
|
|||||||
|
%!PS-Adobe-2.0 EPSF-2.0
|
||||||
|
%%Title: cylinss.fig
|
||||||
|
%%Creator: fig2dev Version 3.1 Patchlevel 2
|
||||||
|
%%CreationDate: Wed Jun 26 16:58:59 1996
|
||||||
|
%%For: siret@puccini (Yvon Siret)
|
||||||
|
%Magnification: 0.60
|
||||||
|
%%Orientation: Portrait
|
||||||
|
%%BoundingBox: 0 0 218 164
|
||||||
|
%%Pages: 0
|
||||||
|
%%BeginSetup
|
||||||
|
%%IncludeFeature: *PageSize Letter
|
||||||
|
%%EndSetup
|
||||||
|
%%EndComments
|
||||||
|
/$F2psDict 200 dict def
|
||||||
|
$F2psDict begin
|
||||||
|
$F2psDict /mtrx matrix put
|
||||||
|
/col-1 {0 setgray} bind def
|
||||||
|
/col0 {0.000 0.000 0.000 srgb} bind def
|
||||||
|
/col1 {0.000 0.000 1.000 srgb} bind def
|
||||||
|
/col2 {0.000 1.000 0.000 srgb} bind def
|
||||||
|
/col3 {0.000 1.000 1.000 srgb} bind def
|
||||||
|
/col4 {1.000 0.000 0.000 srgb} bind def
|
||||||
|
/col5 {1.000 0.000 1.000 srgb} bind def
|
||||||
|
/col6 {1.000 1.000 0.000 srgb} bind def
|
||||||
|
/col7 {1.000 1.000 1.000 srgb} bind def
|
||||||
|
/col8 {0.000 0.000 0.560 srgb} bind def
|
||||||
|
/col9 {0.000 0.000 0.690 srgb} bind def
|
||||||
|
/col10 {0.000 0.000 0.820 srgb} bind def
|
||||||
|
/col11 {0.530 0.810 1.000 srgb} bind def
|
||||||
|
/col12 {0.000 0.560 0.000 srgb} bind def
|
||||||
|
/col13 {0.000 0.690 0.000 srgb} bind def
|
||||||
|
/col14 {0.000 0.820 0.000 srgb} bind def
|
||||||
|
/col15 {0.000 0.560 0.560 srgb} bind def
|
||||||
|
/col16 {0.000 0.690 0.690 srgb} bind def
|
||||||
|
/col17 {0.000 0.820 0.820 srgb} bind def
|
||||||
|
/col18 {0.560 0.000 0.000 srgb} bind def
|
||||||
|
/col19 {0.690 0.000 0.000 srgb} bind def
|
||||||
|
/col20 {0.820 0.000 0.000 srgb} bind def
|
||||||
|
/col21 {0.560 0.000 0.560 srgb} bind def
|
||||||
|
/col22 {0.690 0.000 0.690 srgb} bind def
|
||||||
|
/col23 {0.820 0.000 0.820 srgb} bind def
|
||||||
|
/col24 {0.500 0.190 0.000 srgb} bind def
|
||||||
|
/col25 {0.630 0.250 0.000 srgb} bind def
|
||||||
|
/col26 {0.750 0.380 0.000 srgb} bind def
|
||||||
|
/col27 {1.000 0.500 0.500 srgb} bind def
|
||||||
|
/col28 {1.000 0.630 0.630 srgb} bind def
|
||||||
|
/col29 {1.000 0.750 0.750 srgb} bind def
|
||||||
|
/col30 {1.000 0.880 0.880 srgb} bind def
|
||||||
|
/col31 {1.000 0.840 0.000 srgb} bind def
|
||||||
|
|
||||||
|
end
|
||||||
|
save
|
||||||
|
-64.0 217.0 translate
|
||||||
|
1 -1 scale
|
||||||
|
|
||||||
|
/cp {closepath} bind def
|
||||||
|
/ef {eofill} bind def
|
||||||
|
/gr {grestore} bind def
|
||||||
|
/gs {gsave} bind def
|
||||||
|
/sa {save} bind def
|
||||||
|
/rs {restore} bind def
|
||||||
|
/l {lineto} bind def
|
||||||
|
/m {moveto} bind def
|
||||||
|
/rm {rmoveto} bind def
|
||||||
|
/n {newpath} bind def
|
||||||
|
/s {stroke} bind def
|
||||||
|
/sh {show} bind def
|
||||||
|
/slc {setlinecap} bind def
|
||||||
|
/slj {setlinejoin} bind def
|
||||||
|
/slw {setlinewidth} bind def
|
||||||
|
/srgb {setrgbcolor} bind def
|
||||||
|
/rot {rotate} bind def
|
||||||
|
/sc {scale} bind def
|
||||||
|
/sd {setdash} bind def
|
||||||
|
/ff {findfont} bind def
|
||||||
|
/sf {setfont} bind def
|
||||||
|
/scf {scalefont} bind def
|
||||||
|
/sw {stringwidth} bind def
|
||||||
|
/tr {translate} bind def
|
||||||
|
/tnt {dup dup currentrgbcolor
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
|
||||||
|
bind def
|
||||||
|
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
|
||||||
|
4 -2 roll mul srgb} bind def
|
||||||
|
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
|
||||||
|
/$F2psEnd {$F2psEnteredState restore end} def
|
||||||
|
%%EndProlog
|
||||||
|
|
||||||
|
$F2psBegin
|
||||||
|
10 setmiterlimit
|
||||||
|
n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
|
||||||
|
0.03600 0.03600 sc
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
4458 2040 m 4746 2100 l 4458 2160 l 4830 2160 l 4830 2040 l cp clip
|
||||||
|
n 2400 2100 m 4800 2100 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 4458 2040 m 4746 2100 l 4458 2160 l 4506 2100 l 4458 2040 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
2340 3642 m 2400 3354 l 2460 3642 l 2460 3270 l 2340 3270 l cp clip
|
||||||
|
n 2400 4500 m 2400 3300 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 2340 3642 m 2400 3354 l 2460 3642 l 2400 3594 l 2340 3642 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 2400 3375 m 2400 2100 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 2400 4425 m 2400 4800 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
4458 4740 m 4746 4800 l 4458 4860 l 4830 4860 l 4830 4740 l cp clip
|
||||||
|
n 2400 4800 m 4800 4800 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 4458 4740 m 4746 4800 l 4458 4860 l 4506 4800 l 4458 4740 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 4800 4800 m 7200 4800 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
7140 3642 m 7200 3354 l 7260 3642 l 7260 3270 l 7140 3270 l cp clip
|
||||||
|
n 7200 4800 m 7200 3300 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 7140 3642 m 7200 3354 l 7260 3642 l 7200 3594 l 7140 3642 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 7200 3300 m 7200 2100 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 4800 2100 m 7200 2100 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
4772 3414 m 5052 3326 l 4830 3519 l 5155 3338 l 5097 3233 l cp clip
|
||||||
|
n 2400 4800 m 5100 3300 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 4772 3414 m 5052 3326 l 4830 3519 l 4843 3443 l 4772 3414 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 5100 3300 m 7200 2100 l gs col-1 s gr
|
||||||
|
7.500 slw
|
||||||
|
% Polyline
|
||||||
|
n 1800 1500 m 7800 1500 l 7800 6000 l 1800 6000 l 1800 1500 l gs col-1 s gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
7200 1950 m
|
||||||
|
gs 1 -1 sc (v1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2025 3525 m
|
||||||
|
gs 1 -1 sc (e0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
4650 3300 m
|
||||||
|
gs 1 -1 sc (e3) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
3600 3150 m
|
||||||
|
gs 1 -1 sc (t0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
5700 3975 m
|
||||||
|
gs 1 -1 sc (t1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
6975 2550 m
|
||||||
|
gs 1 -1 sc (2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2250 5175 m
|
||||||
|
gs 1 -1 sc (v0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
4650 5175 m
|
||||||
|
gs 1 -1 sc (e2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
7125 5100 m
|
||||||
|
gs 1 -1 sc (v0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2400 1950 m
|
||||||
|
gs 1 -1 sc (v1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
4800 1950 m
|
||||||
|
gs 1 -1 sc (e1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
7350 3525 m
|
||||||
|
gs 1 -1 sc (e0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2550 2400 m
|
||||||
|
gs 1 -1 sc (1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2550 4575 m
|
||||||
|
gs 1 -1 sc (0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
3075 4725 m
|
||||||
|
gs 1 -1 sc (0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
6975 4650 m
|
||||||
|
gs 1 -1 sc (1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
6375 2400 m
|
||||||
|
gs 1 -1 sc (2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
4200 5700 m
|
||||||
|
gs 1 -1 sc (Cylinder) col-1 sh gr
|
||||||
|
$F2psEnd
|
||||||
|
rs
|
||||||
152
doc/doc_src/diabolo.eps
Normal file
152
doc/doc_src/diabolo.eps
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
%!PS-Adobe-2.0 EPSF-2.0
|
||||||
|
%%Title: diabolo.fig
|
||||||
|
%%Creator: fig2dev Version 3.1 Patchlevel 2
|
||||||
|
%%CreationDate: Thu Jul 10 09:28:04 1997
|
||||||
|
%%For: siret@mozart (Yvon Siret)
|
||||||
|
%Magnification: 0.80
|
||||||
|
%%Orientation: Portrait
|
||||||
|
%%BoundingBox: 0 0 277 176
|
||||||
|
%%Pages: 0
|
||||||
|
%%BeginSetup
|
||||||
|
%%IncludeFeature: *PageSize Letter
|
||||||
|
%%EndSetup
|
||||||
|
%%EndComments
|
||||||
|
/$F2psDict 200 dict def
|
||||||
|
$F2psDict begin
|
||||||
|
$F2psDict /mtrx matrix put
|
||||||
|
/col-1 {0 setgray} bind def
|
||||||
|
/col0 {0.000 0.000 0.000 srgb} bind def
|
||||||
|
/col1 {0.000 0.000 1.000 srgb} bind def
|
||||||
|
/col2 {0.000 1.000 0.000 srgb} bind def
|
||||||
|
/col3 {0.000 1.000 1.000 srgb} bind def
|
||||||
|
/col4 {1.000 0.000 0.000 srgb} bind def
|
||||||
|
/col5 {1.000 0.000 1.000 srgb} bind def
|
||||||
|
/col6 {1.000 1.000 0.000 srgb} bind def
|
||||||
|
/col7 {1.000 1.000 1.000 srgb} bind def
|
||||||
|
/col8 {0.000 0.000 0.560 srgb} bind def
|
||||||
|
/col9 {0.000 0.000 0.690 srgb} bind def
|
||||||
|
/col10 {0.000 0.000 0.820 srgb} bind def
|
||||||
|
/col11 {0.530 0.810 1.000 srgb} bind def
|
||||||
|
/col12 {0.000 0.560 0.000 srgb} bind def
|
||||||
|
/col13 {0.000 0.690 0.000 srgb} bind def
|
||||||
|
/col14 {0.000 0.820 0.000 srgb} bind def
|
||||||
|
/col15 {0.000 0.560 0.560 srgb} bind def
|
||||||
|
/col16 {0.000 0.690 0.690 srgb} bind def
|
||||||
|
/col17 {0.000 0.820 0.820 srgb} bind def
|
||||||
|
/col18 {0.560 0.000 0.000 srgb} bind def
|
||||||
|
/col19 {0.690 0.000 0.000 srgb} bind def
|
||||||
|
/col20 {0.820 0.000 0.000 srgb} bind def
|
||||||
|
/col21 {0.560 0.000 0.560 srgb} bind def
|
||||||
|
/col22 {0.690 0.000 0.690 srgb} bind def
|
||||||
|
/col23 {0.820 0.000 0.820 srgb} bind def
|
||||||
|
/col24 {0.500 0.190 0.000 srgb} bind def
|
||||||
|
/col25 {0.630 0.250 0.000 srgb} bind def
|
||||||
|
/col26 {0.750 0.380 0.000 srgb} bind def
|
||||||
|
/col27 {1.000 0.500 0.500 srgb} bind def
|
||||||
|
/col28 {1.000 0.630 0.630 srgb} bind def
|
||||||
|
/col29 {1.000 0.750 0.750 srgb} bind def
|
||||||
|
/col30 {1.000 0.880 0.880 srgb} bind def
|
||||||
|
/col31 {1.000 0.840 0.000 srgb} bind def
|
||||||
|
|
||||||
|
end
|
||||||
|
save
|
||||||
|
-70.0 261.0 translate
|
||||||
|
1 -1 scale
|
||||||
|
|
||||||
|
/cp {closepath} bind def
|
||||||
|
/ef {eofill} bind def
|
||||||
|
/gr {grestore} bind def
|
||||||
|
/gs {gsave} bind def
|
||||||
|
/sa {save} bind def
|
||||||
|
/rs {restore} bind def
|
||||||
|
/l {lineto} bind def
|
||||||
|
/m {moveto} bind def
|
||||||
|
/rm {rmoveto} bind def
|
||||||
|
/n {newpath} bind def
|
||||||
|
/s {stroke} bind def
|
||||||
|
/sh {show} bind def
|
||||||
|
/slc {setlinecap} bind def
|
||||||
|
/slj {setlinejoin} bind def
|
||||||
|
/slw {setlinewidth} bind def
|
||||||
|
/srgb {setrgbcolor} bind def
|
||||||
|
/rot {rotate} bind def
|
||||||
|
/sc {scale} bind def
|
||||||
|
/sd {setdash} bind def
|
||||||
|
/ff {findfont} bind def
|
||||||
|
/sf {setfont} bind def
|
||||||
|
/scf {scalefont} bind def
|
||||||
|
/sw {stringwidth} bind def
|
||||||
|
/tr {translate} bind def
|
||||||
|
/tnt {dup dup currentrgbcolor
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
|
||||||
|
bind def
|
||||||
|
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
|
||||||
|
4 -2 roll mul srgb} bind def
|
||||||
|
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
|
||||||
|
/$F2psEnd {$F2psEnteredState restore end} def
|
||||||
|
%%EndProlog
|
||||||
|
|
||||||
|
$F2psBegin
|
||||||
|
10 setmiterlimit
|
||||||
|
n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
|
||||||
|
0.04800 0.04800 sc
|
||||||
|
7.500 slw
|
||||||
|
% Polyline
|
||||||
|
n 3600 3600 m 4800 3600 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 3600 3600 m 2400 2700 l 2400 4500 l 3600 3600 l gs col-1 s gr
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
n 1500 1800 m 7200 1800 l 7200 5400 l 1500 5400 l 1500 1800 l gs col-1 s gr
|
||||||
|
7.500 slw
|
||||||
|
% Polyline
|
||||||
|
n 4800 3600 m 6000 2700 l 6000 4500 l 4800 3600 l gs col7 0.75 shd ef gr gs col-1 s gr
|
||||||
|
/Times-Roman ff 150.00 scf sf
|
||||||
|
2400 4725 m
|
||||||
|
gs 1 -1 sc (S0) col-1 sh gr
|
||||||
|
/Times-Roman ff 150.00 scf sf
|
||||||
|
2100 3600 m
|
||||||
|
gs 1 -1 sc (S01) col-1 sh gr
|
||||||
|
/Times-Roman ff 150.00 scf sf
|
||||||
|
2400 2550 m
|
||||||
|
gs 1 -1 sc (S1) col-1 sh gr
|
||||||
|
/Times-Roman ff 150.00 scf sf
|
||||||
|
3000 3000 m
|
||||||
|
gs 1 -1 sc (S12) col-1 sh gr
|
||||||
|
/Times-Roman ff 150.00 scf sf
|
||||||
|
3000 4275 m
|
||||||
|
gs 1 -1 sc (S02) col-1 sh gr
|
||||||
|
/Times-Roman ff 150.00 scf sf
|
||||||
|
3600 3450 m
|
||||||
|
gs 1 -1 sc (S2) col-1 sh gr
|
||||||
|
/Times-Roman ff 150.00 scf sf
|
||||||
|
3975 3825 m
|
||||||
|
gs 1 -1 sc (S23) col-1 sh gr
|
||||||
|
/Times-Roman ff 150.00 scf sf
|
||||||
|
4650 3450 m
|
||||||
|
gs 1 -1 sc (S3) col-1 sh gr
|
||||||
|
/Times-Roman ff 150.00 scf sf
|
||||||
|
5925 2625 m
|
||||||
|
gs 1 -1 sc (S4) col-1 sh gr
|
||||||
|
/Times-Roman ff 150.00 scf sf
|
||||||
|
6000 4725 m
|
||||||
|
gs 1 -1 sc (S5) col-1 sh gr
|
||||||
|
/Times-Roman ff 150.00 scf sf
|
||||||
|
5100 4200 m
|
||||||
|
gs 1 -1 sc (S35) col-1 sh gr
|
||||||
|
/Times-Roman ff 150.00 scf sf
|
||||||
|
6150 3675 m
|
||||||
|
gs 1 -1 sc (S45) col-1 sh gr
|
||||||
|
/Times-Roman ff 150.00 scf sf
|
||||||
|
3975 5025 m
|
||||||
|
gs 1 -1 sc (Diabolo) col-1 sh gr
|
||||||
|
/Times-Roman ff 150.00 scf sf
|
||||||
|
5100 3075 m
|
||||||
|
gs 1 -1 sc (S34) col-1 sh gr
|
||||||
|
/Times-Roman ff 150.00 scf sf
|
||||||
|
5400 3675 m
|
||||||
|
gs 1 -1 sc (S345) col-1 sh gr
|
||||||
|
$F2psEnd
|
||||||
|
rs
|
||||||
919
doc/doc_src/dspspdoc.tex
Normal file
919
doc/doc_src/dspspdoc.tex
Normal file
@ -0,0 +1,919 @@
|
|||||||
|
\chapter {Disk pasting and suspension}
|
||||||
|
|
||||||
|
\section{Introduction}
|
||||||
|
|
||||||
|
Let\index{attaching maps} us recall the technique of space construction by
|
||||||
|
{\em attaching maps}\footnote {{\bf Marvin Greenberg} in
|
||||||
|
{\em Lectures on Algebraic Topology.} Benjamin Inc, 1967.}. Let $A$ be a subspace of a space $X$ and a map
|
||||||
|
$f$ of $A$ into a space $Y$. In the space $X \coprod Y$, let us identify each $x$ in $A$ with its image
|
||||||
|
$f(x)$ in $Y$. The quotient space $Z=X\bigcup_f Y$ of the space $X\coprod Y$ by the equivalence
|
||||||
|
relation that the identification above determines, is called the {\em adjunction space} of the system
|
||||||
|
$(X \supset A), (Y\supset f(A))$. The quotient map $g: X\coprod Y \rightarrow Z$ sends $Y$
|
||||||
|
onto a subspace of $Z$.
|
||||||
|
\par
|
||||||
|
In this section, we shall take as pair $(X,A)$ the pair $(D^n, S^{n-1})$, where $D^n$ is the
|
||||||
|
unit disc of ${\R}^n$ and $S^{n-1}$ is the sphere of dimension ${n-1}$, boundary of $D^n$. In this case,
|
||||||
|
the space $Z=D^n\bigcup_f Y$ is said to be obtained from $Y$ by {\em attaching an n--disc via} $f$, or
|
||||||
|
{\em disk pasting}.\index{disk pasting}
|
||||||
|
|
||||||
|
\section{The functions for disk pasting}
|
||||||
|
|
||||||
|
The {\bf Kenzo} program implements the previous technique of space construction, via simplicial sets.
|
||||||
|
We know that $D^n$ is homeomorphic to the standard simplex $\Delta^n$. The method used
|
||||||
|
by the implementor is the following:
|
||||||
|
\par
|
||||||
|
Starting from a simplicial set {\em ss} representing $Y$, build a new one having the same simplices
|
||||||
|
as {\em ss} and in dimension $n$, a new added simplex described by the user. This description
|
||||||
|
consists of: \par
|
||||||
|
-- a name (a symbol) for this new generator,\par
|
||||||
|
-- the list of all its $n+1$ faces.
|
||||||
|
\newpage
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt disk-pasting} {\em smst dmns new faces }\hfill{\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Construct, from the simplicial set {\em smst}, a new simplicial set
|
||||||
|
by attaching the unit disc of dimension {\em dmns}. The argument {\em faces} is the
|
||||||
|
list of $dmn+1$ simplices corresponding to the faces of the new simplex
|
||||||
|
attached to {\em smst}. These simplices are, in principle, written as abstract simplices
|
||||||
|
({\em absm}), nevertheless it is possible to write them as geometric simplices ({\em gmsm}). In this case,
|
||||||
|
the corresponding geometric simplices must have the correct dimension. The program will transform the list of
|
||||||
|
{\em gmsm}'s into a list of {\em absm}'s. The argument {\em new} allows the user to name this new added simplex.
|
||||||
|
The program verifies the coherence of the addition of the new simplex by calling internally the function
|
||||||
|
{\tt check-faces}.
|
||||||
|
\par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt chcm-disk-pasting} {\em chcm dmns new bndr}\hfill{\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Construct, from the chain complex {\em chcm} (chain groups ${\cal C}_*$), a new chain complex
|
||||||
|
(chain groups ${\cal C}_*'$), where:
|
||||||
|
$$C'_p=C_p,\quad \forall p \not= dmn,$$
|
||||||
|
$$C'_{dmn}= C_{dmn} \oplus {\Z}\, new.$$
|
||||||
|
The symbol {\tt new} is the name given by the user to a new generator in dimension $dmns$ and
|
||||||
|
{\em bndr} is a combination of degree $dmns-1$ representing the boundary of the
|
||||||
|
generator {\em new}. Of course, one must have $d_{dmns-1}(bndr)=0.$ \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt hmeq-disk-pasting} {\em hmeq dmns new bndr {\tt \&key} new-lbcc } \hfill{\em [Function]}\par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Construct a homotopy equivalence by attaching the generator {\em new} of dimension {\em dmns}
|
||||||
|
with boundary {\em bndr} to the left bottom chain complex of the homotopy equivalence {\em hmeq}.
|
||||||
|
This modification of the left bottom chain complex is propagated along the whole new homotopy equivalence.
|
||||||
|
The key parameter {\em new-lbcc} is for internal use.
|
||||||
|
\par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\subsection* {Example}
|
||||||
|
|
||||||
|
Let us begin by a trivial example corresponding to the well known following result:
|
||||||
|
if $f$ maps $S^{n-1}$ onto a point $Y$, then by disk pasting we obtain a space homeomorphic to $S^n$.
|
||||||
|
Here, the point $Y$ will be represented by the trivial simplicial set:
|
||||||
|
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf s0 (build-finite-ss '(*))) ==>
|
||||||
|
|
||||||
|
Checking the 0-simplices...
|
||||||
|
[K1 Simplicial-Set]
|
||||||
|
\end{verbatim}}
|
||||||
|
In the identification process, the 1-simplices boundaries of the 2-simplex $\Delta^2$
|
||||||
|
are applied on the 0--degeneracy of the base point $*$.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf s2 (disk-pasting s0
|
||||||
|
2
|
||||||
|
's2
|
||||||
|
(list (absm 1 '*) (absm 1 '*) (absm 1 '*)) ))
|
||||||
|
|
||||||
|
[K6 Simplicial-Set]
|
||||||
|
|
||||||
|
(show-structure s2 2) ==>
|
||||||
|
|
||||||
|
Dimension = 0 :
|
||||||
|
|
||||||
|
Vertices : (*)
|
||||||
|
|
||||||
|
Dimension = 1 :
|
||||||
|
|
||||||
|
Dimension = 2 :
|
||||||
|
|
||||||
|
Simplex : S2
|
||||||
|
|
||||||
|
Faces : (<AbSm 0 *> <AbSm 0 *> <AbSm 0 *>)
|
||||||
|
\end{verbatim}}
|
||||||
|
More interesting is the construction of the successive projectives spaces
|
||||||
|
$P^i{\R}$. Let us begin by $P^1{\R}$. We start from a point (the simplicial set {\tt s0})
|
||||||
|
and we identify the two boundary
|
||||||
|
points of $\Delta^1$ to the base point of {\tt s0}. The new simplex to be added to {\tt s0}
|
||||||
|
is of dimension $1$ and its $2$ faces are the base point itself. It is well known that
|
||||||
|
the resulting corresponding space is homeomorphic to the circle $S^1$.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf p1r (disk-pasting s0 1 'd1 (list (absm 0 '*)(absm 0 '*)))) ==>
|
||||||
|
|
||||||
|
[K34 Simplicial-Set]
|
||||||
|
|
||||||
|
(show-structure p1r 1) ==>
|
||||||
|
|
||||||
|
Dimension = 0 :
|
||||||
|
|
||||||
|
Vertices : (*)
|
||||||
|
|
||||||
|
Dimension = 1 :
|
||||||
|
|
||||||
|
Simplex : D1
|
||||||
|
|
||||||
|
Faces : (<AbSm - *> <AbSm - *>)
|
||||||
|
|
||||||
|
(dotimes (i 3) (homology p1r i)) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim} }
|
||||||
|
|
||||||
|
The projective spaces $P^n{\R}$ of higher degree may be constructed by the following iterative
|
||||||
|
rule. Suppose we have built a simplicial set corresponding to $P^{n-1}{\R}$ and that we have
|
||||||
|
named the additional simplex $d_{n-1}$. Suppose also that $d_{n-2}$ has been previously defined.
|
||||||
|
($d_0$ is the base point).
|
||||||
|
Then the simplicial set corresponding to $P^n{\R}$ is obtained by pasting $\Delta^n$ with the following
|
||||||
|
description of the additional simplex:
|
||||||
|
\begin{itemize}
|
||||||
|
\item the name of the new simplex is $d_n$,
|
||||||
|
\item the faces of $d_n$ are:
|
||||||
|
\begin{eqnarray*}
|
||||||
|
\partial_0 d_n & = & d_{n-1},\\
|
||||||
|
\partial_1 d_n & = & \eta_0 d_{n-2},\\
|
||||||
|
\partial_2 d_n & = & \eta_1 d_{n-2},\\
|
||||||
|
\cdots & = & \cdots , \\
|
||||||
|
\partial_{n-1} d_n & = & \eta_{n-2} d_{n-2},\\
|
||||||
|
\partial_n d_n & = & d_{n-1}.
|
||||||
|
\end{eqnarray*}
|
||||||
|
\end{itemize}
|
||||||
|
So, applying this rule, we may construct a model for $P^i{\R},\, i=2,3,4$ and verify the well known results
|
||||||
|
about their respective homology groups.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf p2r (disk-pasting p1r 2 'd2
|
||||||
|
(list (absm 0 'd1)
|
||||||
|
(absm 1 '*)
|
||||||
|
(absm 0 'd1)) )) ==>
|
||||||
|
|
||||||
|
[K42 Simplicial-Set]
|
||||||
|
|
||||||
|
(show-structure p2r 2) ==>
|
||||||
|
|
||||||
|
Dimension = 0 :
|
||||||
|
|
||||||
|
Vertices : (*)
|
||||||
|
|
||||||
|
Dimension = 1 :
|
||||||
|
|
||||||
|
Simplex : D1
|
||||||
|
|
||||||
|
Faces : (<AbSm - *> <AbSm - *>)
|
||||||
|
|
||||||
|
Dimension = 2 :
|
||||||
|
|
||||||
|
Simplex : D2
|
||||||
|
|
||||||
|
Faces : (<AbSm - D1> <AbSm 0 *> <AbSm - D1>)
|
||||||
|
|
||||||
|
(dotimes (i 3) (homology p2r i)) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
(setf p3r (disk-pasting p2r 3 'd3
|
||||||
|
(list (absm 0 'd2)
|
||||||
|
(absm 1 'd1)
|
||||||
|
(absm 2 'd1)
|
||||||
|
(absm 0 'd2)))) ==>
|
||||||
|
|
||||||
|
[K56 Simplicial-Set]
|
||||||
|
|
||||||
|
(show-structure p3r 3) ==>
|
||||||
|
|
||||||
|
Dimension = 0 :
|
||||||
|
|
||||||
|
Vertices : (*)
|
||||||
|
|
||||||
|
Dimension = 1 :
|
||||||
|
|
||||||
|
Simplex : D1
|
||||||
|
|
||||||
|
Faces : (<AbSm - *> <AbSm - *>)
|
||||||
|
|
||||||
|
Dimension = 2 :
|
||||||
|
|
||||||
|
Simplex : D2
|
||||||
|
|
||||||
|
Faces : (<AbSm - D1> <AbSm 0 *> <AbSm - D1>)
|
||||||
|
|
||||||
|
Dimension = 3 :
|
||||||
|
|
||||||
|
Simplex : D3
|
||||||
|
|
||||||
|
Faces : (<AbSm - D2> <AbSm 0 D1> <AbSm 1 D1> <AbSm - D2>)
|
||||||
|
|
||||||
|
(dotimes (i 4)(homology p3r i)) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
|
||||||
|
(setf p4r (disk-pasting p3r 4 'd4
|
||||||
|
(list (absm 0 'd3)
|
||||||
|
(absm 1 'd2)
|
||||||
|
(absm 2 'd2)
|
||||||
|
(absm 4 'd2)
|
||||||
|
(absm 0 'd3)))) ==>
|
||||||
|
|
||||||
|
[K70 Simplicial-Set]
|
||||||
|
|
||||||
|
(dotimes (i 5) (homology p4r i)) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
Let us give now some examples with the function {\tt chcm-disk-pasting}. We are going to work with
|
||||||
|
the unit chain complex (obtained by the function {\tt z-chcm}, see chapter 1),
|
||||||
|
having a unique non null component,
|
||||||
|
namely a $\Z$--module of degree $0$ generated by the unique generator {\tt :Z-gnrt}.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf *ccz* (z-chcm)) ==>
|
||||||
|
|
||||||
|
[K84 Chain-Complex]
|
||||||
|
\end{verbatim}}
|
||||||
|
Using the function {\tt chcm-disk-pasting}, let us construct from {\tt *ccz*}
|
||||||
|
a new chain complex having in dimension $1$ a unique new generator {\tt gen-1}
|
||||||
|
whose boundary is 5 times the unique generator in dimension $0$. In this new chain complex the
|
||||||
|
homology group in dimension $0$ is ${\Z}/5\,{\Z}$.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf newcc-0 (chcm-disk-pasting *ccz* 1 'gen-1 (cmbn 0 5 :Z-gnrt))) ==>
|
||||||
|
|
||||||
|
[K86 Chain-Complex]
|
||||||
|
|
||||||
|
(chcm-homology-gen newcc-0 0) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z/5Z
|
||||||
|
|
||||||
|
Generator :
|
||||||
|
|
||||||
|
1 * :Z-GNRT
|
||||||
|
|
||||||
|
(chcm-homology-gen newcc-0 1) ==>
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us do the same with a generator whose boundary is $165$ times the ge\-ne\-ra\-tor {\tt :Z-gnrt}:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf newcc-1 (chcm-disk-pasting *ccz* 1 'gen-1 (cmbn 0 165 :Z-gnrt))) ==>
|
||||||
|
|
||||||
|
[K88 Chain-Complex]
|
||||||
|
|
||||||
|
(chcm-homology-gen newcc-1 0) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z/165Z
|
||||||
|
|
||||||
|
Generator :
|
||||||
|
|
||||||
|
1 * :Z-GNRT
|
||||||
|
\end{verbatim}}
|
||||||
|
Now from the chain complex {\tt newcc-1}, let us build a new one, {\tt newcc-2},
|
||||||
|
by adding in dimension $1$ a second generator whose boundary is $182$ times
|
||||||
|
the generator {\tt :Z-gnrt}. The homology group in dimension $0$ of this new chain complex
|
||||||
|
is the null group, since $165$ and $182$ are relatively prime integers.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf newcc-2 (chcm-disk-pasting newcc-1 1 'gen-2 (cmbn 0 182 :Z-gnrt))) ==>
|
||||||
|
|
||||||
|
[K92 Chain-Complex]
|
||||||
|
|
||||||
|
(chcm-homology-gen newcc-2 0) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
(chcm-homology-gen newcc-2 1) ==>
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Generator :
|
||||||
|
|
||||||
|
-165 * GEN-2
|
||||||
|
182 * GEN-1
|
||||||
|
\end{verbatim}}
|
||||||
|
As a second example, let us start from $\Omega^1(S^3)$.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf s3 (sphere 3)) ==>
|
||||||
|
|
||||||
|
[K94 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf os3 (loop-space s3)) ==>
|
||||||
|
|
||||||
|
[K99 Simplicial-Group]
|
||||||
|
\end{verbatim}}
|
||||||
|
In the following instruction, we locate in the symbol {\tt fund-simp} the canonical generator of
|
||||||
|
$\pi_2 (\Omega^1S^3)$, that is the $2$--simplex coming from the original sphere:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf fund-simp (absm 0 (loop3 0 's3 1))) ==>
|
||||||
|
|
||||||
|
<AbSm - <<Loop[S3]>>>
|
||||||
|
\end{verbatim}}
|
||||||
|
We need also the $2$--degeneracy of the base point of the loop space:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf null-simp (absm 3 +null-loop+)) ==>
|
||||||
|
|
||||||
|
<AbSm 1-0 <<Loop>>>
|
||||||
|
\end{verbatim}}
|
||||||
|
We may build now a new object by pasting a disk $D^3$ as indicated by the
|
||||||
|
following call:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf dos3 (disk-pasting os3 3 '<D3>
|
||||||
|
(list fund-simp null-simp fund-simp null-simp))) ==>
|
||||||
|
|
||||||
|
[K212 Simplicial-Set]
|
||||||
|
|
||||||
|
(homology dos3 2) ==>
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
(homology dos3 3) ==>
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
Then, let us build the loop space of the object {\tt dos3} and show the ho\-mo\-lo\-gy
|
||||||
|
in dimension $5$:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf odos3 (loop-space dos3)) ==>
|
||||||
|
|
||||||
|
[K230 Simplicial-Group]
|
||||||
|
|
||||||
|
(homology odos3 5) ==>
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\subsection {Searching Homology for objects created by disk pasting}
|
||||||
|
|
||||||
|
The comment list of an object created by disk pasting\index{searching homology!disk pasting}
|
||||||
|
contains various informations as shown by the simple following example
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf s0 (build-finite-ss '(*))) ==>
|
||||||
|
|
||||||
|
Checking the 0-simplices...
|
||||||
|
|
||||||
|
[K1 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf s2 (disk-pasting s0
|
||||||
|
2
|
||||||
|
's2
|
||||||
|
(list (absm 1 '*) (absm 1 '*) (absm 1 '*)) )) ==>
|
||||||
|
|
||||||
|
[K6 Simplicial-Set]
|
||||||
|
|
||||||
|
(orgn s2) ==>
|
||||||
|
|
||||||
|
(DISK-PASTING [K1 Simplicial-Set] 2 S2 (<AbSm 0 *> <AbSm 0 *> <AbSm 0 *>))
|
||||||
|
\end{verbatim}}
|
||||||
|
In fact, the comment list contains the very arguments used to realize the attaching.
|
||||||
|
The method retrieves those arguments, gets the homotopy equivalence value of the
|
||||||
|
{\tt efhm} slot of the old object --creating it if necessary -- then build
|
||||||
|
a new homotopy equivalence, by calling the function {\tt hmeq-disk-pasting {\em hmeq}} which
|
||||||
|
takes in account the attaching.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(DEFMETHOD SEARCH-EFHM (smst (orgn (eql 'disk-pasting)))
|
||||||
|
(declare (type simplicial-set smst))
|
||||||
|
(the homotopy-equivalence
|
||||||
|
(destructuring-bind (old-smst dmns new faces) (rest (orgn smst))
|
||||||
|
(declare
|
||||||
|
(type simplicial-set old-smst)
|
||||||
|
(fixnum dmns)
|
||||||
|
(symbol new)
|
||||||
|
(ignore faces))
|
||||||
|
(hmeq-disk-pasting
|
||||||
|
(efhm old-smst)
|
||||||
|
dmns new (? smst dmns new)
|
||||||
|
:new-lbcc smst))))
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\section {The functions for the suspension}
|
||||||
|
|
||||||
|
In {\bf Kenzo} the suspension\index{suspension} process is realized by the function {\tt suspension}.
|
||||||
|
This function has one argument, a reduced object (chain complex, simplicial set, etc.).
|
||||||
|
{\bf If the object is not reduced, the result is undefined}.
|
||||||
|
The CLOS mechanism is used to apply an adequate method for building the suspension of the object.
|
||||||
|
For a chain complex, a new base point is created with name {\tt :s-bsgn} and the degree of the generators
|
||||||
|
is increased by $1$. If the suspension process is applied to a homotopy equivalence, then firstly,
|
||||||
|
the left bottom chain complex is suspended and secondly, the modification is propagated along
|
||||||
|
the whole homotopy equivalence.
|
||||||
|
\par
|
||||||
|
\vskip 0.40cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt suspension-cmpr} {\em cmpr}\hfill{\em[Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the comparison function {\em cmpr}, build a comparison function to compare
|
||||||
|
two generators of a suspension. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt suspension-basis} {\em basis}\hfill{\em[Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the function {\em basis} of a chain complex, build a basis function for
|
||||||
|
the suspension of this chain complex. In degree $0$, the only generator is {\tt :s-bsgn},
|
||||||
|
in degree $1$, the basis is void and in degree $k,\,k\ge 2$, the elements of the basis of
|
||||||
|
the suspension are the elements of the initial chain complex in degree $k-1$. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt suspension-intr-dffr} {\em dffr}\hfill{\em[Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the lisp differential function {\em dffr} of a chain complex, build the
|
||||||
|
lisp differential function for the suspension of this chain complex. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt suspension-intr-cprd} {\em cmbn}\hfill{\em[Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return the result of the application of the coproduct of a suspension
|
||||||
|
(considered as a coalgebra) upon the combination {\em cmbn}. Note that
|
||||||
|
this function does not need any other argument than the combination. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt suspension-face} {\em face}\hfill{\em[Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the function face of a simplicial set, build the face function
|
||||||
|
for the suspension of this simplicial set. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt suspension-intr} {\em mrph}\hfill{\em[Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From a {\bf Kenzo} morphism {\em mrph}, build an internal function
|
||||||
|
cor\-res\-pon\-ding to the suspension of the initial morphism. This function
|
||||||
|
will be applied to a combination assumed to belong to a suspension
|
||||||
|
of a chain complex. \par}
|
||||||
|
}
|
||||||
|
\newpage
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt suspension} {\em obj {\tt \&optional} (n 1)}\hfill{\em[Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Construct a new object, the suspension of the {\bf reduced} object {\em obj}.
|
||||||
|
The (geometrical) base point of the suspension of a chain complex
|
||||||
|
(or simplicial set) is named {\tt :s-bsgn}. The optional parameter {\em n} (default: $1$)
|
||||||
|
allows to create in one instruction iterated suspensions. This function calls the adequate
|
||||||
|
method ({\tt suspension-1}) for the object {\em obj}.\par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt suspension-1} {\em chcm}\hfill{\em[Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the chain complex suspension of the chain complex {\em chcm}, using the basic functions
|
||||||
|
above, as shown in the following call to {\tt build-chcm}:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(build-chcm
|
||||||
|
:cmpr (suspension-cmpr cmpr)
|
||||||
|
:basis (suspension-basis basis)
|
||||||
|
:bsgn :s-bsgn
|
||||||
|
:intr-dffr (suspension-intr-dffr dffr)
|
||||||
|
:strt :cmbn
|
||||||
|
:orgn `(suspension ,chcm))
|
||||||
|
\end{verbatim}}
|
||||||
|
\par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt suspension-1} {\em clbg}\hfill{\em[Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return the coalgebra associated to the suspension of the coalgebra {\em clbg}.
|
||||||
|
This calls internally the method for the suspension of the chain complex {\em clbg} then
|
||||||
|
assigns the function {\tt suspension-intr-cprd} to the value of the slot {\tt cprd}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt suspension-1} {\em smst}\hfill{\em[Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return the simplicial set, suspension of the simplicial set {\em smst}.
|
||||||
|
This function uses the previous basic function {\tt suspension-face}.
|
||||||
|
The resulting object is also a coalgebra with a coproduct defined by the
|
||||||
|
function {\tt suspension-intr-cprd}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt suspension-1} {\em mrph}\hfill{\em[Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the suspension of the morphism {\em mrph}. This is a morphism of the same
|
||||||
|
degree as {\em mrph}. If {\em mrph} is the zero morphism, return the zero morphism
|
||||||
|
between the suspensions of the source and target of {\em mrph}. If {\em mrph} is the
|
||||||
|
identity morphim, return the identity morphism upon the suspension of the source
|
||||||
|
of {\em mrph}. Otherwise, return the morphism built by the following call to
|
||||||
|
{\tt build-mrph}:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(build-mrph
|
||||||
|
:sorc (suspension (sorc mrph))
|
||||||
|
:trgt (suspension (trgt mrph))
|
||||||
|
:degr (degr mrph)
|
||||||
|
:intr (suspension-intr mrph)
|
||||||
|
:strt :cmbn
|
||||||
|
:orgn `(suspension ,mrph))
|
||||||
|
\end{verbatim}}
|
||||||
|
\par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt suspension-1} {\em rdct}\hfill{\em[Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the suspension of the reduction {\em rdct}. If {\em rdct} is the trivial
|
||||||
|
reduction upon a chain complex ${\cal C}$, return the trivial reduction upon
|
||||||
|
the suspension of ${\cal C}$. Otherwise, return the reduction built by the following call to
|
||||||
|
the function {\tt build-rdct}:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(build-rdct
|
||||||
|
:f (suspension (f rdct))
|
||||||
|
:g (suspension (g rdct))
|
||||||
|
:h (suspension (h rdct))
|
||||||
|
:orgn `(suspension ,rdct))
|
||||||
|
\end{verbatim}}
|
||||||
|
\par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt suspension-1} {\em hmeq}\hfill{\em[Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the suspension of the homotopy equivalence {\em hmeq}. If {\em hmeq} is the trivial
|
||||||
|
homotopy equivalence upon a chain complex ${\cal C}$, return the trivial homotopy equivalence upon
|
||||||
|
the suspension of ${\cal C}$. O\-ther\-wi\-se, return the homotopy equivalence built by the following call to
|
||||||
|
the function {\tt build-hmeq}:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(build-hmeq
|
||||||
|
:lrdct (suspension (lrdct hmeq))
|
||||||
|
:rrdct (suspension (rrdct hmeq))
|
||||||
|
:orgn `(suspension ,hmeq))
|
||||||
|
\end{verbatim}}
|
||||||
|
\par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection* {Examples}
|
||||||
|
|
||||||
|
Firstly we test the coproduct of the suspension of $\bar\Delta$. In the third
|
||||||
|
statement, the generators $7$ and $11$ are the binary coded representation
|
||||||
|
of the simplices {\tt (0 1 2)} and {\tt (0 1 3)} in dimension $3$ of
|
||||||
|
${\cal S}\bar\Delta$,
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(suspension-intr-cprd (cmbn 0)) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 0}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(suspension-intr-cprd (cmbn 0 5 :s-bsgn)) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 0}
|
||||||
|
<5 * <TnPr S-BSGN S-BSGN>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(suspension-intr-cprd (cmbn 3 4 7 5 11)) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<4 * <TnPr S-BSGN 7>>
|
||||||
|
<5 * <TnPr S-BSGN 11>>
|
||||||
|
<4 * <TnPr 7 S-BSGN>>
|
||||||
|
<5 * <TnPr 11 S-BSGN>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
Let us verify now the classical result ${\cal S}(S^n)=S^{n+1}$.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf s1 (sphere 1)) ==>
|
||||||
|
|
||||||
|
[K1 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf ss1 (suspension s1)) ==>
|
||||||
|
|
||||||
|
[K6 Simplicial-Set]
|
||||||
|
|
||||||
|
(orgn ss1) ==>
|
||||||
|
|
||||||
|
(SUSPENSION [K1 Simplicial-Set])
|
||||||
|
|
||||||
|
(show-structure ss1 2) ==>
|
||||||
|
|
||||||
|
Dimension = 0 :
|
||||||
|
|
||||||
|
Vertices : (S-BSGN)
|
||||||
|
|
||||||
|
Dimension = 1 :
|
||||||
|
|
||||||
|
Dimension = 2 :
|
||||||
|
|
||||||
|
Simplex : S1
|
||||||
|
|
||||||
|
Faces : (<AbSm 0 S-BSGN> <AbSm 0 S-BSGN> <AbSm 0 S-BSGN>)
|
||||||
|
\end{verbatim}}
|
||||||
|
For comparison, let us recall the simplicial set model of $S^2$:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(show-structure (sphere 2) 2) ==>
|
||||||
|
|
||||||
|
Dimension = 0 :
|
||||||
|
|
||||||
|
Vertices : (*)
|
||||||
|
|
||||||
|
Dimension = 1 :
|
||||||
|
|
||||||
|
Dimension = 2 :
|
||||||
|
|
||||||
|
Simplex : S2
|
||||||
|
|
||||||
|
Faces : (<AbSm 0 *> <AbSm 0 *> <AbSm 0 *>)
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us iterate twice the operation of suspension on $S^2$:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf ss22 (suspension (sphere 2) 2)) ==>
|
||||||
|
|
||||||
|
[K21 Simplicial-Set]
|
||||||
|
|
||||||
|
(show-structure ss22 4) ==>
|
||||||
|
|
||||||
|
Dimension = 0 :
|
||||||
|
|
||||||
|
Vertices : (S-BSGN)
|
||||||
|
|
||||||
|
Dimension = 1 :
|
||||||
|
|
||||||
|
Dimension = 2 :
|
||||||
|
|
||||||
|
Dimension = 3 :
|
||||||
|
|
||||||
|
Dimension = 4 :
|
||||||
|
|
||||||
|
Simplex : S2
|
||||||
|
|
||||||
|
Faces : (<AbSm 2-1-0 S-BSGN> <AbSm 2-1-0 S-BSGN>
|
||||||
|
<AbSm 2-1-0 S-BSGN> <AbSm 2-1-0 S-BSGN>
|
||||||
|
<AbSm 2-1-0 S-BSGN>)
|
||||||
|
\end{verbatim}}
|
||||||
|
To test the suspension of a less simple chain complex, let us take a Moore space that we have seen in the
|
||||||
|
simplicial set chapter.
|
||||||
|
We know that the corresponding chain complex is connected. Let us compare the
|
||||||
|
basis elements, in various degrees, of this chain complex and its suspension:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf m23 (moore 2 3)) ==>
|
||||||
|
|
||||||
|
[K26 Simplicial-Set]
|
||||||
|
|
||||||
|
(dotimes (i 7) (print (basis m23 i)))
|
||||||
|
|
||||||
|
(*)
|
||||||
|
NIL
|
||||||
|
NIL
|
||||||
|
(M3)
|
||||||
|
(N4)
|
||||||
|
NIL
|
||||||
|
NIL
|
||||||
|
NIL
|
||||||
|
|
||||||
|
(setf sm23 (suspension m23)) ==>
|
||||||
|
|
||||||
|
[K31 Simplicial-Set]
|
||||||
|
|
||||||
|
(dotimes (i 7) (print (basis sm23 i)))
|
||||||
|
|
||||||
|
(:S-BSGN)
|
||||||
|
NIL
|
||||||
|
NIL
|
||||||
|
NIL
|
||||||
|
(M3)
|
||||||
|
(N4)
|
||||||
|
NIL
|
||||||
|
NIL
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
Let us apply now the function {\tt suspension} to
|
||||||
|
objects built from $S^2$, namely $\Omega^1(S^2)$ and $\Omega^2(S^2)$ and let us have a look
|
||||||
|
upon the homology groups . For $S^2$, we know that the only
|
||||||
|
non--null homology groups are in dimension $0$ and $2$:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(homology (sphere 2) 0 5) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
For ${\cal S}(S^2)$, the non--null homology groups are of course in dimension $0$ and $3$:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf ss2 (suspension (sphere 2))) ==>
|
||||||
|
|
||||||
|
[K16 Simplicial-Set]
|
||||||
|
|
||||||
|
(homology ss2 0 5) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us verify now that, for the space $\Omega(S^2)$, the homology groups are organized as
|
||||||
|
the tensor algebra over one generator in degree $1$:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf s2 (sphere 2)) ==>
|
||||||
|
|
||||||
|
[K11 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf os2 (loop-space s2)) ==>
|
||||||
|
|
||||||
|
[K44 Simplicial-Group]
|
||||||
|
|
||||||
|
(homology os2 0 5) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
\end{verbatim}}
|
||||||
|
And, in the suspension of the previous space, we verify that the homology groups
|
||||||
|
are suspended (in particular, there is no homology in dimension $1$)
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf sos2 (suspension os2)) ==>
|
||||||
|
|
||||||
|
[K153 Simplicial-Set]
|
||||||
|
|
||||||
|
(homology sos2 0 5) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
\end{verbatim}}
|
||||||
|
At last, taking the loop space of the previous suspension, we recognize the tensor
|
||||||
|
algebra over the previous tensor algebra, ${\cal H}_*\Omega S^2$. In each dimension, the
|
||||||
|
number of generators is $2^n$:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf osos2 (loop-space sos2)) ==>
|
||||||
|
|
||||||
|
[K171 Simplicial-Group]
|
||||||
|
|
||||||
|
(homology osos2 0 5) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\subsection {Searching homology for suspensions}
|
||||||
|
|
||||||
|
The comment list of a suspension\index{searching homology!suspension} has the
|
||||||
|
form {\tt (SUSPENSION {\em suspended-object})}.
|
||||||
|
The {\tt search-efhm} method applied to a suspension, looks for the value of the
|
||||||
|
{\tt efhm} slot of the {\em suspended-object}, (i.e. a homotopy equivalence), then
|
||||||
|
builds the suspension of this homotopy equivalence (see the method {\tt suspension} applied
|
||||||
|
to a homotopy equivalence). Of course, this may imply a recursive process.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(DEFMETHOD SEARCH-EFHM (suspension (orgn (eql 'suspension)))
|
||||||
|
(declare (type chain-complex suspension))
|
||||||
|
(suspension (efhm (second (orgn suspension)))))
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\subsection* {Lisp files concerned in this chapter}
|
||||||
|
|
||||||
|
{\tt disk-pasting.lisp}, {\tt suspensions.lisp}, {\tt searching-homology.lisp}
|
||||||
|
|
||||||
|
|
||||||
214
doc/doc_src/dunce.eps
Normal file
214
doc/doc_src/dunce.eps
Normal file
@ -0,0 +1,214 @@
|
|||||||
|
%!PS-Adobe-2.0 EPSF-2.0
|
||||||
|
%%Title: dunce.fig
|
||||||
|
%%Creator: fig2dev Version 3.1 Patchlevel 2
|
||||||
|
%%CreationDate: Fri Apr 25 12:16:26 1997
|
||||||
|
%%For: siret@mozart (Yvon Siret)
|
||||||
|
%Magnification: 0.45
|
||||||
|
%%Orientation: Portrait
|
||||||
|
%%BoundingBox: 0 0 229 212
|
||||||
|
%%Pages: 0
|
||||||
|
%%BeginSetup
|
||||||
|
%%IncludeFeature: *PageSize Letter
|
||||||
|
%%EndSetup
|
||||||
|
%%EndComments
|
||||||
|
/$F2psDict 200 dict def
|
||||||
|
$F2psDict begin
|
||||||
|
$F2psDict /mtrx matrix put
|
||||||
|
/col-1 {0 setgray} bind def
|
||||||
|
/col0 {0.000 0.000 0.000 srgb} bind def
|
||||||
|
/col1 {0.000 0.000 1.000 srgb} bind def
|
||||||
|
/col2 {0.000 1.000 0.000 srgb} bind def
|
||||||
|
/col3 {0.000 1.000 1.000 srgb} bind def
|
||||||
|
/col4 {1.000 0.000 0.000 srgb} bind def
|
||||||
|
/col5 {1.000 0.000 1.000 srgb} bind def
|
||||||
|
/col6 {1.000 1.000 0.000 srgb} bind def
|
||||||
|
/col7 {1.000 1.000 1.000 srgb} bind def
|
||||||
|
/col8 {0.000 0.000 0.560 srgb} bind def
|
||||||
|
/col9 {0.000 0.000 0.690 srgb} bind def
|
||||||
|
/col10 {0.000 0.000 0.820 srgb} bind def
|
||||||
|
/col11 {0.530 0.810 1.000 srgb} bind def
|
||||||
|
/col12 {0.000 0.560 0.000 srgb} bind def
|
||||||
|
/col13 {0.000 0.690 0.000 srgb} bind def
|
||||||
|
/col14 {0.000 0.820 0.000 srgb} bind def
|
||||||
|
/col15 {0.000 0.560 0.560 srgb} bind def
|
||||||
|
/col16 {0.000 0.690 0.690 srgb} bind def
|
||||||
|
/col17 {0.000 0.820 0.820 srgb} bind def
|
||||||
|
/col18 {0.560 0.000 0.000 srgb} bind def
|
||||||
|
/col19 {0.690 0.000 0.000 srgb} bind def
|
||||||
|
/col20 {0.820 0.000 0.000 srgb} bind def
|
||||||
|
/col21 {0.560 0.000 0.560 srgb} bind def
|
||||||
|
/col22 {0.690 0.000 0.690 srgb} bind def
|
||||||
|
/col23 {0.820 0.000 0.820 srgb} bind def
|
||||||
|
/col24 {0.500 0.190 0.000 srgb} bind def
|
||||||
|
/col25 {0.630 0.250 0.000 srgb} bind def
|
||||||
|
/col26 {0.750 0.380 0.000 srgb} bind def
|
||||||
|
/col27 {1.000 0.500 0.500 srgb} bind def
|
||||||
|
/col28 {1.000 0.630 0.630 srgb} bind def
|
||||||
|
/col29 {1.000 0.750 0.750 srgb} bind def
|
||||||
|
/col30 {1.000 0.880 0.880 srgb} bind def
|
||||||
|
/col31 {1.000 0.840 0.000 srgb} bind def
|
||||||
|
|
||||||
|
end
|
||||||
|
save
|
||||||
|
-15.0 244.0 translate
|
||||||
|
1 -1 scale
|
||||||
|
|
||||||
|
/cp {closepath} bind def
|
||||||
|
/ef {eofill} bind def
|
||||||
|
/gr {grestore} bind def
|
||||||
|
/gs {gsave} bind def
|
||||||
|
/sa {save} bind def
|
||||||
|
/rs {restore} bind def
|
||||||
|
/l {lineto} bind def
|
||||||
|
/m {moveto} bind def
|
||||||
|
/rm {rmoveto} bind def
|
||||||
|
/n {newpath} bind def
|
||||||
|
/s {stroke} bind def
|
||||||
|
/sh {show} bind def
|
||||||
|
/slc {setlinecap} bind def
|
||||||
|
/slj {setlinejoin} bind def
|
||||||
|
/slw {setlinewidth} bind def
|
||||||
|
/srgb {setrgbcolor} bind def
|
||||||
|
/rot {rotate} bind def
|
||||||
|
/sc {scale} bind def
|
||||||
|
/sd {setdash} bind def
|
||||||
|
/ff {findfont} bind def
|
||||||
|
/sf {setfont} bind def
|
||||||
|
/scf {scalefont} bind def
|
||||||
|
/sw {stringwidth} bind def
|
||||||
|
/tr {translate} bind def
|
||||||
|
/tnt {dup dup currentrgbcolor
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
|
||||||
|
bind def
|
||||||
|
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
|
||||||
|
4 -2 roll mul srgb} bind def
|
||||||
|
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
|
||||||
|
/$F2psEnd {$F2psEnteredState restore end} def
|
||||||
|
%%EndProlog
|
||||||
|
|
||||||
|
$F2psBegin
|
||||||
|
10 setmiterlimit
|
||||||
|
n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
|
||||||
|
0.02700 0.02700 sc
|
||||||
|
7.500 slw
|
||||||
|
% Polyline
|
||||||
|
n 1200 7500 m 8400 7500 l 4800 2325 l 1200 7500 l gs col-1 s gr
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
2694 3233 m 2949 3300 l 2694 3368 l 3030 3368 l 3030 3233 l cp clip
|
||||||
|
n 1200 3300 m 3000 3300 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 2694 3233 m 2949 3300 l 2694 3368 l col-1 s
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
2200 2097 m 2126 1843 l 2315 2028 l 2142 1740 l 2027 1809 l cp clip
|
||||||
|
n 3000 3300 m 2100 1800 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 2200 2097 m 2126 1843 l 2315 2028 l col-1 s
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
1885 2028 m 2073 1843 l 2000 2097 l 2173 1809 l 2058 1740 l cp clip
|
||||||
|
n 1200 3300 m 2100 1800 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 1885 2028 m 2073 1843 l 2000 2097 l col-1 s
|
||||||
|
7.500 slw
|
||||||
|
% Polyline
|
||||||
|
n 600 9000 m 9000 9000 l 9000 1200 l 600 1200 l 600 9000 l 675 9000 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 4200 4800 m 5400 4800 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 5400 4800 m 6075 4125 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 4200 4800 m 3525 4125 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 2475 5700 m 4200 4800 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 7125 5700 m 5400 4800 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 4200 4800 m 4200 5700 l 5400 5700 l 5400 4800 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 4200 5700 m 4800 6600 l 5400 5700 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 2475 5700 m 4200 5700 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 5400 5700 m 7125 5700 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 4800 6600 m 3600 7500 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 4800 6600 m 5700 7500 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 5400 5700 m 5700 7500 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 5400 5700 m 8400 7500 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 1200 7500 m 4800 6600 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 1200 7500 m 4200 5700 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 4800 2325 m 4200 4800 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 5400 4800 m 4800 2325 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 5400 4800 m 4200 5700 l gs col-1 s gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
1200 7875 m
|
||||||
|
gs 1 -1 sc (0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
8250 7800 m
|
||||||
|
gs 1 -1 sc (0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
4800 2250 m
|
||||||
|
gs 1 -1 sc (0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
3525 7800 m
|
||||||
|
gs 1 -1 sc (1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
7350 5700 m
|
||||||
|
gs 1 -1 sc (1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
1950 3600 m
|
||||||
|
gs 1 -1 sc (a) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
1425 2550 m
|
||||||
|
gs 1 -1 sc (a) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
2700 2550 m
|
||||||
|
gs 1 -1 sc (a) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
3900 8700 m
|
||||||
|
gs 1 -1 sc (The dunce hat) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
5625 4875 m
|
||||||
|
gs 1 -1 sc (4) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
3900 4875 m
|
||||||
|
gs 1 -1 sc (3) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
3300 4125 m
|
||||||
|
gs 1 -1 sc (2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
6225 4125 m
|
||||||
|
gs 1 -1 sc (2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
2250 5625 m
|
||||||
|
gs 1 -1 sc (1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
5625 7800 m
|
||||||
|
gs 1 -1 sc (2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
5550 5550 m
|
||||||
|
gs 1 -1 sc (6) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
4725 6975 m
|
||||||
|
gs 1 -1 sc (7) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
3975 5625 m
|
||||||
|
gs 1 -1 sc (5) col-1 sh gr
|
||||||
|
$F2psEnd
|
||||||
|
rs
|
||||||
160
doc/doc_src/duncess.eps
Normal file
160
doc/doc_src/duncess.eps
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
%!PS-Adobe-2.0 EPSF-2.0
|
||||||
|
%%Title: duncess.fig
|
||||||
|
%%Creator: fig2dev Version 3.1 Patchlevel 2
|
||||||
|
%%CreationDate: Wed Jun 26 17:02:58 1996
|
||||||
|
%%For: siret@puccini (Yvon Siret)
|
||||||
|
%Magnification: 0.60
|
||||||
|
%%Orientation: Portrait
|
||||||
|
%%BoundingBox: 0 0 218 164
|
||||||
|
%%Pages: 0
|
||||||
|
%%BeginSetup
|
||||||
|
%%IncludeFeature: *PageSize Letter
|
||||||
|
%%EndSetup
|
||||||
|
%%EndComments
|
||||||
|
/$F2psDict 200 dict def
|
||||||
|
$F2psDict begin
|
||||||
|
$F2psDict /mtrx matrix put
|
||||||
|
/col-1 {0 setgray} bind def
|
||||||
|
/col0 {0.000 0.000 0.000 srgb} bind def
|
||||||
|
/col1 {0.000 0.000 1.000 srgb} bind def
|
||||||
|
/col2 {0.000 1.000 0.000 srgb} bind def
|
||||||
|
/col3 {0.000 1.000 1.000 srgb} bind def
|
||||||
|
/col4 {1.000 0.000 0.000 srgb} bind def
|
||||||
|
/col5 {1.000 0.000 1.000 srgb} bind def
|
||||||
|
/col6 {1.000 1.000 0.000 srgb} bind def
|
||||||
|
/col7 {1.000 1.000 1.000 srgb} bind def
|
||||||
|
/col8 {0.000 0.000 0.560 srgb} bind def
|
||||||
|
/col9 {0.000 0.000 0.690 srgb} bind def
|
||||||
|
/col10 {0.000 0.000 0.820 srgb} bind def
|
||||||
|
/col11 {0.530 0.810 1.000 srgb} bind def
|
||||||
|
/col12 {0.000 0.560 0.000 srgb} bind def
|
||||||
|
/col13 {0.000 0.690 0.000 srgb} bind def
|
||||||
|
/col14 {0.000 0.820 0.000 srgb} bind def
|
||||||
|
/col15 {0.000 0.560 0.560 srgb} bind def
|
||||||
|
/col16 {0.000 0.690 0.690 srgb} bind def
|
||||||
|
/col17 {0.000 0.820 0.820 srgb} bind def
|
||||||
|
/col18 {0.560 0.000 0.000 srgb} bind def
|
||||||
|
/col19 {0.690 0.000 0.000 srgb} bind def
|
||||||
|
/col20 {0.820 0.000 0.000 srgb} bind def
|
||||||
|
/col21 {0.560 0.000 0.560 srgb} bind def
|
||||||
|
/col22 {0.690 0.000 0.690 srgb} bind def
|
||||||
|
/col23 {0.820 0.000 0.820 srgb} bind def
|
||||||
|
/col24 {0.500 0.190 0.000 srgb} bind def
|
||||||
|
/col25 {0.630 0.250 0.000 srgb} bind def
|
||||||
|
/col26 {0.750 0.380 0.000 srgb} bind def
|
||||||
|
/col27 {1.000 0.500 0.500 srgb} bind def
|
||||||
|
/col28 {1.000 0.630 0.630 srgb} bind def
|
||||||
|
/col29 {1.000 0.750 0.750 srgb} bind def
|
||||||
|
/col30 {1.000 0.880 0.880 srgb} bind def
|
||||||
|
/col31 {1.000 0.840 0.000 srgb} bind def
|
||||||
|
|
||||||
|
end
|
||||||
|
save
|
||||||
|
-64.0 217.0 translate
|
||||||
|
1 -1 scale
|
||||||
|
|
||||||
|
/cp {closepath} bind def
|
||||||
|
/ef {eofill} bind def
|
||||||
|
/gr {grestore} bind def
|
||||||
|
/gs {gsave} bind def
|
||||||
|
/sa {save} bind def
|
||||||
|
/rs {restore} bind def
|
||||||
|
/l {lineto} bind def
|
||||||
|
/m {moveto} bind def
|
||||||
|
/rm {rmoveto} bind def
|
||||||
|
/n {newpath} bind def
|
||||||
|
/s {stroke} bind def
|
||||||
|
/sh {show} bind def
|
||||||
|
/slc {setlinecap} bind def
|
||||||
|
/slj {setlinejoin} bind def
|
||||||
|
/slw {setlinewidth} bind def
|
||||||
|
/srgb {setrgbcolor} bind def
|
||||||
|
/rot {rotate} bind def
|
||||||
|
/sc {scale} bind def
|
||||||
|
/sd {setdash} bind def
|
||||||
|
/ff {findfont} bind def
|
||||||
|
/sf {setfont} bind def
|
||||||
|
/scf {scalefont} bind def
|
||||||
|
/sw {stringwidth} bind def
|
||||||
|
/tr {translate} bind def
|
||||||
|
/tnt {dup dup currentrgbcolor
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
|
||||||
|
bind def
|
||||||
|
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
|
||||||
|
4 -2 roll mul srgb} bind def
|
||||||
|
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
|
||||||
|
/$F2psEnd {$F2psEnteredState restore end} def
|
||||||
|
%%EndProlog
|
||||||
|
|
||||||
|
$F2psBegin
|
||||||
|
10 setmiterlimit
|
||||||
|
n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
|
||||||
|
0.03600 0.03600 sc
|
||||||
|
7.500 slw
|
||||||
|
% Polyline
|
||||||
|
n 1800 1500 m 7800 1500 l 7800 6000 l 1800 6000 l 1800 1500 l gs col-1 s gr
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
n 4800 2100 m 3600 3600 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
3347 3838 m 3567 3643 l 3443 3910 l 3666 3612 l 3570 3540 l cp clip
|
||||||
|
n 3600 3600 m 2700 4800 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 3347 3838 m 3567 3643 l 3443 3910 l 3424 3835 l 3347 3838 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
5782 3434 m 5894 3705 l 5683 3501 l 5892 3809 l 5991 3741 l cp clip
|
||||||
|
n 4800 2100 m 5925 3750 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 5782 3434 m 5894 3705 l 5683 3501 l 5759 3507 l 5782 3434 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 5925 3750 m 6600 4800 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
4458 4740 m 4746 4800 l 4458 4860 l 4830 4860 l 4830 4740 l cp clip
|
||||||
|
n 2700 4800 m 4800 4800 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 4458 4740 m 4746 4800 l 4458 4860 l 4506 4800 l 4458 4740 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 4800 4800 m 6600 4800 l gs col-1 s gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
3300 3600 m
|
||||||
|
gs 1 -1 sc (e) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
6075 3600 m
|
||||||
|
gs 1 -1 sc (e) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
4650 3600 m
|
||||||
|
gs 1 -1 sc (t) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 300.00 scf sf
|
||||||
|
2625 5100 m
|
||||||
|
gs 1 -1 sc (*) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 300.00 scf sf
|
||||||
|
6750 5100 m
|
||||||
|
gs 1 -1 sc (*) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 300.00 scf sf
|
||||||
|
4725 2025 m
|
||||||
|
gs 1 -1 sc (*) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
3150 4650 m
|
||||||
|
gs 1 -1 sc (0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
4725 2625 m
|
||||||
|
gs 1 -1 sc (1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
6075 4650 m
|
||||||
|
gs 1 -1 sc (2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
4575 5100 m
|
||||||
|
gs 1 -1 sc (e) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
3900 5700 m
|
||||||
|
gs 1 -1 sc (Dunce Hat) col-1 sh gr
|
||||||
|
$F2psEnd
|
||||||
|
rs
|
||||||
157
doc/doc_src/eml1.eps
Normal file
157
doc/doc_src/eml1.eps
Normal file
@ -0,0 +1,157 @@
|
|||||||
|
%!PS-Adobe-2.0 EPSF-2.0
|
||||||
|
%%Title: eml1.fig
|
||||||
|
%%Creator: fig2dev Version 3.1 Patchlevel 2
|
||||||
|
%%CreationDate: Thu Mar 13 12:49:37 1997
|
||||||
|
%%For: siret@mozart (Yvon Siret)
|
||||||
|
%Magnification: 0.75
|
||||||
|
%%Orientation: Portrait
|
||||||
|
%%BoundingBox: 0 0 273 259
|
||||||
|
%%Pages: 0
|
||||||
|
%%BeginSetup
|
||||||
|
%%IncludeFeature: *PageSize Letter
|
||||||
|
%%EndSetup
|
||||||
|
%%EndComments
|
||||||
|
/$F2psDict 200 dict def
|
||||||
|
$F2psDict begin
|
||||||
|
$F2psDict /mtrx matrix put
|
||||||
|
/col-1 {0 setgray} bind def
|
||||||
|
/col0 {0.000 0.000 0.000 srgb} bind def
|
||||||
|
/col1 {0.000 0.000 1.000 srgb} bind def
|
||||||
|
/col2 {0.000 1.000 0.000 srgb} bind def
|
||||||
|
/col3 {0.000 1.000 1.000 srgb} bind def
|
||||||
|
/col4 {1.000 0.000 0.000 srgb} bind def
|
||||||
|
/col5 {1.000 0.000 1.000 srgb} bind def
|
||||||
|
/col6 {1.000 1.000 0.000 srgb} bind def
|
||||||
|
/col7 {1.000 1.000 1.000 srgb} bind def
|
||||||
|
/col8 {0.000 0.000 0.560 srgb} bind def
|
||||||
|
/col9 {0.000 0.000 0.690 srgb} bind def
|
||||||
|
/col10 {0.000 0.000 0.820 srgb} bind def
|
||||||
|
/col11 {0.530 0.810 1.000 srgb} bind def
|
||||||
|
/col12 {0.000 0.560 0.000 srgb} bind def
|
||||||
|
/col13 {0.000 0.690 0.000 srgb} bind def
|
||||||
|
/col14 {0.000 0.820 0.000 srgb} bind def
|
||||||
|
/col15 {0.000 0.560 0.560 srgb} bind def
|
||||||
|
/col16 {0.000 0.690 0.690 srgb} bind def
|
||||||
|
/col17 {0.000 0.820 0.820 srgb} bind def
|
||||||
|
/col18 {0.560 0.000 0.000 srgb} bind def
|
||||||
|
/col19 {0.690 0.000 0.000 srgb} bind def
|
||||||
|
/col20 {0.820 0.000 0.000 srgb} bind def
|
||||||
|
/col21 {0.560 0.000 0.560 srgb} bind def
|
||||||
|
/col22 {0.690 0.000 0.690 srgb} bind def
|
||||||
|
/col23 {0.820 0.000 0.820 srgb} bind def
|
||||||
|
/col24 {0.500 0.190 0.000 srgb} bind def
|
||||||
|
/col25 {0.630 0.250 0.000 srgb} bind def
|
||||||
|
/col26 {0.750 0.380 0.000 srgb} bind def
|
||||||
|
/col27 {1.000 0.500 0.500 srgb} bind def
|
||||||
|
/col28 {1.000 0.630 0.630 srgb} bind def
|
||||||
|
/col29 {1.000 0.750 0.750 srgb} bind def
|
||||||
|
/col30 {1.000 0.880 0.880 srgb} bind def
|
||||||
|
/col31 {1.000 0.840 0.000 srgb} bind def
|
||||||
|
|
||||||
|
end
|
||||||
|
save
|
||||||
|
-39.0 285.0 translate
|
||||||
|
1 -1 scale
|
||||||
|
|
||||||
|
/cp {closepath} bind def
|
||||||
|
/ef {eofill} bind def
|
||||||
|
/gr {grestore} bind def
|
||||||
|
/gs {gsave} bind def
|
||||||
|
/sa {save} bind def
|
||||||
|
/rs {restore} bind def
|
||||||
|
/l {lineto} bind def
|
||||||
|
/m {moveto} bind def
|
||||||
|
/rm {rmoveto} bind def
|
||||||
|
/n {newpath} bind def
|
||||||
|
/s {stroke} bind def
|
||||||
|
/sh {show} bind def
|
||||||
|
/slc {setlinecap} bind def
|
||||||
|
/slj {setlinejoin} bind def
|
||||||
|
/slw {setlinewidth} bind def
|
||||||
|
/srgb {setrgbcolor} bind def
|
||||||
|
/rot {rotate} bind def
|
||||||
|
/sc {scale} bind def
|
||||||
|
/sd {setdash} bind def
|
||||||
|
/ff {findfont} bind def
|
||||||
|
/sf {setfont} bind def
|
||||||
|
/scf {scalefont} bind def
|
||||||
|
/sw {stringwidth} bind def
|
||||||
|
/tr {translate} bind def
|
||||||
|
/tnt {dup dup currentrgbcolor
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
|
||||||
|
bind def
|
||||||
|
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
|
||||||
|
4 -2 roll mul srgb} bind def
|
||||||
|
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
|
||||||
|
/$F2psEnd {$F2psEnteredState restore end} def
|
||||||
|
%%EndProlog
|
||||||
|
|
||||||
|
$F2psBegin
|
||||||
|
10 setmiterlimit
|
||||||
|
n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
|
||||||
|
0.04500 0.04500 sc
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
n 3600 1200 m 6000 1200 l 6000 3600 l 3600 3600 l 3600 1200 l 3600 1275 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 3600 3600 m 6000 1200 l 5925 1275 l gs col-1 s gr
|
||||||
|
7.500 slw
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 3600 4200 m 6000 4200 l 6000 5100 l 3600 5100 l 3600 4200 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 3600 5100 m 6000 4200 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 3000 1200 m 2100 1200 l 2100 3600 l 3000 3600 l 3000 1200 l 2100 3600 l gs col-1 s gr [] 0 sd
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
n 1500 1200 m 1500 3600 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 3600 5700 m 6000 5700 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 900 600 m 6900 600 l 6900 6300 l 900 6300 l 900 600 l gs col-1 s gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
3525 3900 m
|
||||||
|
gs 1 -1 sc (0,2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
1425 4050 m
|
||||||
|
gs 1 -1 sc (2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
1425 975 m
|
||||||
|
gs 1 -1 sc (3) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
3525 6000 m
|
||||||
|
gs 1 -1 sc (0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
6075 6000 m
|
||||||
|
gs 1 -1 sc (1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
4200 900 m
|
||||||
|
gs 1 -1 sc (\(0 1\) X \(2 3\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
6075 1125 m
|
||||||
|
gs 1 -1 sc (1,3) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
3300 1125 m
|
||||||
|
gs 1 -1 sc (0,3) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
6000 3900 m
|
||||||
|
gs 1 -1 sc (1,2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
5100 4950 m
|
||||||
|
gs 1 -1 sc (\(0 1 1\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
3900 4575 m
|
||||||
|
gs 1 -1 sc (\(0 0 1\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2775 3375 m
|
||||||
|
gs 1 -1 sc 90.0 rot (\(2 2 3\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2475 2175 m
|
||||||
|
gs 1 -1 sc 90.0 rot (\(2 3 3\)) col-1 sh gr
|
||||||
|
$F2psEnd
|
||||||
|
rs
|
||||||
250
doc/doc_src/eml2.eps
Normal file
250
doc/doc_src/eml2.eps
Normal file
@ -0,0 +1,250 @@
|
|||||||
|
%!PS-Adobe-2.0 EPSF-2.0
|
||||||
|
%%Title: eml2.fig
|
||||||
|
%%Creator: fig2dev Version 3.1 Patchlevel 2
|
||||||
|
%%CreationDate: Fri Mar 14 15:35:48 1997
|
||||||
|
%%For: siret@mozart (Yvon Siret)
|
||||||
|
%Magnification: 0.65
|
||||||
|
%%Orientation: Portrait
|
||||||
|
%%BoundingBox: 0 0 366 354
|
||||||
|
%%Pages: 0
|
||||||
|
%%BeginSetup
|
||||||
|
%%IncludeFeature: *PageSize Letter
|
||||||
|
%%EndSetup
|
||||||
|
%%EndComments
|
||||||
|
/$F2psDict 200 dict def
|
||||||
|
$F2psDict begin
|
||||||
|
$F2psDict /mtrx matrix put
|
||||||
|
/col-1 {0 setgray} bind def
|
||||||
|
/col0 {0.000 0.000 0.000 srgb} bind def
|
||||||
|
/col1 {0.000 0.000 1.000 srgb} bind def
|
||||||
|
/col2 {0.000 1.000 0.000 srgb} bind def
|
||||||
|
/col3 {0.000 1.000 1.000 srgb} bind def
|
||||||
|
/col4 {1.000 0.000 0.000 srgb} bind def
|
||||||
|
/col5 {1.000 0.000 1.000 srgb} bind def
|
||||||
|
/col6 {1.000 1.000 0.000 srgb} bind def
|
||||||
|
/col7 {1.000 1.000 1.000 srgb} bind def
|
||||||
|
/col8 {0.000 0.000 0.560 srgb} bind def
|
||||||
|
/col9 {0.000 0.000 0.690 srgb} bind def
|
||||||
|
/col10 {0.000 0.000 0.820 srgb} bind def
|
||||||
|
/col11 {0.530 0.810 1.000 srgb} bind def
|
||||||
|
/col12 {0.000 0.560 0.000 srgb} bind def
|
||||||
|
/col13 {0.000 0.690 0.000 srgb} bind def
|
||||||
|
/col14 {0.000 0.820 0.000 srgb} bind def
|
||||||
|
/col15 {0.000 0.560 0.560 srgb} bind def
|
||||||
|
/col16 {0.000 0.690 0.690 srgb} bind def
|
||||||
|
/col17 {0.000 0.820 0.820 srgb} bind def
|
||||||
|
/col18 {0.560 0.000 0.000 srgb} bind def
|
||||||
|
/col19 {0.690 0.000 0.000 srgb} bind def
|
||||||
|
/col20 {0.820 0.000 0.000 srgb} bind def
|
||||||
|
/col21 {0.560 0.000 0.560 srgb} bind def
|
||||||
|
/col22 {0.690 0.000 0.690 srgb} bind def
|
||||||
|
/col23 {0.820 0.000 0.820 srgb} bind def
|
||||||
|
/col24 {0.500 0.190 0.000 srgb} bind def
|
||||||
|
/col25 {0.630 0.250 0.000 srgb} bind def
|
||||||
|
/col26 {0.750 0.380 0.000 srgb} bind def
|
||||||
|
/col27 {1.000 0.500 0.500 srgb} bind def
|
||||||
|
/col28 {1.000 0.630 0.630 srgb} bind def
|
||||||
|
/col29 {1.000 0.750 0.750 srgb} bind def
|
||||||
|
/col30 {1.000 0.880 0.880 srgb} bind def
|
||||||
|
/col31 {1.000 0.840 0.000 srgb} bind def
|
||||||
|
|
||||||
|
end
|
||||||
|
save
|
||||||
|
-10.0 364.0 translate
|
||||||
|
1 -1 scale
|
||||||
|
|
||||||
|
/cp {closepath} bind def
|
||||||
|
/ef {eofill} bind def
|
||||||
|
/gr {grestore} bind def
|
||||||
|
/gs {gsave} bind def
|
||||||
|
/sa {save} bind def
|
||||||
|
/rs {restore} bind def
|
||||||
|
/l {lineto} bind def
|
||||||
|
/m {moveto} bind def
|
||||||
|
/rm {rmoveto} bind def
|
||||||
|
/n {newpath} bind def
|
||||||
|
/s {stroke} bind def
|
||||||
|
/sh {show} bind def
|
||||||
|
/slc {setlinecap} bind def
|
||||||
|
/slj {setlinejoin} bind def
|
||||||
|
/slw {setlinewidth} bind def
|
||||||
|
/srgb {setrgbcolor} bind def
|
||||||
|
/rot {rotate} bind def
|
||||||
|
/sc {scale} bind def
|
||||||
|
/sd {setdash} bind def
|
||||||
|
/ff {findfont} bind def
|
||||||
|
/sf {setfont} bind def
|
||||||
|
/scf {scalefont} bind def
|
||||||
|
/sw {stringwidth} bind def
|
||||||
|
/tr {translate} bind def
|
||||||
|
/tnt {dup dup currentrgbcolor
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
|
||||||
|
bind def
|
||||||
|
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
|
||||||
|
4 -2 roll mul srgb} bind def
|
||||||
|
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
|
||||||
|
/$F2psEnd {$F2psEnteredState restore end} def
|
||||||
|
%%EndProlog
|
||||||
|
|
||||||
|
$F2psBegin
|
||||||
|
10 setmiterlimit
|
||||||
|
n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
|
||||||
|
0.03900 0.03900 sc
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
n 4800 1800 m 7200 900 l 8400 1800 l 4800 1800 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 4800 1800 m 4800 4200 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
[100.0] 0 sd
|
||||||
|
n 4800 4200 m 7200 3300 l 8400 4200 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[100.0] 0 sd
|
||||||
|
n 7200 900 m 7200 3300 l gs col-1 s gr [] 0 sd
|
||||||
|
7.500 slw
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 7200 4500 m 4800 5100 l 8400 5100 l 7200 4500 l 7200 4800 l 4800 5100 l
|
||||||
|
4875 5100 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 7200 4800 m 8400 5100 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 4800 6000 m 7200 5700 l 8400 6000 l 4800 6000 l 8400 5400 l 8400 6000 l
|
||||||
|
8400 6075 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 7200 5700 m 8400 5400 l 8400 5475 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 4800 7200 m 7200 6600 l 8400 7200 l 4800 7200 l 4800 6450 l 7200 6600 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 4800 6450 m 8325 7200 l gs col-1 s gr [] 0 sd
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
n 4800 8700 m 7200 7800 l 8400 8700 l 4800 8700 l gs col-1 s gr
|
||||||
|
7.500 slw
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 2100 4200 m 2700 3600 l 2700 900 l 2100 1500 l 2100 4200 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 2700 900 m 2100 4200 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 2100 1500 m 2700 3600 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 900 1800 m 1500 900 l 1800 1800 l 900 1800 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 900 4200 m 900 1800 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 1500 900 m 900 4200 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 900 4200 m 1800 1800 l 1725 1800 l gs col-1 s gr [] 0 sd
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
n 600 1800 m 600 4200 l gs col-1 s gr
|
||||||
|
7.500 slw
|
||||||
|
% Polyline
|
||||||
|
[15 50.0] 50.0 sd
|
||||||
|
n 7200 900 m 4800 4200 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[15 50.0] 50.0 sd
|
||||||
|
n 7200 900 m 8400 4200 l 8400 4125 l gs col-1 s gr [] 0 sd
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
n 300 300 m 9600 300 l 9600 9300 l 300 9300 l 300 300 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 8400 1800 m 8400 4200 l 4800 4200 l gs col-1 s gr
|
||||||
|
7.500 slw
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 3900 4200 m 3600 3600 l 3000 4200 l 3900 4200 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 3291 1799 m 2991 4199 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 3318 1796 m 3918 4196 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 3294 1801 m 3594 3676 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[15 50.0] 50.0 sd
|
||||||
|
n 3525 5100 m 3825 5100 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[15 50.0] 50.0 sd
|
||||||
|
n 2400 4500 m 2400 4950 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[15 50.0] 50.0 sd
|
||||||
|
n 2400 5925 m 2400 6000 l 2400 6000 l 3300 6000 l 3750 6000 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[15 50.0] 50.0 sd
|
||||||
|
n 900 4500 m 900 6225 l 900 6150 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[15 50.0] 50.0 sd
|
||||||
|
n 900 7200 m 3825 7200 l gs col-1 s gr [] 0 sd
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
4800 9075 m
|
||||||
|
gs 1 -1 sc (0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
8400 9000 m
|
||||||
|
gs 1 -1 sc (1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
7125 7650 m
|
||||||
|
gs 1 -1 sc (2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
4650 4500 m
|
||||||
|
gs 1 -1 sc (0,3) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
8325 4500 m
|
||||||
|
gs 1 -1 sc (1,3) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
7500 3300 m
|
||||||
|
gs 1 -1 sc (2,3) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
4575 1650 m
|
||||||
|
gs 1 -1 sc (0,4) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
7050 750 m
|
||||||
|
gs 1 -1 sc (2,4) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
8475 1650 m
|
||||||
|
gs 1 -1 sc (1,4) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
525 4500 m
|
||||||
|
gs 1 -1 sc (3) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
525 1575 m
|
||||||
|
gs 1 -1 sc (4) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 255.00 scf sf
|
||||||
|
1050 8100 m
|
||||||
|
gs 1 -1 sc (\(0 1 2\) X \(3 4\)) col-1 sh gr
|
||||||
|
/Helvetica ff 210.00 scf sf
|
||||||
|
3900 5100 m
|
||||||
|
gs 1 -1 sc (\(0 1 2 2\)) col-1 sh gr
|
||||||
|
/Helvetica ff 210.00 scf sf
|
||||||
|
3900 6000 m
|
||||||
|
gs 1 -1 sc (\(0 1 1 2\)) col-1 sh gr
|
||||||
|
/Helvetica ff 210.00 scf sf
|
||||||
|
3900 7200 m
|
||||||
|
gs 1 -1 sc (\(0 0 1 2\)) col-1 sh gr
|
||||||
|
/Helvetica ff 210.00 scf sf
|
||||||
|
975 7125 m
|
||||||
|
gs 1 -1 sc 90.0 rot (\(3 4 4 4\)) col-1 sh gr
|
||||||
|
/Helvetica ff 210.00 scf sf
|
||||||
|
3450 5100 m
|
||||||
|
gs 1 -1 sc 90.0 rot (\(3 3 3 4\)) col-1 sh gr
|
||||||
|
/Helvetica ff 210.00 scf sf
|
||||||
|
2475 5850 m
|
||||||
|
gs 1 -1 sc 90.0 rot (\(3 3 4 4\)) col-1 sh gr
|
||||||
|
$F2psEnd
|
||||||
|
rs
|
||||||
142
doc/doc_src/eml3.eps
Normal file
142
doc/doc_src/eml3.eps
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
%!PS-Adobe-2.0 EPSF-2.0
|
||||||
|
%%Title: eml3.fig
|
||||||
|
%%Creator: fig2dev Version 3.1 Patchlevel 2
|
||||||
|
%%CreationDate: Fri Mar 14 10:35:25 1997
|
||||||
|
%%For: siret@mozart (Yvon Siret)
|
||||||
|
%Magnification: 0.75
|
||||||
|
%%Orientation: Portrait
|
||||||
|
%%BoundingBox: 0 0 273 259
|
||||||
|
%%Pages: 0
|
||||||
|
%%BeginSetup
|
||||||
|
%%IncludeFeature: *PageSize Letter
|
||||||
|
%%EndSetup
|
||||||
|
%%EndComments
|
||||||
|
/$F2psDict 200 dict def
|
||||||
|
$F2psDict begin
|
||||||
|
$F2psDict /mtrx matrix put
|
||||||
|
/col-1 {0 setgray} bind def
|
||||||
|
/col0 {0.000 0.000 0.000 srgb} bind def
|
||||||
|
/col1 {0.000 0.000 1.000 srgb} bind def
|
||||||
|
/col2 {0.000 1.000 0.000 srgb} bind def
|
||||||
|
/col3 {0.000 1.000 1.000 srgb} bind def
|
||||||
|
/col4 {1.000 0.000 0.000 srgb} bind def
|
||||||
|
/col5 {1.000 0.000 1.000 srgb} bind def
|
||||||
|
/col6 {1.000 1.000 0.000 srgb} bind def
|
||||||
|
/col7 {1.000 1.000 1.000 srgb} bind def
|
||||||
|
/col8 {0.000 0.000 0.560 srgb} bind def
|
||||||
|
/col9 {0.000 0.000 0.690 srgb} bind def
|
||||||
|
/col10 {0.000 0.000 0.820 srgb} bind def
|
||||||
|
/col11 {0.530 0.810 1.000 srgb} bind def
|
||||||
|
/col12 {0.000 0.560 0.000 srgb} bind def
|
||||||
|
/col13 {0.000 0.690 0.000 srgb} bind def
|
||||||
|
/col14 {0.000 0.820 0.000 srgb} bind def
|
||||||
|
/col15 {0.000 0.560 0.560 srgb} bind def
|
||||||
|
/col16 {0.000 0.690 0.690 srgb} bind def
|
||||||
|
/col17 {0.000 0.820 0.820 srgb} bind def
|
||||||
|
/col18 {0.560 0.000 0.000 srgb} bind def
|
||||||
|
/col19 {0.690 0.000 0.000 srgb} bind def
|
||||||
|
/col20 {0.820 0.000 0.000 srgb} bind def
|
||||||
|
/col21 {0.560 0.000 0.560 srgb} bind def
|
||||||
|
/col22 {0.690 0.000 0.690 srgb} bind def
|
||||||
|
/col23 {0.820 0.000 0.820 srgb} bind def
|
||||||
|
/col24 {0.500 0.190 0.000 srgb} bind def
|
||||||
|
/col25 {0.630 0.250 0.000 srgb} bind def
|
||||||
|
/col26 {0.750 0.380 0.000 srgb} bind def
|
||||||
|
/col27 {1.000 0.500 0.500 srgb} bind def
|
||||||
|
/col28 {1.000 0.630 0.630 srgb} bind def
|
||||||
|
/col29 {1.000 0.750 0.750 srgb} bind def
|
||||||
|
/col30 {1.000 0.880 0.880 srgb} bind def
|
||||||
|
/col31 {1.000 0.840 0.000 srgb} bind def
|
||||||
|
|
||||||
|
end
|
||||||
|
save
|
||||||
|
-39.0 285.0 translate
|
||||||
|
1 -1 scale
|
||||||
|
|
||||||
|
/cp {closepath} bind def
|
||||||
|
/ef {eofill} bind def
|
||||||
|
/gr {grestore} bind def
|
||||||
|
/gs {gsave} bind def
|
||||||
|
/sa {save} bind def
|
||||||
|
/rs {restore} bind def
|
||||||
|
/l {lineto} bind def
|
||||||
|
/m {moveto} bind def
|
||||||
|
/rm {rmoveto} bind def
|
||||||
|
/n {newpath} bind def
|
||||||
|
/s {stroke} bind def
|
||||||
|
/sh {show} bind def
|
||||||
|
/slc {setlinecap} bind def
|
||||||
|
/slj {setlinejoin} bind def
|
||||||
|
/slw {setlinewidth} bind def
|
||||||
|
/srgb {setrgbcolor} bind def
|
||||||
|
/rot {rotate} bind def
|
||||||
|
/sc {scale} bind def
|
||||||
|
/sd {setdash} bind def
|
||||||
|
/ff {findfont} bind def
|
||||||
|
/sf {setfont} bind def
|
||||||
|
/scf {scalefont} bind def
|
||||||
|
/sw {stringwidth} bind def
|
||||||
|
/tr {translate} bind def
|
||||||
|
/tnt {dup dup currentrgbcolor
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
|
||||||
|
bind def
|
||||||
|
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
|
||||||
|
4 -2 roll mul srgb} bind def
|
||||||
|
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
|
||||||
|
/$F2psEnd {$F2psEnteredState restore end} def
|
||||||
|
%%EndProlog
|
||||||
|
|
||||||
|
$F2psBegin
|
||||||
|
10 setmiterlimit
|
||||||
|
n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
|
||||||
|
0.04500 0.04500 sc
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
n 900 600 m 6900 600 l 6900 6300 l 900 6300 l 900 600 l gs col-1 s gr
|
||||||
|
7.500 slw
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 3600 4800 m 3600 4200 l 6000 4200 l 3600 4800 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[66.7] 0 sd
|
||||||
|
n 2400 1200 m 3075 1200 l 2400 3600 l 2400 1200 l gs col-1 s gr [] 0 sd
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
n 3600 5400 m 6000 5400 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 1800 1200 m 1800 3600 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 3600 3600 m 3600 1200 l 6000 1200 l 3600 3600 l gs col7 0.50 shd ef gr gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 3600 3600 m 6000 3600 l 6000 1200 l gs col-1 s gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
4050 1050 m
|
||||||
|
gs 1 -1 sc (\(\(0 1\), \(3 3\)\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
3450 3000 m
|
||||||
|
gs 1 -1 sc 90.0 rot (\(\(0 0\), \(2 3\)\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2700 2175 m
|
||||||
|
gs 1 -1 sc 90.0 rot (\(2 3 3\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
3300 5475 m
|
||||||
|
gs 1 -1 sc (0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
6150 5475 m
|
||||||
|
gs 1 -1 sc (1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
1725 1050 m
|
||||||
|
gs 1 -1 sc (3) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
1725 3900 m
|
||||||
|
gs 1 -1 sc (2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
3750 4500 m
|
||||||
|
gs 1 -1 sc (\(0 0 1\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
4650 3031 m
|
||||||
|
gs 1 -1 sc 45.0 rot (\(\(0 1\),\(2 3\)\)) col-1 sh gr
|
||||||
|
$F2psEnd
|
||||||
|
rs
|
||||||
490
doc/doc_src/emspdoc1.tex
Normal file
490
doc/doc_src/emspdoc1.tex
Normal file
@ -0,0 +1,490 @@
|
|||||||
|
\chapter {Eilenberg-Moore spectral sequence I}
|
||||||
|
|
||||||
|
\section{Introduction}
|
||||||
|
|
||||||
|
This chapter is devoted to the effective homology version of the spectral
|
||||||
|
sequence of Eilenberg-Moore, in the particular case of loop spaces.
|
||||||
|
More precisely, let $X$ be a {\bf $1$-reduced} simplicial set with effective homology,
|
||||||
|
the software {\tt Kenzo} constructs a $0$-reduced simplicial set $GX$ which is
|
||||||
|
also with effective homology. In particular, if $X$ is $m$-reduced, this
|
||||||
|
process may be iterated $m$ times, producing an effective homology
|
||||||
|
version of $G^kX,\,k\leq m$. So, the software builds an object which contains
|
||||||
|
a complete solution of the Adams problem about the iteration of the
|
||||||
|
cobar construction. The user is advised to consult the paper
|
||||||
|
{\em Stable homotopy and iterated loop spaces, pp. 545} by {\bf Gunnar Carlsson} and
|
||||||
|
{\bf R.James Milgram} in {\em Handbook of Algebraic Topology, pp 545} edited
|
||||||
|
by {\em I.M.James, North-Holland, 1995}.
|
||||||
|
|
||||||
|
\section{The detailed construction}
|
||||||
|
|
||||||
|
Let ${\cal C}_*(X)$ be a coalgebra with effective homology. This means that
|
||||||
|
a homotopy equivalence:
|
||||||
|
$$\diagram{
|
||||||
|
& \hat{C}_* \cr
|
||||||
|
\swarrow\nearrow & & \searrow\nwarrow \cr
|
||||||
|
{\cal C}_*(X) & & EC_* \cr
|
||||||
|
}$$
|
||||||
|
|
||||||
|
is provided, where the chain complex $EC_*$ is effective
|
||||||
|
and must be con\-si\-de\-red as describing
|
||||||
|
the homology of ${\cal C}_*(X)$. This scheme includes the case where
|
||||||
|
${\cal C}_*(X)$ is itself effective; without any other information,
|
||||||
|
the program constructs automatically a trivial homotopy equivalence.
|
||||||
|
\par
|
||||||
|
Now, if we apply the {\em Cobar} functor to this homotopy equivalence
|
||||||
|
we obtain the homotopy equivalence $H_R$:
|
||||||
|
$$\diagram{
|
||||||
|
&{\widetilde{Cobar}}^{{\hat C}_*}({\Z},{\Z}) \cr
|
||||||
|
\swarrow\nearrow & & \searrow\nwarrow \cr
|
||||||
|
Cobar^{{\cal C}_*(X)}({\Z}, {\Z}) & & {\widetilde{Cobar}}^{EC_*}({\Z}, {\Z}) \cr
|
||||||
|
}$$
|
||||||
|
|
||||||
|
in which the $\widetilde{Cobar}$'s are cobars construction with respect to
|
||||||
|
the $A_\infty$-co\-al\-ge\-bras structure on ${\hat C}_*$ and $EC_*$ defined by
|
||||||
|
the initial homotopy equivalence.
|
||||||
|
\par
|
||||||
|
Secondly, Julio Rubio\footnote{{\bf J.J. Rubio-Garcia}. {\em Homologie
|
||||||
|
effective des espaces de lacets it\'er\'es: un logiciel}, Th\`ese, Institut Fourier, 1991.}
|
||||||
|
has shown that it is possible to construct another homotopy equivalence, $H_L$:
|
||||||
|
$$\diagram{
|
||||||
|
& Cobar^{{\cal C}_*(X)}({\Z}, {\cal C}_*(X)\otimes_t {\cal C_*}(GX)) \cr
|
||||||
|
\swarrow\nearrow & & \searrow\nwarrow \cr
|
||||||
|
{\cal C_*}(GX) & & Cobar^{{\cal C}_*(X)}({\Z}, {\Z}) \cr
|
||||||
|
}$$
|
||||||
|
Both reductions of $H_L$ are obtained by the basic perturbation lemma, as explained
|
||||||
|
in the following section.
|
||||||
|
The composition of both homotopy e\-qui\-va\-len\-ces, $H_L$ and $H_R$, makes the link between $GX$,
|
||||||
|
i.e. the loop space of $X$
|
||||||
|
and the effective right bottom chain complex of $H_R$.
|
||||||
|
|
||||||
|
\subsection {Obtaining the left reduction $H_L$}
|
||||||
|
|
||||||
|
The homotopy equivalence $H_L$ is obtained by a sequence of intermediate constructions
|
||||||
|
based mainly upon two applications of the basic perturbation lemma.
|
||||||
|
We are led to consider the two following comodules:
|
||||||
|
\begin{itemize}
|
||||||
|
\item ${\cal C}_*(X)$ comodule on itself, with the canonical coproduct.
|
||||||
|
$${\cal C}_*(X)\stackrel {\Delta}{\longrightarrow} {\cal C}_*(X)\otimes {\cal C}_*(X).$$
|
||||||
|
\item ${\check{\cal C}}_*(X)$, comodule on ${\cal C}_*(X)$, with a ``trivial''
|
||||||
|
coproduct
|
||||||
|
$${\check{\cal C}}_*(X) \stackrel {\check{\Delta}}{\longrightarrow} {\cal C}_*(X)\otimes{\check{\cal C}}_*(X),\quad
|
||||||
|
\sigma \rightarrow 1\otimes\sigma,\,\sigma \in {\check{\cal C}}_*(X).$$
|
||||||
|
\end{itemize}
|
||||||
|
Now, we consider the set of the followings cobars
|
||||||
|
(where $u$ means {\em ``untwisted''} and $t$ {\em ``twisted''}):
|
||||||
|
\begin{eqnarray*}
|
||||||
|
{\rm Hat}_{uu} &=& Cobar^{{\cal C}_*(X)}({\Z}, {\check{\cal C}}_*(X)\otimes {\cal C_*}(GX)),\\
|
||||||
|
{\rm Hat}_{ut} &=& Cobar^{{\cal C}_*(X)}({\Z}, {\check{\cal C}}_*(X)\otimes_t {\cal C_*}(GX)),\\
|
||||||
|
{\rm Hat}_{tu} &=& Cobar^{{\cal C}_*(X)}({\Z}, {\cal C}_*(X)\otimes {\cal C_*}(GX)),\\
|
||||||
|
{\rm Hat}_{tt} &=& Cobar^{{\cal C}_*(X)}({\Z}, {\cal C}_*(X)\otimes_t {\cal C_*}(GX)).
|
||||||
|
\end{eqnarray*}
|
||||||
|
|
||||||
|
One may always say that ${\rm Hat}_{ut}$ is obtained from ${\rm Hat}_{uu}$ by a perturbation $\delta_r$ ($r$: right)
|
||||||
|
induced by the twisted tensor product $\otimes_t$ and that ${\rm Hat}_{tu}$ is obtained from ${\rm Hat}_{uu}$
|
||||||
|
by a perturbation $\delta_l$ ($l$: left) induced by the discrepancy between the coproducts
|
||||||
|
in ${\check{\cal C}}_*(X)$ and ${\cal C}_*(X)$. After that,
|
||||||
|
${\rm Hat}_{tt}$ is obtained from ${\rm Hat}_{tu}$ by the perturbation $\delta_r$ as well as, by commutativity,
|
||||||
|
from ${\rm Hat}_{ut}$ by the perturbation $\delta_l$. \par
|
||||||
|
This is shown in the following diagram (here, the arrows are not reductions, but denote
|
||||||
|
the perturbations between the differential morphisms):
|
||||||
|
$$\diagram{
|
||||||
|
& {\rm Hat}_{uu} \cr
|
||||||
|
\delta_l \swarrow & & \searrow \delta_r \cr
|
||||||
|
{\rm Hat}_{tu} & & {\rm Hat}_{ut} \cr
|
||||||
|
\delta_r \searrow & & \swarrow \delta_l \cr
|
||||||
|
& {\rm Hat}_{tt} \cr
|
||||||
|
}$$
|
||||||
|
The underlying graded modules ${\rm Hat}_{uu}$, ${\rm Hat}_{ut}$, ${\rm Hat}_{tu}$ and ${\rm Hat}_{tt}$ are the same
|
||||||
|
and the program keeps ${\rm Hat}_{uu}$ as the underlying graded module for all the chain complexes.
|
||||||
|
The differential perturbations are given by the formulas:
|
||||||
|
\begin{eqnarray*}
|
||||||
|
\delta_r({\bar{c}}_1 \otimes \cdots \otimes {\bar{c}}_n \otimes c \otimes g) &=&
|
||||||
|
[{\bar{c}}_1 \otimes \cdots \otimes {\bar{c}}_n] \otimes [d_{\otimes t}(c \otimes g)-d_\otimes (c \otimes g)], \\
|
||||||
|
\delta_l({\bar{c}}_1 \otimes \cdots \otimes {\bar{c}}_n \otimes c \otimes g) &=&
|
||||||
|
{\bar{c}}_1 \otimes \cdots \otimes {\bar{c}}_n \otimes {\bar{\Delta}}c \otimes g,
|
||||||
|
\end{eqnarray*}
|
||||||
|
where ${\bar{c}}_i, c \in {\cal C}_*(X),\, g \in {\cal C_*}(GX))$ and $\bar{\Delta}= \Delta - \check{\Delta}$.
|
||||||
|
\par
|
||||||
|
\vskip 0.35cm
|
||||||
|
Now, on one hand, we know that there exists a reduction
|
||||||
|
$${\rm Hat}_{tu}=Cobar^{{\cal C}_*(X)}({\Z}, {\cal C}_*(X)\otimes {\cal C_*}(GX)) \Longrightarrow {\cal C}_*(GX),$$
|
||||||
|
so, perturbing this reduction by $\delta_r$, one obtains the Rubio reduction
|
||||||
|
$${\rm Hat}_{tt}=Cobar^{{\cal C}_*(X)}({\Z}, {\cal C}_*(X)\otimes_t {\cal C_*}(GX)) \Longrightarrow{\cal C}_*(GX).$$
|
||||||
|
On the other hand, we know also that there exists a reduction
|
||||||
|
$${\rm Hat}_{ut}=Cobar^{{\cal C}_*(X)}({\Z}, {\check{\cal C}}_*(X)\otimes_t {\cal C_*}(GX)) \Longrightarrow
|
||||||
|
Cobar^{{\cal C}_*(X)}({\Z}, {\Z}),$$
|
||||||
|
so, perturbing this reduction by $\delta_l$, one obtains the reduction
|
||||||
|
$${\rm Hat}_{tt}=Cobar^{{\cal C}_*(X)}({\Z}, {\cal C}_*(X)\otimes_t {\cal C_*}(GX)) \Longrightarrow
|
||||||
|
Cobar^{{\cal C}_*(X)}({\Z}, {\Z}).$$
|
||||||
|
Finally, we have obtained the wished left homotopy equivalence $H_L$:
|
||||||
|
$$\diagram{
|
||||||
|
& Cobar^{{\cal C}_*(X)}({\Z}, {\cal C}_*(X)\otimes_t {\cal C_*}(GX)) \cr
|
||||||
|
\swarrow\nearrow & & \searrow\nwarrow \cr
|
||||||
|
{\cal C_*}(GX) & & Cobar^{{\cal C}_*(X)}({\Z}, {\Z}) \cr
|
||||||
|
}$$
|
||||||
|
|
||||||
|
\subsection {The useful functions}
|
||||||
|
|
||||||
|
For the applications, the only function that the user must know is the function {\tt loop-space-efhm}
|
||||||
|
which builds the final homotopy equivalence. But for the
|
||||||
|
interested user, we give nevertheless a short description of all the functions
|
||||||
|
involved in the described process.
|
||||||
|
|
||||||
|
\vskip 0.30cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt loop-space-efhm} {\em space} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the space $X$ ($1$-reduced) with effective homology (here the argument {\em space}), build
|
||||||
|
a homotopy equivalence giving an effective homology version of the space $GX$. This homotopy
|
||||||
|
equivalence will be used by the homology function to compute the homology groups. In fact, due to
|
||||||
|
the slot-unbound mechanism of CLOS, this function will be automatically called, as soon
|
||||||
|
as the user requires a homology group of a loop-space.
|
||||||
|
If $X$ is $n$-reduced and if the wished loop space is $\Omega^k X, \, k \leq n$, then
|
||||||
|
the process will be automatically iterated. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt ls-hat-u-u} {\em space} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return the chain complex
|
||||||
|
$Cobar^{{\cal C}_*(X)}({\Z}, {\check{\cal C}}_*(X)\otimes {\cal C_*}(GX))$. Because of
|
||||||
|
the particular structure of ${\check{\cal C}}_*(X)$, this chain complex is nothing but
|
||||||
|
$Cobar^{{\cal C}_*(X)}({\Z},{\Z})\otimes {\check{\cal C}}_*(X)\otimes {\cal C_*}(GX).$
|
||||||
|
\par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt ls-hat-left-perturbation} {\em space} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return the morphism corresponding to the differential perturbation $\delta_l$, induced by
|
||||||
|
the discrepancy between the coproducts of ${\check{\cal C}}_*(X)$ and ${\cal C}_*(X)$. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt ls-hat-t-u} {\em space} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return the chain complex
|
||||||
|
$Cobar^{{\cal C}_*(X)}({\Z}, {\cal C}_*(X)\otimes {\cal C_*}(GX))$ by applying
|
||||||
|
the differential perturbation {\tt hat-left-perturbation} upon
|
||||||
|
the chain complex built by the function {\tt hat-u-u}. This is realized by the method
|
||||||
|
{\tt add}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt ls-hat-u-t} {\em space} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return the chain complex
|
||||||
|
$Cobar^{{\cal C}_*(X)}({\Z},{\check{\cal C}}_*(X)\otimes_t {\cal C_*}(GX))$. Because of
|
||||||
|
the particular structure of ${\check{\cal C}}_*(X)$, this chain complex is nothing but
|
||||||
|
$Cobar^{{\cal C}_*(X)}({\Z},{\Z})\otimes[{\check{\cal C}}_*(X)\otimes_t {\cal C_*}(GX)],$
|
||||||
|
where the twisted tensor product is obtained by a call to {\tt twisted-tnsr-prdc}
|
||||||
|
(see loop space fibrations chapter). \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt ls-hat-right-perturbation} {\em space} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return the morphism corresponding to the differential perturbation $\delta_r$ induced
|
||||||
|
by the twisted tensor product. This morphism is nothing but the tensor product of two
|
||||||
|
morphisms: the identity morphism on $Cobar^{{\cal C}_*(X)}({\Z},{\Z})$ and
|
||||||
|
the perturbation morphism induced by the twisted tensor product. This last
|
||||||
|
morphism is a by-product of the function {\tt szczarba}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt ls-left-hmeq-hat} {\em space} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return the chain complex
|
||||||
|
${\rm Hat}_{tt}=Cobar^{{\cal C}_*(X)}({\Z}, {\cal C}_*(X)\otimes_t {\cal C_*}(GX))$ by
|
||||||
|
perturbing the chain complex ${\rm Hat}_{ut}$ by the perturbation $\delta_l$. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt ls-pre-left-hmeq-left-reduction} {\em space} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the reduction
|
||||||
|
$${\rm Hat}_{tu}=Cobar^{{\cal C}_*(X)}({\Z}, {\cal C}_*(X)\otimes {\cal C_*}(GX)) \Longrightarrow {\cal C}_*(GX).$$
|
||||||
|
\par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt ls-pre-left-hmeq-right-reduction} {\em space} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the reduction
|
||||||
|
$${\rm Hat}_{ut}=Cobar^{{\cal C}_*(X)}({\Z},{\check{\cal C}}_*(X)\otimes_t {\cal C_*}(GX)) \Longrightarrow
|
||||||
|
Cobar^{{\cal C}_*(X)}({\Z}, {\Z}).$$ \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt ls-left-hmeq-left-reduction} {\em space} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the Rubio reduction
|
||||||
|
$$Cobar^{{\cal C}_*(X)}({\Z}, {\cal C}_*(X)\otimes_t {\cal C_*}(GX)) \Longrightarrow{\cal C}_*(GX)$$
|
||||||
|
by perturbing by the perturbation $\delta_r$ the reduction
|
||||||
|
$${\rm Hat}_{tu} \Longrightarrow {\cal C}_*(GX)$$
|
||||||
|
obtained by the function {\tt pre-left-hmeq-left-reduction}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt ls-left-hmeq-right-reduction} {\em space} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the reduction
|
||||||
|
$$Cobar^{{\cal C}_*(X)}({\Z}, {\cal C}_*(X)\otimes_t {\cal C_*}(GX)) \Longrightarrow
|
||||||
|
Cobar^{{\cal C}_*(X)}({\Z}, {\Z})$$
|
||||||
|
by perturbing by the perturbation $\delta_l$ the reduction
|
||||||
|
$${\rm Hat}_{ut} \Longrightarrow Cobar^{{\cal C}_*(X)}({\Z}, {\Z})$$
|
||||||
|
obtained by the function {\tt pre-left-hmeq-right-reduction}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt ls-left-hmeq} {\em space} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the homotopy equivalence
|
||||||
|
$$\diagram{
|
||||||
|
& Cobar^{{\cal C}_*(X)}({\Z}, {\cal C}_*(X)\otimes_t {\cal C_*}(GX)) \cr
|
||||||
|
\swarrow\nearrow & & \searrow\nwarrow \cr
|
||||||
|
{\cal C_*}(GX) & & Cobar^{{\cal C}_*(X)}({\Z}, {\Z}) \cr
|
||||||
|
}$$
|
||||||
|
from the above reductions. The function {\tt loop-space-efhm} composes this left homotopy
|
||||||
|
equivalence $H_L$ with a homotopy equivalence $H_R$ which is the cobar of a pre-existing
|
||||||
|
homotopy equivalence (possibly the trivial one) between the coalgebra $X$ and an effective
|
||||||
|
version of it, as described at the beginning of this chapter. The Lisp definition is given
|
||||||
|
in the next subsection.
|
||||||
|
\par}
|
||||||
|
}
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\subsection {Searching homology for loop spaces}
|
||||||
|
|
||||||
|
The \index{searching homology!loop spaces} origin list of a loop space object has the form {\tt (LOOP-SPACE {\em space})}.
|
||||||
|
The {\tt search-efhm} method applied to a loop space object
|
||||||
|
consists essentially in a call to the function {\tt loop-space-efhm}
|
||||||
|
described in this chapter.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(defmethod SEARCH-EFHM (loop-space (orgn (eql 'loop-space)))
|
||||||
|
(declare (type simplicial-set loop-space))
|
||||||
|
(loop-space-efhm (second (orgn loop-space))))
|
||||||
|
\end{verbatim}}
|
||||||
|
The lisp definition of the function {\tt loop-space-efhm} shows clearly
|
||||||
|
the possible recursivity of the process is {\em space} is itself
|
||||||
|
a loop space.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(defun LOOP-SPACE-EFHM (space)
|
||||||
|
(declare (type simplicial-set space))
|
||||||
|
(let ((left-hmeq (ls-left-hmeq space))
|
||||||
|
(right-hmeq (cobar (efhm space))))
|
||||||
|
(declare (type homotopy-equivalence left-hmeq right-hmeq))
|
||||||
|
(cmps left-hmeq right-hmeq)))
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\subsection* {Examples}
|
||||||
|
|
||||||
|
Let us show first how to get the homology groups of some known loop spaces,
|
||||||
|
$\Omega {\cal S}^2$, $\Omega^3 {\cal S}^4$, $\Omega^2{\rm Moore}({\Z}/{2{\Z}},3)$.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf s2 (sphere 2)) ==>
|
||||||
|
|
||||||
|
[K1 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf os2 (loop-space s2)) ==>
|
||||||
|
|
||||||
|
[K6 Simplicial-Group]
|
||||||
|
|
||||||
|
(dotimes (k 10) (homology os2 k)) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 6 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 7 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 8 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 9 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
(cat-init)
|
||||||
|
|
||||||
|
(setf s4 (sphere 4)) ==>
|
||||||
|
|
||||||
|
[K1 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf ooos4 (loop-space s4 3)) ==>
|
||||||
|
|
||||||
|
[K30 Simplicial-Group]
|
||||||
|
|
||||||
|
(dotimes (k 6) (homology ooos4 k)) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Component Z/3Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Component Z/3Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
(setf moore-23 (moore 2 3)) ==>
|
||||||
|
|
||||||
|
[K42 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf oo-moore-23 (loop-space moore-23 2)) ==>
|
||||||
|
|
||||||
|
[K59 Simplicial-Group]
|
||||||
|
|
||||||
|
(dotimes (k 6) (homology oo-moore-23 k)) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z/4Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\section {The solution of the Adams and Carlsson problem}
|
||||||
|
|
||||||
|
Let\index{Adams's problem} $X$ an $n$-reduced simplicial set which is not a suspension.
|
||||||
|
The Adams and Carlsson
|
||||||
|
problem\footnote{{\bf Gunnar Carlsson, R.James Milgram.} {\em Stable homotopy and iterated loop spaces} in
|
||||||
|
{\em Handbook of Algebraic Topology, pp 545} edited by {\em I.M.James, North-Holland, 1995}.}
|
||||||
|
asks for a finite CW-complex modelizing the iterated loop space $\Omega^n X$. We show in this section
|
||||||
|
how the {\tt Kenzo} program builds the relevant solution.\par
|
||||||
|
Let us consider for instance the truncated projective space $X=P^\infty {\R}/ P^3 {\R}$ (a non-suspended space)
|
||||||
|
and let us build $\Omega^3 X$.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf p4 (R-proj-space 4)) ==>
|
||||||
|
|
||||||
|
[K1 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf o3p4 (loop-space p4 3)) ==>
|
||||||
|
|
||||||
|
[K30 Simplicial-Group]
|
||||||
|
|
||||||
|
(setf ecc (rbcc (efhm o3p4))) ==>
|
||||||
|
|
||||||
|
[K390 Chain-Complex]
|
||||||
|
\end{verbatim}}
|
||||||
|
The cellular homology of $\Omega^3 X$ is now known through the symbol {\tt ecc}. Note that $360$ objects
|
||||||
|
($390-30$) have been built to get the final complex {\tt ecc}. From the printing of the length of the
|
||||||
|
basis in dimensions $0$ to $5$,
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(dotimes (i 6) (print (length (basis ecc i)))) ==>
|
||||||
|
|
||||||
|
1
|
||||||
|
1
|
||||||
|
2
|
||||||
|
5
|
||||||
|
13
|
||||||
|
33
|
||||||
|
\end{verbatim}}
|
||||||
|
we see that the required CW-complex can be constructed using $1$ $0$-cell, $1$ $1$-cell, $2$ $2$-cells,
|
||||||
|
$5$ $3$-cells, $13$ $4$-cells and $33$ $5$-cells. Let us print the incidence matrix between
|
||||||
|
the $5$ and the $4$-cells:
|
||||||
|
\newpage
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(chcm-mat ecc 5) ==>
|
||||||
|
|
||||||
|
========== MATRIX 13 lines + 33 columns =====
|
||||||
|
|
||||||
|
L1=[C1=-2]
|
||||||
|
L2=[C1=-1]
|
||||||
|
L3=[C1=-4][C2=1][C3=-1][C4=-2]
|
||||||
|
L4=[C2=1][C3=-1][C6=2]
|
||||||
|
L5=[C1=6][C4=1][C6=1]
|
||||||
|
L6=[C1=4][C4=4][C6=4][C7=3]
|
||||||
|
L7=[C1=4][C12=-2][C14=2]
|
||||||
|
L8=[C1=6][C4=1][C6=1]
|
||||||
|
L9=[C1=4][C4=4][C6=4][C7=3]
|
||||||
|
L10=[C8=4][C10=1][C11=-1][C14=-4][C15=-2][C20=-2]
|
||||||
|
L11=[C1=4][C8=4][C10=1][C11=-1][C16=-4][C18=-1][C19=1][C23=-2]
|
||||||
|
L12=[C12=4][C13=2][C16=-4][C18=-1][C19=1][C27=-2]
|
||||||
|
L13=[C1=-1][C20=4][C21=2][C23=-4][C24=-2][C27=4][C28=2]
|
||||||
|
|
||||||
|
========== END-MATRIX
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
For instance, we see that the first $5$-cell,
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(first (basis ecc 5)) ==>
|
||||||
|
|
||||||
|
<<AlLp[5 <<AlLp[6 <<AlLp[7 8]>>]>>]>>
|
||||||
|
\end{verbatim}}
|
||||||
|
is glued to the $4$-cells \#5 and \#8 by attaching maps of degree $6$.
|
||||||
|
The $5$-cell \#4 is also glued to the $4$-cell \#5 by an attaching map
|
||||||
|
of degree $1$, etc.
|
||||||
|
|
||||||
|
\subsection* {Lisp files concerned in this chapter}
|
||||||
|
|
||||||
|
{\tt lp-space-efhm.lisp}, {\tt searching-homology.lisp}.
|
||||||
|
|
||||||
|
|
||||||
368
doc/doc_src/emspdoc2.tex
Normal file
368
doc/doc_src/emspdoc2.tex
Normal file
@ -0,0 +1,368 @@
|
|||||||
|
\chapter {Eilenberg-Moore spectral sequence II}
|
||||||
|
|
||||||
|
\section{Introduction}
|
||||||
|
|
||||||
|
This chapter is devoted to the effective homology version of the spectral
|
||||||
|
sequence of Eilenberg-Moore, in the particular case of classifying spaces.
|
||||||
|
More precisely, let ${\cal G}$ be a simplicial group; then its classifying space
|
||||||
|
$\bar{\cal W}{\cal G}$ is a simplicial set canonically defined\footnote
|
||||||
|
{{\bf J. Peter May}. {\em Simplicial objects in algebraic topology}, Van Nostrand, 1967.}.
|
||||||
|
Furthermore, if ${\cal G}$ is an Abelian simplicial group, then $\bar{\cal W}{\cal G}$
|
||||||
|
is again an Abelian simplicial group with natural structure, so that the $\bar{\cal W}$
|
||||||
|
construction can be iterated. The $\bar{\cal W}$ construction is implemented in {\tt Kenzo}
|
||||||
|
only if ${\cal G}$ is reduced (${\cal G}_0$ has only one element). In particular if
|
||||||
|
${\cal G}$ is a simplicial group with effective homology, then {\tt Kenzo} constructs
|
||||||
|
a version of $\bar{\cal W}{\cal G}$ also with effective homology.
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\section{The detailed construction}
|
||||||
|
|
||||||
|
Let ${\cal G}$ be a simplicial group with effective homology. This means that
|
||||||
|
a homotopy equivalence:
|
||||||
|
$$\diagram{
|
||||||
|
& \hat{C}_* \cr
|
||||||
|
\swarrow\nearrow & & \searrow\nwarrow \cr
|
||||||
|
{\cal C}_*({\cal G}) & & EG_* \cr
|
||||||
|
}$$
|
||||||
|
|
||||||
|
is provided, where the chain complex $EG_*$ is effective
|
||||||
|
and must be con\-si\-de\-red as describing
|
||||||
|
the homology of ${\cal C}_*({\cal G})$. This scheme includes the case where
|
||||||
|
${\cal C}_*({\cal G})$ itself is effective; without any other information,
|
||||||
|
the program constructs automatically a trivial homotopy equivalence.
|
||||||
|
\par
|
||||||
|
Now, if we apply the {\em Bar} functor to this homotopy equivalence
|
||||||
|
we obtain the homotopy equivalence $H_R$:
|
||||||
|
$$\diagram{
|
||||||
|
&{\widetilde{Bar}}^{\hat{ C}_*} \cr
|
||||||
|
\swarrow\nearrow & & \searrow\nwarrow \cr
|
||||||
|
Bar^{{\cal C}_*({\cal G})}({\Z}, {\Z}) & & {\widetilde{Bar}}^{EG_*}({\Z}, {\Z}) \cr
|
||||||
|
}$$
|
||||||
|
|
||||||
|
in which the $\widetilde{Bar}$'s are Bars constructions with respect to
|
||||||
|
the $A_\infty$ structure on $\hat{C}_*$ and $EG_*$ defined by
|
||||||
|
the initial homotopy equivalence.
|
||||||
|
\par
|
||||||
|
By analogy with the result of Julio Rubio\footnote{{\bf J.J. Rubio-Garcia}. {\em Homologie
|
||||||
|
effective des espaces de lacets it\'er\'es: un logiciel}, Th\`ese, Institut Fourier, 1991.}
|
||||||
|
one may show that it is possible to construct another homotopy equivalence, $H_L$:
|
||||||
|
$$\diagram{
|
||||||
|
& Bar^{{\cal C}_*({\cal G})}({\cal C}_*(\bar{\cal W}{\cal G})\otimes_t {\cal C}_*({\cal G}),{\Z}) \cr
|
||||||
|
\swarrow\nearrow & & \searrow\nwarrow \cr
|
||||||
|
{\cal C}_*(\bar{\cal W}{\cal G}) & & Bar^{{\cal C}_*({\cal G})}({\Z}, {\Z}) \cr
|
||||||
|
}$$
|
||||||
|
Both reductions of $H_L$ are obtained by the basic perturbation lemma, as explained
|
||||||
|
in the following section.
|
||||||
|
The composition of both homotopy e\-qui\-va\-len\-ces, $H_L$ and $H_R$, makes the link between $\bar{\cal W}{\cal G}$,
|
||||||
|
the classifying space of the simplicial group ${\cal G}$
|
||||||
|
and the effective right bottom chain complex of $H_R$.
|
||||||
|
|
||||||
|
\subsection {Obtaining the left reduction $H_L$}
|
||||||
|
|
||||||
|
The homotopy equivalence $H_L$ is obtained by a sequence of intermediate constructions
|
||||||
|
based mainly upon two applications of the basic perturbation lemma.
|
||||||
|
We are led to consider the two following modules:
|
||||||
|
\begin{itemize}
|
||||||
|
\item ${\cal C}_*({\cal G})$ module on itself, with the canonical product.
|
||||||
|
$${\cal C}_*({\cal G})\otimes {\cal C}_*({\cal G})\stackrel {\Pi}{\longrightarrow} {\cal C}_*({\cal G}).$$
|
||||||
|
\item ${\check{\cal C}}_*({\cal G})$, module on ${\cal C}_*({\cal G})$, with a ``trivial''
|
||||||
|
product
|
||||||
|
$${\check{\cal C}}_*({\cal G})\otimes{\cal C}_*({\cal G}) \stackrel {\check{\Pi}}{\longrightarrow}
|
||||||
|
{\check{\cal C}}_*({\cal G})$$
|
||||||
|
defined by
|
||||||
|
$$\sigma \otimes \tau \longmapsto \sigma . \varepsilon(\tau),$$
|
||||||
|
where $\varepsilon$ is the traditional augmentation of ${\cal C}_*({\cal G})$.
|
||||||
|
\end{itemize}
|
||||||
|
Now, we consider the set of the followings Bars
|
||||||
|
(where $u$ means {\em ``untwisted''} and $t$ {\em ``twisted''}):
|
||||||
|
\begin{eqnarray*}
|
||||||
|
{\rm Hat}_{uu} &=& Bar^{{\cal C}_*({\cal G})}({\cal C}_*(\bar{\cal W}{\cal G})\otimes {\check{\cal C}}_*({\cal G}),{\Z}),\\
|
||||||
|
{\rm Hat}_{ut} &=& Bar^{{\cal C}_*({\cal G})}({\cal C}_*(\bar{\cal W}{\cal G})\otimes {\cal C}_*({\cal G}),{\Z}),\\
|
||||||
|
{\rm Hat}_{tu} &=& Bar^{{\cal C}_*({\cal G})}({\cal C}_*(\bar{\cal W}{\cal G})\otimes_t{\check{\cal C}}_*({\cal G}),{\Z}),\\
|
||||||
|
{\rm Hat}_{tt} &=& Bar^{{\cal C}_*({\cal G})}({\cal C}_*(\bar{\cal W}{\cal G})\otimes_t {\cal C}_*({\cal G}),{\Z}).
|
||||||
|
\end{eqnarray*}
|
||||||
|
|
||||||
|
One may always say that ${\rm Hat}_{ut}$ is obtained from ${\rm Hat}_{uu}$ by a perturbation $\delta_r$ ($r$: right)
|
||||||
|
induced by the discrepancy between the products
|
||||||
|
in ${\check{\cal C}}_*({\cal G})$ and ${\cal C}_*({\cal G})$
|
||||||
|
and that ${\rm Hat}_{tu}$ is obtained from ${\rm Hat}_{uu}$
|
||||||
|
by a perturbation $\delta_l$ ($l$: left) induced by the twisted tensor product $\otimes_t$.
|
||||||
|
After that,
|
||||||
|
${\rm Hat}_{tt}$ is obtained from ${\rm Hat}_{tu}$ by the perturbation $\delta_r$ as well as, by commutativity,
|
||||||
|
from ${\rm Hat}_{ut}$ by the perturbation $\delta_l$. \par
|
||||||
|
This is shown in the following diagram (here, the arrows are not reductions, but denote
|
||||||
|
the perturbations between the differential morphisms):
|
||||||
|
$$\diagram{
|
||||||
|
& {\rm Hat}_{uu} \cr
|
||||||
|
\delta_l \swarrow & & \searrow \delta_r \cr
|
||||||
|
{\rm Hat}_{tu} & & {\rm Hat}_{ut} \cr
|
||||||
|
\delta_r \searrow & & \swarrow \delta_l \cr
|
||||||
|
& {\rm Hat}_{tt} \cr
|
||||||
|
}$$
|
||||||
|
The underlying graded modules ${\rm Hat}_{uu}$, ${\rm Hat}_{ut}$, ${\rm Hat}_{tu}$ and ${\rm Hat}_{tt}$ are the same
|
||||||
|
and the program keeps ${\rm Hat}_{uu}$ as the underlying graded module for all the chain complexes.
|
||||||
|
The differential perturbations are given by the formulas:
|
||||||
|
\begin{eqnarray*}
|
||||||
|
\delta_l[(w\otimes {\check g}_0)\otimes (g_1 \otimes\cdots\otimes g_n)] &=&
|
||||||
|
[d_{\otimes t}(w\otimes {\check g}_0) - d_\otimes (w\otimes {\check g}_0)] \otimes (g_1 \otimes\cdots\otimes g_n), \\
|
||||||
|
\delta_r[(w\otimes {\check g}_0)\otimes (g_1 \otimes\cdots\otimes g_n)] &=&
|
||||||
|
w \otimes(g_0 . g_1) \otimes g_2 \otimes\cdots\otimes g_n,
|
||||||
|
\end{eqnarray*}
|
||||||
|
where ${\check g}_0 \in {\check {\cal G}}_0,\, g_i \in {\cal G},\, w \in \bar{\cal W}{\cal G}.$
|
||||||
|
\par
|
||||||
|
Now, on the other hand, we know that there exists a reduction
|
||||||
|
$${\rm Hat}_{ut} = Bar^{{\cal C}_*({\cal G})}({\cal C}_*(\bar{\cal W}{\cal G})\otimes
|
||||||
|
{\cal C}_*({\cal G}),{\Z}) \Longrightarrow {\cal C}_*(\bar{\cal W}{\cal G}),$$
|
||||||
|
so, perturbing this reduction by $\delta_l$, one obtains the Rubio reduction
|
||||||
|
$${\rm Hat}_{tt}=Bar^{{\cal C}_*({\cal G})}({\cal C}_*(\bar{\cal W}{\cal G})\otimes_t
|
||||||
|
{\cal C}_*({\cal G}),{\Z}) \Longrightarrow {\cal C}_*(\bar{\cal W}{\cal G}).$$
|
||||||
|
On the other hand, we know also that there exists a reduction
|
||||||
|
$${\rm Hat}_{tu} = Bar^{{\cal C}_*({\cal G})}({\cal C}_*(\bar{\cal W}{\cal G})\otimes_t
|
||||||
|
{\check{\cal C}}_*({\cal G}),{\Z}) \Longrightarrow
|
||||||
|
Bar^{{\cal C}_*({\cal G})}({\Z}, {\Z}),$$
|
||||||
|
so, perturbing this reduction by $\delta_r$, one obtains the reduction
|
||||||
|
$${\rm Hat}_{tt}=Bar^{{\cal C}_*({\cal G})}({\cal C}_*(\bar{\cal W}{\cal G})\otimes_t
|
||||||
|
{\cal C}_*({\cal G}),{\Z}) \Longrightarrow Bar^{{\cal C}_*({\cal G})}({\Z}, {\Z}).$$
|
||||||
|
Finally, we have obtained the wished left homotopy equivalence $H_L$:
|
||||||
|
$$\diagram{
|
||||||
|
& Bar^{{\cal C}_*({\cal G})}({\cal C}_*(\bar{\cal W}{\cal G})\otimes_t {\cal C}_*({\cal G}),{\Z}) \cr
|
||||||
|
\swarrow\nearrow & & \searrow\nwarrow \cr
|
||||||
|
{\cal C}_*(\bar{\cal W}{\cal G}) & & Bar^{{\cal C}_*({\cal G})}({\Z}, {\Z}) \cr
|
||||||
|
}$$
|
||||||
|
|
||||||
|
\subsection {The useful functions}
|
||||||
|
|
||||||
|
For the applications, the only function that the user must know is the function {\tt classifying-space-efhm}
|
||||||
|
which builds the final homotopy equivalence. But for the
|
||||||
|
interested user, we give nevertheless a short description of all the functions
|
||||||
|
involved in the described process.
|
||||||
|
|
||||||
|
\vskip 0.30cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt classifying-space-efhm} {\em smgr} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the simplicial group ${\cal G}$ ($0$-reduced) with effective homology (here the argument {\em smgr}), build
|
||||||
|
a homotopy equivalence giving an effective homology version of the classifying space $\bar{\cal W}{\cal G}$ of ${\cal G}$.
|
||||||
|
This homotopy
|
||||||
|
equivalence will be used by the homology function to compute the homology groups. In fact, due to
|
||||||
|
the slot-unbound mechanism of CLOS, this function will be automatically called, as soon
|
||||||
|
as the user requires a homology group for a classifying space. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cs-hat-u-u} {\em smgr} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return the chain complex
|
||||||
|
$Bar^{{\cal C}_*({\cal G})}({\cal C}_*(\bar{\cal W}{\cal G})\otimes {\check{\cal C}}_*({\cal G}),{\Z})$. Because of
|
||||||
|
the particular structure of ${\check{\cal C}}_*({\cal G})$, this chain complex is nothing but
|
||||||
|
$[{\cal C}_*(\bar{\cal W}{\cal G})\otimes {\check{\cal C}}_*({\cal G})]\otimes Bar^{{\cal C}_*({\cal G})}({\Z},{\Z}).$
|
||||||
|
\par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cs-hat-right-perturbation} {\em smgr} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return the morphism corresponding to the differential perturbation $\delta_r$, induced by
|
||||||
|
the discrepancy between the respective products in ${\check{\cal C}}_*({\cal G})$ and
|
||||||
|
in ${\cal C}_*({\cal G})$. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cs-hat-u-t} {\em smgr} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return the chain complex
|
||||||
|
$Bar^{{\cal C}_*({\cal G})}({\cal C}_*(\bar{\cal W}{\cal G})\otimes {\cal C}_*({\cal G}),{\Z})$ by applying
|
||||||
|
the differential perturbation {\tt hat-right-perturbation} upon
|
||||||
|
the chain complex {\tt hat-u-u {\em smgr}}. This is realized by the method
|
||||||
|
{\tt add}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cs-hat-t-u} {\em smgr} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return the chain complex
|
||||||
|
$Bar^{{\cal C}_*({\cal G})}({\cal C}_*(\bar{\cal W}{\cal G})\otimes_t {\check{\cal C}}_*({\cal G}),{\Z})$. Because of
|
||||||
|
the particular structure of ${\check{\cal C}}_*({\cal G})$, this chain complex is nothing but
|
||||||
|
$[{\cal C}_*(\bar{\cal W}{\cal G})\otimes_t {\check{\cal C}}_*({\cal G})]\otimes Bar^{{\cal C}_*({\cal G})}({\Z},{\Z}),$
|
||||||
|
where the twisted tensor product is the botton chain complex of the Brown reduction
|
||||||
|
of the fibration of the simplicial group. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cs-hat-left-perturbation} {\em smgr} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return the morphism corresponding to the differential perturbation $\delta_l$ induced
|
||||||
|
by the twisted tensor product. This morphism is nothing but the tensor product of two
|
||||||
|
morphisms: the perturbation morphism by-product of the Brown reduction of the fibration of
|
||||||
|
the simplicial group and the identity morphism on $Bar^{{\cal C}_*({\cal G})}({\Z},{\Z})$. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cs-left-hmeq-hat} {\em smgr} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return the chain complex
|
||||||
|
${\rm Hat}_{tt}=Bar^{{\cal C}_*({\cal G})}({\cal C}_*(\bar{\cal W}{\cal G})\otimes_t {\cal C}_*({\cal G}),{\Z})$ by
|
||||||
|
perturbing the chain complex ${\rm Hat}_{ut}$ by the perturbation $\delta_l$. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cs-pre-left-hmeq-left-reduction} {\em smgr} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the reduction
|
||||||
|
$${\rm Hat}_{tu}=Bar^{{\cal C}_*({\cal G})}({\cal C}_*(\bar{\cal W}{\cal G})\otimes {\cal C}_*({\cal G}),{\Z}) \Longrightarrow {\cal C}_*(\bar{\cal W}{\cal G}).$$
|
||||||
|
\par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cs-pre-left-hmeq-right-reduction} {\em smgr} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the reduction
|
||||||
|
$${\rm Hat}_{ut}=Bar^{{\cal C}_*({\cal G})}({\check{\cal C}}_*({\cal G})\otimes_t {\cal C}_*(\bar{\cal W}{\cal G}),{\Z}) \Longrightarrow
|
||||||
|
Bar^{{\cal C}_*({\cal G})}({\Z}, {\Z}).$$ \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cs-left-hmeq-left-reduction} {\em smgr} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the Rubio reduction
|
||||||
|
$$Bar^{{\cal C}_*({\cal G})}({\cal C}_*(\bar{\cal W}{\cal G})\otimes_t {\cal C}_*({\cal G}),{\Z}) \Longrightarrow{\cal C}_*(\bar{\cal W}{\cal G})$$
|
||||||
|
by perturbing by the perturbation $\delta_r$ the reduction
|
||||||
|
$${\rm Hat}_{tu} \Longrightarrow {\cal C}_*(\bar{\cal W}{\cal G})$$
|
||||||
|
obtained by the function {\tt pre-left-hmeq-left-reduction}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cs-left-hmeq-right-reduction} {\em smgr} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the reduction
|
||||||
|
$$Bar^{{\cal C}_*({\cal G})}({\cal C}_*(\bar{\cal W}{\cal G})\otimes_t {\cal C}_*({\cal G}),{\Z}) \Longrightarrow
|
||||||
|
Bar^{{\cal C}_*({\cal G})}({\Z}, {\Z})$$
|
||||||
|
by perturbing by the perturbation $\delta_l$ the reduction
|
||||||
|
$${\rm Hat}_{ut} \Longrightarrow Bar^{{\cal C}_*({\cal G})}({\Z}, {\Z})$$
|
||||||
|
obtained by the function {\tt cs-pre-left-hmeq-right-reduction}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cs-left-hmeq} {\em smgr} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the homotopy equivalence
|
||||||
|
$$\diagram{
|
||||||
|
& Bar^{{\cal C}_*({\cal G})}({\cal C}_*(\bar{\cal W}{\cal G})\otimes_t {\cal C}_*({\cal G}),{\Z}) \cr
|
||||||
|
\swarrow\nearrow & & \searrow\nwarrow \cr
|
||||||
|
{\cal C}_*(\bar{\cal W}{\cal G}) & & Bar^{{\cal C}_*({\cal G})}({\Z}, {\Z}) \cr
|
||||||
|
}$$
|
||||||
|
from the above reductions. The function {\tt classifying-space-efhm} composes this left homotopy
|
||||||
|
equivalence $H_L$ with the homotopy equivalence $H_R$ which is the Bar of a pre-existing
|
||||||
|
homotopy equivalence (possibly the trivial one) between the module ${\cal G}$ and an effective
|
||||||
|
version of it, as described at the beginning of this chapter.
|
||||||
|
\par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection {Searching homology for classifying spaces}
|
||||||
|
|
||||||
|
The \index{searching homology!classifying spaces} origin list of a classifying space object has the form
|
||||||
|
{\tt (CLASSIFYING-SPACE {\em smgr})}.
|
||||||
|
The {\tt search-efhm} method applied to a classifying space object
|
||||||
|
consists essentially in a call to the function {\tt classifying-space-efhm}
|
||||||
|
described just above.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(defmethod SEARCH-EFHM (classifying-space (orgn (eql 'classifying-space)))
|
||||||
|
(declare (type simplicial-set classifying-space))
|
||||||
|
(classifying-space-efhm (second (orgn classifying-space))))
|
||||||
|
\end{verbatim}}
|
||||||
|
The following Lisp definition of the function {\tt classifying-space-efhm} shows that
|
||||||
|
the process may be recursif if it happens that {\em smrg} is itself a classifying space:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(defun CLASSIFYING-SPACE-EFHM (smgr)
|
||||||
|
(declare (type simplicial-group smgr))
|
||||||
|
(let ((left-hmeq (cs-left-hmeq smgr))
|
||||||
|
(right-hmeq (bar (efhm smgr))))
|
||||||
|
(declare (type homotopy-equivalence left-hmeq right-hmeq))
|
||||||
|
(cmps left-hmeq right-hmeq)))
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
|
||||||
|
\subsection* {Examples}
|
||||||
|
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf kz1 (k-z-1)) ==>
|
||||||
|
|
||||||
|
[K1 Abelian-Simplicial-Group]
|
||||||
|
|
||||||
|
(homology kz1 0 10) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Homology in dimension 6 :
|
||||||
|
|
||||||
|
Homology in dimension 7 :
|
||||||
|
|
||||||
|
Homology in dimension 8 :
|
||||||
|
|
||||||
|
Homology in dimension 9 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
(setf bkz1 (classifying-space kz1)) ==>
|
||||||
|
|
||||||
|
[K23 Abelian-Simplicial-Group]
|
||||||
|
|
||||||
|
(homology bkz1 0 10) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Homology in dimension 6 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 7 :
|
||||||
|
|
||||||
|
Homology in dimension 8 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 9 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
(setf obkz1 (loop-space bkz1)) ==>
|
||||||
|
|
||||||
|
[K154 Simplicial-Group]
|
||||||
|
|
||||||
|
(homology obkz1 0 6) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\subsection* {Lisp files concerned in this chapter}
|
||||||
|
|
||||||
|
{\tt cs-space-efhm.lisp}, {\tt searching-homology.lisp}.
|
||||||
|
|
||||||
|
|
||||||
692
doc/doc_src/ezdoc.tex
Normal file
692
doc/doc_src/ezdoc.tex
Normal file
@ -0,0 +1,692 @@
|
|||||||
|
\chapter{The Eilenberg-Zilber module}
|
||||||
|
|
||||||
|
The functions of this module are related to the chain complex of the
|
||||||
|
pro\-duct of two simplicial sets.
|
||||||
|
They implement the Eilenberg-Mac Lane homomorphism (function {\tt eml})
|
||||||
|
and the Alexander-Whitney homomorphism (function {\tt aw}).
|
||||||
|
\vskip 0.45cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt eml} {\em ssx ssy} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
build\index{homomorphism!Eilenberg-Mac Lane} the Eilenberg-Mac Lane homomorphism $\cal EML$, also called
|
||||||
|
the {\em shuffle homomorphism}\footnote{{\bf Marvin Greenberg}, {\it Lectures on Algebraic Topology},
|
||||||
|
W.A. Benjamin Inc, 1967.}.
|
||||||
|
The arguments {\em ssx} and {\em ssy} represent some simplicial sets $X$ and $Y$.
|
||||||
|
The homomorphism
|
||||||
|
$${\cal EML}:{\cal C}_*(X) \otimes {\cal C}_*(Y) \longrightarrow {\cal C}_*(X \times Y)$$
|
||||||
|
is defined by:
|
||||||
|
$${\cal EML}(\alpha \otimes \beta)=
|
||||||
|
\sum{{\varepsilon(\varpi)}(\eta_{j_q}\ldots \eta_{j_1}\alpha,\, \eta_{i_p}\ldots \eta_{i_1}\beta)},$$
|
||||||
|
where $X\times Y$ is the simplicial cartesian product of the two simplicial sets $X$ and $Y$, $\alpha$ (resp. $\beta$)
|
||||||
|
is a geometric simplex of $X$ (resp. $Y$), $\eta_k$ is the $k^{th}$ degeneracy operator, the sum is
|
||||||
|
over all permutations $\varpi= (i_1 \ldots i_p j_1 \ldots j_q)$ of $(0 \ldots p+q-1)$ such that
|
||||||
|
$$ i_1 < i_2 < \cdots < i_p,\quad j_1 < j_2 < \cdots < j_q, \quad p+q=n$$
|
||||||
|
and $\varepsilon(\varpi)$ is the signature of the corresponding permutation. The sum at the right hand part determines
|
||||||
|
a decomposition of the geometric product $\alpha \times \beta$ into a combination of generators of the
|
||||||
|
simplicial cartesian product (see the simplicial sets chapter). The combination takes in account the orientation of every
|
||||||
|
simplex. These generators are non-degenerate simplices of the cartesian product but their projections
|
||||||
|
are in general degenerate simplices of $X$ and $Y$ (see the examples). \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt aw} {\em ssx ssy} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
build\index{homomorphism!Alexander-Whitney} the Alexander-Whitney chain homomorphism.
|
||||||
|
The arguments {\em ssx} and {\em ssy} represent some simplicial sets $X$ and $Y$.
|
||||||
|
The homomorphism
|
||||||
|
$${\cal AW}:{\cal C}_*(X \times Y) \longrightarrow {\cal C}_*(X) \otimes {\cal C}_*(Y)$$
|
||||||
|
is defined by the following rule: let $\sigma$ be an $n$-simplex and let us define
|
||||||
|
two operators, $\lambda_p$ and $\rho_q$:
|
||||||
|
$$\lambda_p: {\cal C}_n(X) \longrightarrow {\cal C}_{n-p}(X),\quad (n \geq p),$$
|
||||||
|
$$\rho_q: {\cal C}_n(Y) \longrightarrow {\cal C}_{n-q}(X),\quad (n \geq q),$$
|
||||||
|
respectively by
|
||||||
|
$$\lambda_p(\sigma)=\partial_{p+1}\ldots \partial_n \sigma$$
|
||||||
|
and
|
||||||
|
$$\rho_q(\sigma)=\partial_0\ldots\partial_{n-q} \sigma.$$
|
||||||
|
Now, for the generator $(\alpha,\beta)$ of degree $n$ in ${\cal C}_*(X \times Y)$, the Alexander-Whitney homomorphism
|
||||||
|
is defined by:
|
||||||
|
$${\cal AW}(\alpha, \beta)=\sum_{p=0}^n{\lambda_p(\alpha) \otimes \rho_{n-p}(\beta)}.$$
|
||||||
|
This sum can be interpreted as a decomposition, up to a homotopy, of the simplex $\alpha \times \beta$
|
||||||
|
($\alpha$ {\bf and} $\beta$ can be degenerate even if $\alpha \times \beta$ is not) in terms of (tensor)
|
||||||
|
products of non-degenerate simplices.
|
||||||
|
\par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt phi} {\em ssx ssy} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
build the homotopy chain morphism
|
||||||
|
$$\Phi: {\cal C}_*(X \times Y) \longrightarrow {\cal C}_*(X \times Y)$$
|
||||||
|
satisfying the formula
|
||||||
|
$$d \circ \Phi + \Phi \circ d = Id - {\cal EML} \circ {\cal AW}.$$
|
||||||
|
\par}
|
||||||
|
}
|
||||||
|
\newpage
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt ez} {\em ssx ssy} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
build the Eilenberg--Zilber reduction as shown by the following dia\-gram, where $X={\em ssx}$
|
||||||
|
and $Y={\em ssy}$.
|
||||||
|
$$
|
||||||
|
\diagram{
|
||||||
|
{{\cal C}_*(X \times Y)} & \stackrel{\Phi}{\longrightarrow} & {}^s{{\cal C}_*(X \times Y)} \cr
|
||||||
|
{\scriptstyle {\cal AW}} \downarrow \uparrow {\scriptstyle {\cal EML}} \cr
|
||||||
|
{{\cal C}_*(X) \otimes {\cal C}_*(Y)} \cr
|
||||||
|
}
|
||||||
|
$$
|
||||||
|
\par}}
|
||||||
|
\begin{center}
|
||||||
|
-------------
|
||||||
|
\end{center}
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\subsection* {Examples}
|
||||||
|
%
|
||||||
|
\vskip 0.40cm
|
||||||
|
\centerline{\psfig{figure=/home/home/siret/Kenzo/eml1.eps}}
|
||||||
|
\vskip 0.40cm
|
||||||
|
%
|
||||||
|
As simplicial sets $X$ and $Y$, let us use two copies of $\Delta^{\N}$, that we may build
|
||||||
|
by the lisp statement {\tt (soft-delta-infinity)} (Though we repeat this statement
|
||||||
|
in the following line, there will be only a simplicial set created). We have chosen the {\em soft}
|
||||||
|
version, to inspect the results more easily.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf eml-mrp (eml (soft-delta-infinity)(soft-delta-infinity))) ==>
|
||||||
|
|
||||||
|
[K11 Morphism (degree 0)]
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us apply the Eilenberg-Mac Lane homomorphism to the tensor product
|
||||||
|
$(0\, 1)\otimes (2\, 3)$:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(? eml-mrp 2 (tnpr 1 (d(dlop-ext-int '(0 1)))
|
||||||
|
1 (d(dlop-ext-int '(2 3))))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 2}
|
||||||
|
<-1 * <CrPr 0 0-1 1 2-3>>
|
||||||
|
<1 * <CrPr 1 0-1 0 2-3>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
The decomposition is illustrated by the previous geometric diagram, where for instance
|
||||||
|
a degenerate simplex like $\eta_1(0\, 1)$ is noted $(0\, 1\, 1)$.
|
||||||
|
\par
|
||||||
|
For the tensor product $(0\,1\,2)\otimes (3\,4)$, an intuitive description
|
||||||
|
is still possible, as shown in the following diagram, but not in higher dimensions.
|
||||||
|
\par
|
||||||
|
As the input of simplices is sometimes cumbersome, we have defined a macro called {\tt code}
|
||||||
|
to facilitate the input of the simplices.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(defmacro code (arg) `(d (dlop-ext-int ,arg))) ==>
|
||||||
|
|
||||||
|
CODE
|
||||||
|
|
||||||
|
(? eml-mrp 3 (tnpr 2 (code '(0 1 2)) 1 (code '(3 4)) )) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<1 * <CrPr 0 0-1-2 2-1 3-4>>
|
||||||
|
<-1 * <CrPr 1 0-1-2 2-0 3-4>>
|
||||||
|
<1 * <CrPr 2 0-1-2 1-0 3-4>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? eml-mrp 6 (tnpr 2 (code '(0 3 5)) 4 (code '(0 1 2 4 5)) )) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 6}
|
||||||
|
<1 * <CrPr 3-2-1-0 0-3-5 5-4 0-1-2-4-5>>
|
||||||
|
<-1 * <CrPr 4-2-1-0 0-3-5 5-3 0-1-2-4-5>>
|
||||||
|
<1 * <CrPr 4-3-1-0 0-3-5 5-2 0-1-2-4-5>>
|
||||||
|
<-1 * <CrPr 4-3-2-0 0-3-5 5-1 0-1-2-4-5>>
|
||||||
|
<1 * <CrPr 4-3-2-1 0-3-5 5-0 0-1-2-4-5>>
|
||||||
|
<1 * <CrPr 5-2-1-0 0-3-5 4-3 0-1-2-4-5>>
|
||||||
|
<-1 * <CrPr 5-3-1-0 0-3-5 4-2 0-1-2-4-5>>
|
||||||
|
<1 * <CrPr 5-3-2-0 0-3-5 4-1 0-1-2-4-5>>
|
||||||
|
<-1 * <CrPr 5-3-2-1 0-3-5 4-0 0-1-2-4-5>>
|
||||||
|
<1 * <CrPr 5-4-1-0 0-3-5 3-2 0-1-2-4-5>>
|
||||||
|
<-1 * <CrPr 5-4-2-0 0-3-5 3-1 0-1-2-4-5>>
|
||||||
|
<1 * <CrPr 5-4-2-1 0-3-5 3-0 0-1-2-4-5>>
|
||||||
|
<1 * <CrPr 5-4-3-0 0-3-5 2-1 0-1-2-4-5>>
|
||||||
|
<-1 * <CrPr 5-4-3-1 0-3-5 2-0 0-1-2-4-5>>
|
||||||
|
<1 * <CrPr 5-4-3-2 0-3-5 1-0 0-1-2-4-5>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
%
|
||||||
|
\vskip 0.40cm
|
||||||
|
\centerline{\psfig{figure=/home/home/siret/Kenzo/eml2.eps}}
|
||||||
|
\vskip 0.40cm
|
||||||
|
%
|
||||||
|
|
||||||
|
The Alexander-Whitney homomorphism works in the reverse sense:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf aw-mrp (aw (soft-delta-infinity)(soft-delta-infinity))) ==>
|
||||||
|
|
||||||
|
[K12 Morphism (degree 0)]
|
||||||
|
\end{verbatim}}
|
||||||
|
The 2-simplices of the cartesian product $(0\, 1\, 2) \times (3\, 4)$ are (here, the degeneracy
|
||||||
|
operators are in clear):
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
<CrPr 0 (0 1) 1 (3 4)>
|
||||||
|
<CrPr 1 (0 1) 0 (3 4)>
|
||||||
|
<CrPr 0 (0 2) 1 (3 4)>
|
||||||
|
<CrPr 1 (0 2) 0 (3 4)>
|
||||||
|
<CrPr 0 (1 2) 1 (3 4)>
|
||||||
|
<CrPr 1 (1 2) 0 (3 4)>
|
||||||
|
<CrPr * (0 1 2) 1-0 (3)>
|
||||||
|
<CrPr * (0 1 2) 1-0 (4)>
|
||||||
|
--> <CrPr * (0 1 2) 0 (3 4)>
|
||||||
|
<CrPr * (0 1 2) 1 (3 4)>
|
||||||
|
\end{verbatim}}
|
||||||
|
The last but one line of this list describes the triangle shown in dashed lines in the prism
|
||||||
|
in the previous picture, joining the points $(0,3), (1,3), (2,4)$.
|
||||||
|
Let us apply the homomorphism $\cal AW$:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(? aw-mrp 2 (crpr 0 (code '(0 1 2)) 1 (code '(3 4)) )) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 2}
|
||||||
|
<1 * <TnPr 0-1 3-4>>
|
||||||
|
<1 * <TnPr 0-1-2 4>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
We see that we obtain a kind of decomposition, up to a homotopy, of this triangle
|
||||||
|
in terms of the two tensor products $(0\, 1\, 2) \otimes (4)$ (the ``upper'' triangle of
|
||||||
|
the prism) and $(0\,1) \otimes (3\, 4)$ (the ``front'' rectangle of the prism).
|
||||||
|
\par
|
||||||
|
\medskip
|
||||||
|
The composition ${\cal AW} \circ {\cal EML}$ is the identity in the tensor product of
|
||||||
|
the two chain complexes.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf g (tnpr 2 (code '(0 1 2)) 3 (code '(2 3 4 5)) )) ==>
|
||||||
|
|
||||||
|
<TnPr 0-1-2 2-3-4-5>
|
||||||
|
|
||||||
|
(? eml-mrp 5 g) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 5}
|
||||||
|
<1 * <CrPr 2-1-0 0-1-2 4-3 2-3-4-5>>
|
||||||
|
<-1 * <CrPr 3-1-0 0-1-2 4-2 2-3-4-5>>
|
||||||
|
<1 * <CrPr 3-2-0 0-1-2 4-1 2-3-4-5>>
|
||||||
|
<-1 * <CrPr 3-2-1 0-1-2 4-0 2-3-4-5>>
|
||||||
|
<1 * <CrPr 4-1-0 0-1-2 3-2 2-3-4-5>>
|
||||||
|
<-1 * <CrPr 4-2-0 0-1-2 3-1 2-3-4-5>>
|
||||||
|
<1 * <CrPr 4-2-1 0-1-2 3-0 2-3-4-5>>
|
||||||
|
<1 * <CrPr 4-3-0 0-1-2 2-1 2-3-4-5>>
|
||||||
|
<-1 * <CrPr 4-3-1 0-1-2 2-0 2-3-4-5>>
|
||||||
|
<1 * <CrPr 4-3-2 0-1-2 1-0 2-3-4-5>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? aw-mrp *)
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 5}
|
||||||
|
<1 * <TnPr 0-1-2 2-3-4-5>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf *tnpr-with-degrees* t) ==>
|
||||||
|
|
||||||
|
T
|
||||||
|
|
||||||
|
**
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 5}
|
||||||
|
<1 * <TnPr 2 0-1-2 3 2-3-4-5>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
But the composition ${\cal EML} \circ {\cal AW}$ is by no means the identity. This composition
|
||||||
|
is related to the identity via the homotopy morphism $\Phi$. Let us consider the
|
||||||
|
two following simple simplicial sets {\tt delta-0-1} and {\tt delta-2-3}, where the
|
||||||
|
second is the simplicial set, model of the segment $[2,\,3]$. To build {\tt delta-2-3}, we
|
||||||
|
have just changed the basis function, the base point and the comment in the system function {\tt soft-delta}.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf delta-0-1 (soft-delta 1))
|
||||||
|
|
||||||
|
[K13 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf delta-2-3 (build-smst
|
||||||
|
:cmpr #'soft-delta-cmpr
|
||||||
|
:basis #'(lambda(dmn)
|
||||||
|
(case dmn
|
||||||
|
(0 (list (d 4)(d 8)))
|
||||||
|
(1 (list(d 12)))))
|
||||||
|
:bspn (d 4)
|
||||||
|
:face #'soft-delta-face
|
||||||
|
:intr-dgnl #'soft-delta-dgnl :dgnl-strt :gnrt
|
||||||
|
:intr-bndr #'soft-delta-bndr :bndr-strt :gnrt
|
||||||
|
:orgn '(my-soft-delta-2-3)))
|
||||||
|
|
||||||
|
[K18 Simplicial-Set]
|
||||||
|
|
||||||
|
(show-structure delta-0-1 1) ==>
|
||||||
|
|
||||||
|
Dimension = 0 :
|
||||||
|
|
||||||
|
Vertices : (0 1)
|
||||||
|
|
||||||
|
Dimension = 1 :
|
||||||
|
|
||||||
|
Simplex : 0-1
|
||||||
|
|
||||||
|
Faces : (<AbSm - 1> <AbSm - 0>)
|
||||||
|
|
||||||
|
(show-structure delta-2-3 1) ==>
|
||||||
|
|
||||||
|
Dimension = 0 :
|
||||||
|
|
||||||
|
Vertices : (2 3)
|
||||||
|
|
||||||
|
Dimension = 1 :
|
||||||
|
|
||||||
|
Simplex : 2-3
|
||||||
|
|
||||||
|
Faces : (<AbSm - 3> <AbSm - 2>)
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us build the cartesian product of these two simplicial sets and let us list,
|
||||||
|
in particular the
|
||||||
|
0-simplices and the 1-simplices of this new simplicial set:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf carre (crts-prdc delta-0-1 delta-2-3)) ==>
|
||||||
|
|
||||||
|
[K23 Simplicial-Set]
|
||||||
|
|
||||||
|
(show-structure carre 2) ==>
|
||||||
|
|
||||||
|
|
||||||
|
Dimension = 0 :
|
||||||
|
|
||||||
|
Vertices : (<CrPr - 0 - 2> <CrPr - 0 - 3> <CrPr - 1 - 2>
|
||||||
|
<CrPr - 1 - 3>)
|
||||||
|
|
||||||
|
Dimension = 1 :
|
||||||
|
|
||||||
|
Simplex : <CrPr - 0-1 - 2-3>
|
||||||
|
|
||||||
|
Faces : (<AbSm - <CrPr - 1 - 3>> <AbSm - <CrPr - 0 - 2>>)
|
||||||
|
|
||||||
|
Simplex : <CrPr - 0-1 0 2>
|
||||||
|
|
||||||
|
Faces : (<AbSm - <CrPr - 1 - 2>> <AbSm - <CrPr - 0 - 2>>)
|
||||||
|
|
||||||
|
Simplex : <CrPr - 0-1 0 3>
|
||||||
|
|
||||||
|
Faces : (<AbSm - <CrPr - 1 - 3>> <AbSm - <CrPr - 0 - 3>>)
|
||||||
|
|
||||||
|
Simplex : <CrPr 0 0 - 2-3>
|
||||||
|
|
||||||
|
Faces : (<AbSm - <CrPr - 0 - 3>> <AbSm - <CrPr - 0 - 2>>)
|
||||||
|
|
||||||
|
Simplex : <CrPr 0 1 - 2-3>
|
||||||
|
|
||||||
|
Faces : (<AbSm - <CrPr - 1 - 3>> <AbSm - <CrPr - 1 - 2>>)
|
||||||
|
|
||||||
|
Dimension = 2 :
|
||||||
|
|
||||||
|
Simplex : <CrPr 0 0-1 1 2-3>
|
||||||
|
|
||||||
|
Faces : (<AbSm - <CrPr - 0-1 0 3>>
|
||||||
|
<AbSm - <CrPr - 0-1 - 2-3>>
|
||||||
|
<AbSm - <CrPr 0 0 - 2-3>>)
|
||||||
|
|
||||||
|
Simplex : <CrPr 1 0-1 0 2-3>
|
||||||
|
|
||||||
|
Faces : (<AbSm - <CrPr 0 1 - 2-3>>
|
||||||
|
<AbSm - <CrPr - 0-1 - 2-3>>
|
||||||
|
<AbSm - <CrPr - 0-1 0 2>>)
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us take the first 1-simplex which corresponds to the diagonal of the square
|
||||||
|
(realisation of the cartesian product) and
|
||||||
|
let us build the three homomorphisms $\cal AW$, $\cal EML$ and $\Phi$:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf diagonal (crpr 0 (code '(0 1)) 0 (code '(2 3)))) ==>
|
||||||
|
|
||||||
|
<CrPr - 0-1 - 2-3>
|
||||||
|
|
||||||
|
(setf aw-mrp (aw delta-0-1 delta-2-3)) ==>
|
||||||
|
|
||||||
|
[K30 Morphism (degree 0)]
|
||||||
|
|
||||||
|
(setf eml-mrp (eml delta-0-1 delta-2-3)) ==>
|
||||||
|
|
||||||
|
[K31 Morphism (degree 0)]
|
||||||
|
|
||||||
|
(setf phi-hmy (phi delta-0-1 delta-2-3)) ==>
|
||||||
|
|
||||||
|
[K32 Morphism (degree 1)]
|
||||||
|
\end{verbatim}}
|
||||||
|
We see that
|
||||||
|
$$ {\cal AW}((0\, 1), (2\, 3)) = (0\, 1)\otimes (3) + (0) \otimes (2\, 3),$$
|
||||||
|
$$ {\cal EML}((0\, 1)\otimes (3) + (0) \otimes (2\, 3))= ((0\, 1), \eta_0 (3))
|
||||||
|
+ (\eta_0 (0), (2\, 3))$$
|
||||||
|
and that $\Phi$ applied to the diagonal returns the 2-simplex compatible
|
||||||
|
with the homotopy.
|
||||||
|
$$\Phi((0\, 1), (2\, 3))= (\eta_1(2\, 3),\eta_0(0\, 1)).$$
|
||||||
|
This is illustrated by the following diagram (the 2-simplex is the shaded triangle).
|
||||||
|
\vskip 0.50cm
|
||||||
|
%
|
||||||
|
\centerline{\psfig{figure=/home/home/siret/Kenzo/eml3.eps}}
|
||||||
|
%
|
||||||
|
\vskip 0.50cm
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(? aw-mrp 1 diagonal) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 1}
|
||||||
|
<1 * <TnPr 0 0 1 2-3>>
|
||||||
|
<1 * <TnPr 1 0-1 0 3>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? eml-mrp *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 1}
|
||||||
|
<1 * <CrPr - 0-1 0 3>>
|
||||||
|
<1 * <CrPr 0 0 - 2-3>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? phi-hmy 1 diagonal) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 2}
|
||||||
|
<-1 * <CrPr 0 0-1 1 2-3>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us inspect now the reduction generated by the function {\tt ez} and
|
||||||
|
verify on reasonably general combinations that the involved morphisms are coherent.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf ez-rdc (ez (soft-delta-infinity)(soft-delta-infinity))) ==>
|
||||||
|
|
||||||
|
[K34 Reduction]
|
||||||
|
|
||||||
|
(inspect *) ==>
|
||||||
|
|
||||||
|
REDUCTION @ #x36a55a = [K34 Reduction]
|
||||||
|
0 Class --------> #<STANDARD-CLASS REDUCTION>
|
||||||
|
1 ORGN ---------> <...>, a proper list with 3 elements
|
||||||
|
2 IDNM ---------> fixnum 34 [#x00000088]
|
||||||
|
3 H ------------> [K33 Morphism (degree 1)]
|
||||||
|
4 G ------------> [K11 Morphism (degree 0)]
|
||||||
|
5 F ------------> [K12 Morphism (degree 0)]
|
||||||
|
6 BCC ----------> [K3 Chain-Complex]
|
||||||
|
7 TCC ----------> [K6 Simplicial-Set]
|
||||||
|
\end{verbatim}}
|
||||||
|
With the comment slots we see that the morphism {\em f}, {\em g} and {\em h}
|
||||||
|
are respectively {\em aw}, {\em eml} and {\em phi}:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(orgn ez-rdc) ==>
|
||||||
|
|
||||||
|
(EILENBERG-ZILBER [K1 Simplicial-Set][K1 Simplicial-Set])
|
||||||
|
|
||||||
|
(orgn (f ez-rdc)) ==>
|
||||||
|
|
||||||
|
(AW [K1 Simplicial-Set][K1 Simplicial-Set])
|
||||||
|
|
||||||
|
(orgn (g ez-rdc)) ==>
|
||||||
|
|
||||||
|
(EML [K1 Simplicial-Set][K1 Simplicial-Set])
|
||||||
|
|
||||||
|
(orgn (h ez-rdc)) ==>
|
||||||
|
|
||||||
|
(PHI [K1 Simplicial-Set][K1 Simplicial-Set])
|
||||||
|
|
||||||
|
(setf *bc* (cmbn 3 1 (tnpr 0 (code '(0)) 3 (code '(1 2 3 4)))
|
||||||
|
10 (tnpr 1 (code '(5 6)) 2 (code '(7 8 9)))
|
||||||
|
100 (tnpr 2 (code '(10 11 12)) 1 (code '(13 14)))
|
||||||
|
1000 (tnpr 3 (code '(15 16 17 18)) 0 (code '(19))))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<1 * <TnPr 0 1-2-3-4>>
|
||||||
|
<10 * <TnPr 5-6 7-8-9>>
|
||||||
|
<100 * <TnPr 10-11-12 13-14>>
|
||||||
|
<1000 * <TnPr 15-16-17-18 19>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf *tc*
|
||||||
|
(cmbn 3 1 (crpr 0 (code '(0 1 2 3)) 0 (code '(5 6 7 8)))
|
||||||
|
10 (crpr 0 (code '(0 1 2 3)) (dgop-ext-int '(2 0)) (code '(5 6)))
|
||||||
|
100 (crpr (dgop-ext-int '(2 1)) (code '(0 1)) 0 (code '(5 6 7 8)))
|
||||||
|
1000 (crpr (dgop-ext-int '(2 1)) (code '(0 1)) 1 (code '(5 6 7)))))
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<1 * <CrPr - 0-1-2-3 - 5-6-7-8>>
|
||||||
|
<10 * <CrPr - 0-1-2-3 2-0 5-6>>
|
||||||
|
<100 * <CrPr 2-1 0-1 - 5-6-7-8>>
|
||||||
|
<1000 * <CrPr 2-1 0-1 0 5-6-7>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(pre-check-rdct ez-rdc) ==>
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
(check-rdct) ==>
|
||||||
|
|
||||||
|
*TC* =>
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<1 * <CrPr - 0-1-2-3 - 5-6-7-8>>
|
||||||
|
<10 * <CrPr - 0-1-2-3 2-0 5-6>>
|
||||||
|
<100 * <CrPr 2-1 0-1 - 5-6-7-8>>
|
||||||
|
<1000 * <CrPr 2-1 0-1 0 5-6-7>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
*BC* =>
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<1 * <TnPr 0 1-2-3-4>>
|
||||||
|
<10 * <TnPr 5-6 7-8-9>>
|
||||||
|
<100 * <TnPr 10-11-12 13-14>>
|
||||||
|
<1000 * <TnPr 15-16-17-18 19>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Checking *TDD* = 0
|
||||||
|
Result:
|
||||||
|
----------------------------------------------------------------------{CMBN 1}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Checking *BDD* = 0
|
||||||
|
Result:
|
||||||
|
----------------------------------------------------------------------{CMBN 1}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Checking *DF-FD* = 0
|
||||||
|
Result:
|
||||||
|
----------------------------------------------------------------------{CMBN 2}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Checking *DG-GD* = 0
|
||||||
|
Result:
|
||||||
|
----------------------------------------------------------------------{CMBN 2}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Checking *ID-FG* = 0
|
||||||
|
Result:
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Checking *ID-GF-DH-HD* = 0
|
||||||
|
Result:
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Checking *HH* = 0
|
||||||
|
Result:
|
||||||
|
----------------------------------------------------------------------{CMBN 5}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Checking *FH* = 0
|
||||||
|
Result:
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Checking *HG* = 0
|
||||||
|
Result:
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\section {Application to Homology}
|
||||||
|
|
||||||
|
Let us illustrate the Eilenberg-Zilber theorem\index{Eilenberg-Zilber theorem!application of} by the following example.
|
||||||
|
Let us consider the manifold $P^2{\R}\times S^3$. The theorem says that
|
||||||
|
$$H_n({\cal C}_*(P^2{\R}\times S^3)) \cong H_n({\cal C}_*(P^2{\R}) \otimes {\cal C}_*(S^3)).$$
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf p2 (moore 2 1)) ==> ;; Moore(2,1) generates the projectif plane.
|
||||||
|
|
||||||
|
[K1 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf s3 (sphere 3)) ==>
|
||||||
|
|
||||||
|
[K6 Simplicial-Set]
|
||||||
|
\end{verbatim}}
|
||||||
|
The simplicial set {\tt p2-X-s3} is obtained from the cartesian product of
|
||||||
|
the two simplicial sets {\tt p2} and {\tt s3}.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf p2-X-s3 (crts-prdc p2 s3)) ==>
|
||||||
|
|
||||||
|
[K11 Simplicial-Set]
|
||||||
|
\end{verbatim}}
|
||||||
|
Now, the chain complex {\tt p2-T-s3} is obtained from the tensor product of
|
||||||
|
the two chain complexes associated to both simplicial sets {\tt p2} and {\tt s3} (don't forget that the class
|
||||||
|
{\tt SIMPLICIAL SET} is a subclass of the class {\tt CHAIN COMPLEX}).
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf p2-T-s3 (tnsr-prdc p2 s3)) ==>
|
||||||
|
|
||||||
|
[K16 Chain-Complex]
|
||||||
|
\end{verbatim}}
|
||||||
|
Applying successively the function {\tt chcm-homology} (which computes directly the
|
||||||
|
homology groups without using a homotopy equivalence) on these chain
|
||||||
|
complexes, shows that the homology groups are effectively isomorphic,
|
||||||
|
but the method of the tensor product is much faster than the
|
||||||
|
method of the simple cartesian product, the number of generators being much more
|
||||||
|
smaller.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(time(dotimes (i 6)(chcm-homology p2-X-s3 i))) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
; cpu time (non-gc) 880 msec user, 170 msec system
|
||||||
|
; cpu time (gc) 250 msec user, 0 msec system
|
||||||
|
; cpu time (total) 1,130 msec user, 170 msec system
|
||||||
|
; real time 2,563 msec
|
||||||
|
; space allocation:
|
||||||
|
; 43,812 cons cells, 64 symbols, 162,904 other bytes
|
||||||
|
|
||||||
|
(time(dotimes (i 6)(chcm-homology p2-T-s3 i))) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
; cpu time (non-gc) 130 msec user, 20 msec system
|
||||||
|
; cpu time (gc) 0 msec user, 0 msec system
|
||||||
|
; cpu time (total) 130 msec user, 20 msec system
|
||||||
|
; real time 326 msec
|
||||||
|
; space allocation:
|
||||||
|
; 1,897 cons cells, 0 symbols, 11,232 other bytes
|
||||||
|
\end{verbatim}}
|
||||||
|
The following example shows clearly the discrepancy between the length of
|
||||||
|
the basis of two objects built respectively by cartesian product and tensor product and
|
||||||
|
having the same homology groups.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf s2 (sphere 2)) ==>
|
||||||
|
|
||||||
|
[K1 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf s3 (sphere 3)) ==>
|
||||||
|
|
||||||
|
[K6 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf s2Xs2Xs3 (crts-prdc (crts-prdc s2 s2) s3)) ==>
|
||||||
|
|
||||||
|
[K16 Simplicial-Set]
|
||||||
|
|
||||||
|
(orgn s2Xs2Xs3) ==>
|
||||||
|
|
||||||
|
(CRTS-PRDC [K23 Simplicial-Set] [K6 Simplicial-Set])
|
||||||
|
|
||||||
|
(setf s2Ts2Ts3 (tnsr-prdc (tnsr-prdc s2 s2) s3)) ==>
|
||||||
|
|
||||||
|
[K21 Chain-Complex]
|
||||||
|
|
||||||
|
(dotimes (i 7) (print(length(basis s2Xs2Xs3 i)))) ==>
|
||||||
|
|
||||||
|
1
|
||||||
|
0
|
||||||
|
3
|
||||||
|
22
|
||||||
|
138
|
||||||
|
390
|
||||||
|
480
|
||||||
|
|
||||||
|
(dotimes (i 7) (print(length(basis s2Ts2Ts3 i)))) ==>
|
||||||
|
|
||||||
|
1
|
||||||
|
0
|
||||||
|
2
|
||||||
|
1
|
||||||
|
1
|
||||||
|
2
|
||||||
|
0
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\subsection {Searching homology process for cartesian products}
|
||||||
|
|
||||||
|
When\index{searching homology!cartesian products} the {\tt search-efhm} method recognizes a cartesian product,
|
||||||
|
by means of the comment list (slot {\tt orgn}) of the object, it builds a homotopy equivalence where
|
||||||
|
the right bottom chain complex is created by the function {\tt ez}.
|
||||||
|
The process may be recursif as shown by the very definition of the method:
|
||||||
|
\vskip 0.35cm
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(defun LEFT-CRTS-PRDC-EFHM (smst1 smst2)
|
||||||
|
(declare (type simplicial-set smst1 smst2))
|
||||||
|
(the homotopy-equivalence
|
||||||
|
(build-hmeq
|
||||||
|
:lrdct (trivial-rdct (crts-prdc smst1 smst2))
|
||||||
|
:rrdct (ez smst1 smst2))))
|
||||||
|
|
||||||
|
(defmethod SEARCH-EFHM (smst (orgn (eql 'crts-prdc)))
|
||||||
|
(declare (type simplicial-set smst))
|
||||||
|
(the homotopy-equivalence
|
||||||
|
(cmps
|
||||||
|
(left-crts-prdc-efhm (second (orgn smst))
|
||||||
|
(third (orgn smst)))
|
||||||
|
(tnsr-prdc (efhm (second (orgn smst)))
|
||||||
|
(efhm (third (orgn smst)))))))
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\subsection* {Lisp files concerned in this chapter}
|
||||||
|
|
||||||
|
{\tt eilenberg-zilber.lisp}, {\tt searching-homology.lisp}.
|
||||||
|
|
||||||
418
doc/doc_src/fibrdoc.tex
Normal file
418
doc/doc_src/fibrdoc.tex
Normal file
@ -0,0 +1,418 @@
|
|||||||
|
\chapter {Fibrations}
|
||||||
|
|
||||||
|
In {tt Kenzo}, the fibration\index{fibrations} theory is applied in the simplicial frame
|
||||||
|
and limited to the {\em simplicial principal fiber spaces}.
|
||||||
|
|
||||||
|
\section {Notion of fibration}
|
||||||
|
|
||||||
|
Let $B$ a simplicial set and $\cal G$ a simplicial group. A {\em (right--hand) simplicial fibration} is
|
||||||
|
defined by a {\bf twisting operator}\index{fibration!twisting operator}, $\tau : B \longrightarrow {\cal G}$,
|
||||||
|
of degree $-1$.
|
||||||
|
For any dimension $n$ and for any element $b \in B_n$, the face and degeneracy operators must
|
||||||
|
satisfy the following relations:
|
||||||
|
\begin{eqnarray*}
|
||||||
|
\partial_i(\tau b) & = & \tau(\partial_i b), \qquad i < n-1, \\
|
||||||
|
\partial_{n-1}(\tau b) & = & [\tau(\partial_n b)]^{-1}.\tau(\partial_{n-1} b), \\
|
||||||
|
\eta_i(\tau b) & = & \tau (\eta_i b), \qquad i \leq n-1, \\
|
||||||
|
e_n & = & \tau(\eta_n b).
|
||||||
|
\end{eqnarray*}
|
||||||
|
where $e_n$ is the neutral element of ${\cal G}_n$.
|
||||||
|
\vskip 0.30cm
|
||||||
|
Now, the twisting operator $\tau$ defines a fibration of base space $B$, of fiber space $\cal G$
|
||||||
|
and of total space $B \times_{\tau} {\cal G}$, whose simplicial components are:
|
||||||
|
$$ (B \times_{\tau} {\cal G})_n = (B \times {\cal G})_n = (B_n \times {\cal G}_n), $$
|
||||||
|
and whose face operators are defined,
|
||||||
|
in any dimension $n$ and for any pair $(b,g),\, b \in B_n,\, g \in {\cal G}_n$ by:
|
||||||
|
\begin{eqnarray*}
|
||||||
|
\partial_i(b,g) & = & (\partial_i b, \partial_i g), \quad i < n, \\
|
||||||
|
\partial_n(b,g) & = & (\partial_n b, \tau(b).\partial_n g).
|
||||||
|
\end{eqnarray*}
|
||||||
|
As it is well known, there are $4$ natural choices for such a definition. The action of the
|
||||||
|
group can be from the right or from the left and the critical index can be the last one ($n$) or
|
||||||
|
the first one ($0$). In {\tt Kenzo}, the implementor has chosen the non--usual one (i.e. action
|
||||||
|
on the right hand and critical index, the last one), leading to the
|
||||||
|
Szczarba formulas, the best choice in the case of the loop spaces.
|
||||||
|
|
||||||
|
\section {Building a twisting operator}
|
||||||
|
|
||||||
|
To build a twisting operator, one uses the function {\tt build-smmr} designed as a convenient tool
|
||||||
|
to build a simplicial morphism. The source (keyword {\tt :sorc}) is the base space, a {\bf reduced} simplicial
|
||||||
|
set, the target (keyword {\tt :trgt}) is the fiber space, a simplicial group. The degree is $-1$ and
|
||||||
|
the morphism (keyword {\tt :sintr}) is the internal lisp function implementing $\tau$. See the example
|
||||||
|
below, where $\tau$ is a simple twisting operator, applying in particular the only (geometrical) simplex
|
||||||
|
of degree $2$ of $S^2$ upon the bar object $[1] \in (K({\Z}_2,1))_1$. \par
|
||||||
|
In {\tt Kenzo}, the type {\tt FIBRATION} is defined. An object of this type must be of type
|
||||||
|
{\tt SIMPLICIAL-MRPH}, the degree of the corresponding morphism being $-1$. To apply the morphism,
|
||||||
|
one uses the well known macro {\tt ?} or the special macro {\tt tw-a-sintr3}.
|
||||||
|
\vskip 0.30cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt ?} {\em twop dmns gmsm} \hfill {\em [Macro]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Apply the twisting operator {\em twop} to the geometrical simplex {\em gmsm} in dimension
|
||||||
|
{\em dmns}. Of course, {\tt ?} works as well with a combination of geometric simplices
|
||||||
|
as in {\tt (? {\em twop cmbn})}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt tw-a-sintr3} {\em sintr dmns absm bspn} \hfill {\em [Macro]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Apply the internal lisp function {\em sintr} implementing a twisting o\-pe\-ra\-tor to the
|
||||||
|
abstract simplex {\em absm} in dimension {\em dmns}. The base point {\em bspn} of the
|
||||||
|
target simplicial set (a simplicial group) must be given, since the function may return the neutral
|
||||||
|
element in dimension $dmns - 1$. \par}
|
||||||
|
}
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\section {Constructing the total space}
|
||||||
|
|
||||||
|
The total space\index{fibration!total space} associated to a twisting operator is constructed
|
||||||
|
by the function {\tt fibration-total}.
|
||||||
|
\vskip 0.30cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt fibration-total} {\em fibration} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the simplicial set, total space of the fibration. This function
|
||||||
|
extracts from the simplicial morphism {\em fibration} (a previously defined twisting operator),
|
||||||
|
the base space (a simplicial set)
|
||||||
|
and the fiber space (a simplicial group) and constructs
|
||||||
|
the twisted cartesian product of these simplicial sets.
|
||||||
|
The face function is built using the internal function {\tt fibration-total-face}.
|
||||||
|
The non--degenerate simplices of the total space are coded exactly as those of
|
||||||
|
the non--twisted product ($ B \times {\cal G}$) obtained by the lisp call
|
||||||
|
{\tt (crts-prdc {\em base} {\em fiber})}. This non-twisted cartesian product is saved
|
||||||
|
into the slot {\tt grmd} (graded module) of the instance object.
|
||||||
|
If the base space and the fiber space are both of type {\tt KAN}, then the filling function is computed
|
||||||
|
by the internal function {\tt fibration-kfll} and the function {\tt fibration-total}
|
||||||
|
returns an object of type {\tt KAN}. \par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection* {Examples}
|
||||||
|
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
|
||||||
|
(setf s2 (sphere 2)) ==>
|
||||||
|
|
||||||
|
[K1 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf kz2 (k-z2-1)) ==>
|
||||||
|
|
||||||
|
[K6 Abelian-Simplicial-Group]
|
||||||
|
|
||||||
|
(setf tw2 (build-smmr
|
||||||
|
:sorc s2
|
||||||
|
:trgt kz2
|
||||||
|
:degr -1
|
||||||
|
:sintr #'(lambda (dmns gmsm) (absm 0 1))
|
||||||
|
:orgn '(s2-tw-kz2))) ==>
|
||||||
|
|
||||||
|
[K18 Fibration]
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(inspect tw2) ==>
|
||||||
|
|
||||||
|
SIMPLICIAL-MRPH @ #x4a54c2 = [K18 Fibration]
|
||||||
|
0 Class --------> #<STANDARD-CLASS SIMPLICIAL-MRPH>
|
||||||
|
1 ORGN ---------> (S2-TW-KZ2), a proper list with 1 element
|
||||||
|
2 IDNM ---------> fixnum 18 [#x00000048]
|
||||||
|
3 RSLTS --------> simple T vector (15) = #(#() #() #() ...)
|
||||||
|
4 ?-CLNM -------> fixnum 0 [#x00000000]
|
||||||
|
5 ???-CLNM -----> fixnum 0 [#x00000000]
|
||||||
|
6 STRT ---------> The symbol :GNRT
|
||||||
|
7 INTR ---------> The symbol NIL
|
||||||
|
8 DEGR ---------> fixnum -1 [#xfffffffc]
|
||||||
|
9 TRGT ---------> [K6 Abelian-Simplicial-Group]
|
||||||
|
10 SORC ---------> [K1 Simplicial-Set]
|
||||||
|
11 SINTR --------> #<Interpreted Function (unnamed) @ #x4a545a>
|
||||||
|
\end{verbatim}}
|
||||||
|
The following statement show how to apply the twisting operator to a
|
||||||
|
{\em geometrical} simplex. But if we have an abstract simplex, one must
|
||||||
|
use the special function {\tt tw-a-sintr3}.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(? tw2 2 's2) ==>
|
||||||
|
|
||||||
|
<AbSm - 1>
|
||||||
|
|
||||||
|
(tw-a-sintr3 (sintr tw2) 3 (absm 1 's2) nil) ==>
|
||||||
|
|
||||||
|
<AbSm 0 1>
|
||||||
|
|
||||||
|
(tw-a-sintr3 (sintr tw2) 3 (absm 7 '*) nil) ==>
|
||||||
|
|
||||||
|
<AbSm 1-0 NIL>
|
||||||
|
|
||||||
|
(dotimes (i 3) (print (tw-a-sintr3 (sintr tw2) 3
|
||||||
|
(absm i 's2) nil))) ==>
|
||||||
|
|
||||||
|
<AbSm - 1>
|
||||||
|
<AbSm 0 1>
|
||||||
|
<AbSm 1 1>
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us build the total space of the fibration (a simplicial set). We show some basis and compute
|
||||||
|
some homology groups. The method to compute the homology groups will be explained in a following
|
||||||
|
chapter.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf tot-spc2 (fibration-total tw2)) ==>
|
||||||
|
|
||||||
|
[K24 Simplicial-Set]
|
||||||
|
|
||||||
|
(inspect tot-spc2) ==>
|
||||||
|
|
||||||
|
SIMPLICIAL-SET @ #x4a87f2 = [K24 Simplicial-Set]
|
||||||
|
0 Class --------> #<STANDARD-CLASS SIMPLICIAL-SET>
|
||||||
|
1 ORGN ---------> <...>, a proper list with 2 elements
|
||||||
|
2 IDNM ---------> fixnum 24 [#x00000060]
|
||||||
|
3 EFHM ---------> The symbol :--UNBOUND--
|
||||||
|
4 GRMD ---------> [K19 Simplicial-Set]
|
||||||
|
5 DFFR ---------> [K25 Morphism (degree -1)]
|
||||||
|
6 BSGN ---------> <CrPr - * - 0>, a dotted list with 3 elements
|
||||||
|
7 BASIS --------> #<Closure (FLET CRTS-PRDC-BASIS RSLT) @ #x4a735a>
|
||||||
|
8 CMPR ---------> #<Closure (FLET CRTS-PRDC-CMPR RSLT) [#'SPHERE-CMPR] @ #x4a732a>
|
||||||
|
9 CPRD ---------> [K28 Morphism (degree 0)]
|
||||||
|
10 FACE ---------> #<Closure (FLET FIBRATION-TOTAL-FACE RSLT) @ #x4a8752>
|
||||||
|
|
||||||
|
(basis tot-spc2 0) ==>
|
||||||
|
|
||||||
|
(<CrPr - * - 0>)
|
||||||
|
|
||||||
|
(basis tot-spc2 1) ==>
|
||||||
|
|
||||||
|
(<CrPr 0 * - 1>)
|
||||||
|
|
||||||
|
(basis tot-spc2 2) ==>
|
||||||
|
|
||||||
|
(<CrPr - S2 - 2> <CrPr - S2 0 1> <CrPr - S2 1 1> <CrPr - S2 1-0 0> <CrPr 1-0 * - 2>)
|
||||||
|
|
||||||
|
(basis tot-spc2 3) ==>
|
||||||
|
|
||||||
|
(<CrPr 0 S2 - 3> <CrPr 0 S2 1 2> <CrPr 0 S2 2 2> <CrPr 0 S2 2-1 1> <CrPr 1 S2 - 3>
|
||||||
|
<CrPr 1 S2 0 2> <CrPr 1 S2 2 2> <CrPr 1 S2 2-0 1> <CrPr 2 S2 - 3> <CrPr 2 S2 0 2>
|
||||||
|
<CrPr 2 S2 1 2> <CrPr 2 S2 1-0 1> <CrPr 2-1-0 * - 3>)
|
||||||
|
|
||||||
|
(homology tot-spc2 0 8) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z/4Z
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Component Z/4Z
|
||||||
|
|
||||||
|
Homology in dimension 6 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
Homology in dimension 7 :
|
||||||
|
|
||||||
|
Component Z/4Z
|
||||||
|
\end{verbatim}}
|
||||||
|
In the following example, we take $K({\Z},1)$ and build a similar twisting o\-pe\-ra\-tor. Note
|
||||||
|
that in $(K({\Z},1))_1$, the bar object $[1]$ is represented as {\tt (1)} whereas in $K({\Z}_2,1)$ it
|
||||||
|
is {\tt 1}. In this case, it is known that the total space is a model of the sphere $S^3$
|
||||||
|
(Hopf fibration - see below).
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf s2 (sphere 2)) ==>
|
||||||
|
|
||||||
|
[K1 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf kz1 (k-z-1)) ==>
|
||||||
|
|
||||||
|
[K6 Abelian-Simplicial-Group]
|
||||||
|
|
||||||
|
(setf tw1 (build-smmr
|
||||||
|
:sorc s2
|
||||||
|
:trgt kz1
|
||||||
|
:degr -1
|
||||||
|
:sintr #'(lambda (dmns gmsm) (absm 0 (list 1)))
|
||||||
|
:orgn '(s2-tw-kz1))) ==>
|
||||||
|
|
||||||
|
[K18 Fibration]
|
||||||
|
|
||||||
|
(setf tot-spc1 (fibration-total tw1)) ==>
|
||||||
|
|
||||||
|
[K24 Simplicial-Set]
|
||||||
|
|
||||||
|
(homology tot-spc1 0 6) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
We may also obtain the boundary and faces of elements of the total space:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf elem (crpr 0 's2 0 '(1 2))) ==>
|
||||||
|
|
||||||
|
<CrPr - S2 - (1 2)>
|
||||||
|
|
||||||
|
(? tot-spc1 2 elem) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 1}
|
||||||
|
<2 * <CrPr 0 * - (2)>>
|
||||||
|
<-1 * <CrPr 0 * - (3)>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? tot-spc1 *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 0}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(dotimes (i 3) (print (face tot-spc1 i 2 elem))) ==>
|
||||||
|
|
||||||
|
<AbSm - <CrPr 0 * - (2)>>
|
||||||
|
<AbSm - <CrPr 0 * - (3)>>
|
||||||
|
<AbSm - <CrPr 0 * - (2)>>
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
The system {\tt Kenzo} provides the function {\tt hopf} to build
|
||||||
|
Hopf fibrations\index{fibrations! of Hopf}. The lisp definition is the following:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(defun HOPF (n)
|
||||||
|
(declare (fixnum n))
|
||||||
|
(the simplicial-mrph
|
||||||
|
(build-smmr
|
||||||
|
:sorc (sphere 2)
|
||||||
|
:trgt (k-z-1)
|
||||||
|
:degr -1
|
||||||
|
:sintr (hopf-sintr n)
|
||||||
|
:orgn `(hopf ,n))))
|
||||||
|
|
||||||
|
(defun HOPF-SINTR (n)
|
||||||
|
(declare (fixnum n))
|
||||||
|
(flet ((rslt (dmns gmsm)
|
||||||
|
(declare (ignore dmns gmsm))
|
||||||
|
(if (zerop n)
|
||||||
|
(absm 1 +empty-list+)
|
||||||
|
(absm 0 (list n)))))
|
||||||
|
(the sintr #'rslt)))
|
||||||
|
\end{verbatim}}
|
||||||
|
In the definition of the lisp function for the slot {\tt sintr}, we see that the simplicial morphism
|
||||||
|
applies in particular the only geometric simplex in dimension $2$ of $S^2$ onto the bar object
|
||||||
|
$[n] \in (K({\Z},1))_1$. If $n=0$, this is $\eta_0 [\ ]$, i.e. the $0$--degeneracy of the base point
|
||||||
|
{\tt NIL}. We give some examples of some fibrations and of the corresponding total spaces in function of the
|
||||||
|
parameter {\tt n}. First we generate $4$ fibrations and apply the twisting operator
|
||||||
|
on the geometrical simplex {\tt s2}.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf h1 (hopf 1) h2 (hopf 2) h3 (hopf 3) h10 (hopf 10))
|
||||||
|
|
||||||
|
(mapcar #'(lambda (h) (funcall (sintr (eval h)) 2 's2)) '(h1 h2 h3 h10)) ==>
|
||||||
|
|
||||||
|
(<AbSm - (1)> <AbSm - (2)> <AbSm - (3)> <AbSm - (10)>)
|
||||||
|
\end{verbatim}}
|
||||||
|
Then we generate the corresponding total space and get some homology groups.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf t1 (fibration-total h1) t2 (fibration-total h2)
|
||||||
|
t3 (fibration-total h3) t10 (fibration-total h10))
|
||||||
|
|
||||||
|
(homology t1 0 10) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
......... all next groups null .....
|
||||||
|
|
||||||
|
(homology t2 0 10) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
......... all next groups null .....
|
||||||
|
|
||||||
|
(homology t3 0 4) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z/3Z
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
(homology t10 1) ==>
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z/10Z
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\subsection* {Lisp file concerned in this chapter}
|
||||||
|
|
||||||
|
{\tt fibrations.lisp}.
|
||||||
|
|
||||||
|
|
||||||
373
doc/doc_src/graph.eps
Normal file
373
doc/doc_src/graph.eps
Normal file
@ -0,0 +1,373 @@
|
|||||||
|
%!PS-Adobe-2.0 EPSF-2.0
|
||||||
|
%%Title: graph.fig
|
||||||
|
%%Creator: fig2dev Version 3.1 Patchlevel 2
|
||||||
|
%%CreationDate: Wed Feb 25 11:36:02 1998
|
||||||
|
%%For: siret@mozart (Yvon Siret)
|
||||||
|
%Magnification: 0.75
|
||||||
|
%%Orientation: Portrait
|
||||||
|
%%BoundingBox: 0 0 367 313
|
||||||
|
%%Pages: 0
|
||||||
|
%%BeginSetup
|
||||||
|
%%IncludeFeature: *PageSize Letter
|
||||||
|
%%EndSetup
|
||||||
|
%%EndComments
|
||||||
|
/$F2psDict 200 dict def
|
||||||
|
$F2psDict begin
|
||||||
|
$F2psDict /mtrx matrix put
|
||||||
|
/col-1 {0 setgray} bind def
|
||||||
|
/col0 {0.000 0.000 0.000 srgb} bind def
|
||||||
|
/col1 {0.000 0.000 1.000 srgb} bind def
|
||||||
|
/col2 {0.000 1.000 0.000 srgb} bind def
|
||||||
|
/col3 {0.000 1.000 1.000 srgb} bind def
|
||||||
|
/col4 {1.000 0.000 0.000 srgb} bind def
|
||||||
|
/col5 {1.000 0.000 1.000 srgb} bind def
|
||||||
|
/col6 {1.000 1.000 0.000 srgb} bind def
|
||||||
|
/col7 {1.000 1.000 1.000 srgb} bind def
|
||||||
|
/col8 {0.000 0.000 0.560 srgb} bind def
|
||||||
|
/col9 {0.000 0.000 0.690 srgb} bind def
|
||||||
|
/col10 {0.000 0.000 0.820 srgb} bind def
|
||||||
|
/col11 {0.530 0.810 1.000 srgb} bind def
|
||||||
|
/col12 {0.000 0.560 0.000 srgb} bind def
|
||||||
|
/col13 {0.000 0.690 0.000 srgb} bind def
|
||||||
|
/col14 {0.000 0.820 0.000 srgb} bind def
|
||||||
|
/col15 {0.000 0.560 0.560 srgb} bind def
|
||||||
|
/col16 {0.000 0.690 0.690 srgb} bind def
|
||||||
|
/col17 {0.000 0.820 0.820 srgb} bind def
|
||||||
|
/col18 {0.560 0.000 0.000 srgb} bind def
|
||||||
|
/col19 {0.690 0.000 0.000 srgb} bind def
|
||||||
|
/col20 {0.820 0.000 0.000 srgb} bind def
|
||||||
|
/col21 {0.560 0.000 0.560 srgb} bind def
|
||||||
|
/col22 {0.690 0.000 0.690 srgb} bind def
|
||||||
|
/col23 {0.820 0.000 0.820 srgb} bind def
|
||||||
|
/col24 {0.500 0.190 0.000 srgb} bind def
|
||||||
|
/col25 {0.630 0.250 0.000 srgb} bind def
|
||||||
|
/col26 {0.750 0.380 0.000 srgb} bind def
|
||||||
|
/col27 {1.000 0.500 0.500 srgb} bind def
|
||||||
|
/col28 {1.000 0.630 0.630 srgb} bind def
|
||||||
|
/col29 {1.000 0.750 0.750 srgb} bind def
|
||||||
|
/col30 {1.000 0.880 0.880 srgb} bind def
|
||||||
|
/col31 {1.000 0.840 0.000 srgb} bind def
|
||||||
|
|
||||||
|
end
|
||||||
|
save
|
||||||
|
-39.0 325.0 translate
|
||||||
|
1 -1 scale
|
||||||
|
|
||||||
|
/cp {closepath} bind def
|
||||||
|
/ef {eofill} bind def
|
||||||
|
/gr {grestore} bind def
|
||||||
|
/gs {gsave} bind def
|
||||||
|
/sa {save} bind def
|
||||||
|
/rs {restore} bind def
|
||||||
|
/l {lineto} bind def
|
||||||
|
/m {moveto} bind def
|
||||||
|
/rm {rmoveto} bind def
|
||||||
|
/n {newpath} bind def
|
||||||
|
/s {stroke} bind def
|
||||||
|
/sh {show} bind def
|
||||||
|
/slc {setlinecap} bind def
|
||||||
|
/slj {setlinejoin} bind def
|
||||||
|
/slw {setlinewidth} bind def
|
||||||
|
/srgb {setrgbcolor} bind def
|
||||||
|
/rot {rotate} bind def
|
||||||
|
/sc {scale} bind def
|
||||||
|
/sd {setdash} bind def
|
||||||
|
/ff {findfont} bind def
|
||||||
|
/sf {setfont} bind def
|
||||||
|
/scf {scalefont} bind def
|
||||||
|
/sw {stringwidth} bind def
|
||||||
|
/tr {translate} bind def
|
||||||
|
/tnt {dup dup currentrgbcolor
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
|
||||||
|
bind def
|
||||||
|
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
|
||||||
|
4 -2 roll mul srgb} bind def
|
||||||
|
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
|
||||||
|
/$F2psEnd {$F2psEnteredState restore end} def
|
||||||
|
%%EndProlog
|
||||||
|
|
||||||
|
$F2psBegin
|
||||||
|
10 setmiterlimit
|
||||||
|
n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
|
||||||
|
0.04500 0.04500 sc
|
||||||
|
7.500 slw
|
||||||
|
% Arc
|
||||||
|
gs n 3948.2 2008.9 136.6 -154.4 41.8 arc
|
||||||
|
gs col-1 s gr
|
||||||
|
gr
|
||||||
|
|
||||||
|
% Arc
|
||||||
|
gs n 5625.0 4875.0 167.7 -153.4 26.6 arc
|
||||||
|
gs col-1 s gr
|
||||||
|
gr
|
||||||
|
|
||||||
|
% Arc
|
||||||
|
gs n 7050.0 5550.0 1060.7 -8.1 98.1 arc
|
||||||
|
gs col-1 s gr
|
||||||
|
gr
|
||||||
|
|
||||||
|
% Arc
|
||||||
|
gs n 5036.1 5859.1 777.6 107.7 -168.2 arc
|
||||||
|
gs col-1 s gr
|
||||||
|
gr
|
||||||
|
|
||||||
|
% Arc
|
||||||
|
gs n 2550.0 4650.0 1060.7 98.1 171.9 arc
|
||||||
|
gs col-1 s gr
|
||||||
|
gr
|
||||||
|
|
||||||
|
% Arc
|
||||||
|
gs n 2509.1 1595.5 1013.6 -174.6 -79.1 arc
|
||||||
|
gs col-1 s gr
|
||||||
|
gr
|
||||||
|
|
||||||
|
% Arc
|
||||||
|
gs n 4443.8 1106.2 514.9 -100.5 10.5 arc
|
||||||
|
gs col-1 s gr
|
||||||
|
gr
|
||||||
|
|
||||||
|
% Polyline
|
||||||
|
n 3300 1200 m 3300 1200 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 3300 1200 m 3300 1200 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
3453 1170 m 3573 1200 l 3453 1230 l 3615 1230 l 3615 1170 l cp clip
|
||||||
|
n 2400 1200 m 3600 1200 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 3453 1170 m 3573 1200 l 3453 1230 l col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 3600 1200 m 4800 1200 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
5628 1170 m 5748 1200 l 5628 1230 l 5790 1230 l 5790 1170 l cp clip
|
||||||
|
n 4800 1200 m 5775 1200 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 5628 1170 m 5748 1200 l 5628 1230 l col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 5700 1200 m 7200 1200 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
7230 1953 m 7200 2073 l 7170 1953 l 7170 2115 l 7230 2115 l cp clip
|
||||||
|
n 7200 1200 m 7200 2100 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 7230 1953 m 7200 2073 l 7170 1953 l col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 7200 2100 m 7200 3300 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
7230 4353 m 7200 4473 l 7170 4353 l 7170 4515 l 7230 4515 l cp clip
|
||||||
|
n 7200 3300 m 7200 4500 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 7230 4353 m 7200 4473 l 7170 4353 l col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 7200 4500 m 7200 5700 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
5847 5730 m 5727 5700 l 5847 5670 l 5685 5670 l 5685 5730 l cp clip
|
||||||
|
n 7200 5700 m 5700 5700 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 5847 5730 m 5727 5700 l 5847 5670 l col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 5700 5700 m 4500 5700 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 3600 5700 m 3600 5700 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
3447 5730 m 3327 5700 l 3447 5670 l 3285 5670 l 3285 5730 l cp clip
|
||||||
|
n 4500 5700 m 3300 5700 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 3447 5730 m 3327 5700 l 3447 5670 l col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 3300 5700 m 2400 5700 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
2370 4647 m 2400 4527 l 2430 4647 l 2430 4485 l 2370 4485 l cp clip
|
||||||
|
n 2400 5700 m 2400 4500 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 2370 4647 m 2400 4527 l 2430 4647 l col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 2400 4500 m 2400 3600 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
2370 2547 m 2400 2427 l 2430 2547 l 2430 2385 l 2370 2385 l cp clip
|
||||||
|
n 2400 3600 m 2400 2400 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 2370 2547 m 2400 2427 l 2430 2547 l col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 2400 2400 m 2400 1200 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
3693 2172 m 3804 2117 l 3732 2218 l 3856 2113 l 3817 2067 l cp clip
|
||||||
|
n 2400 3300 m 3825 2100 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 3693 2172 m 3804 2117 l 3732 2218 l col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 3825 2100 m 4950 1200 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
5926 2270 m 5982 2379 l 5881 2309 l 5987 2431 l 6032 2392 l cp clip
|
||||||
|
n 4950 1200 m 6000 2400 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 5926 2270 m 5982 2379 l 5881 2309 l col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 6000 2400 m 7200 3750 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
5913 4667 m 5797 4709 l 5879 4617 l 5746 4709 l 5780 4758 l cp clip
|
||||||
|
n 7200 3750 m 5775 4725 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 5913 4667 m 5797 4709 l 5879 4617 l col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 5775 4725 m 4275 5700 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
3369 4633 m 3317 4520 l 3416 4595 l 3314 4469 l 3267 4507 l cp clip
|
||||||
|
n 4275 5700 m 3300 4500 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 3369 4633 m 3317 4520 l 3416 4595 l col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 3300 4500 m 2400 3300 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 2400 1200 m 3825 1950 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
4987 2601 m 5076 2686 l 4957 2653 l 5098 2733 l 5128 2681 l cp clip
|
||||||
|
n 4050 2100 m 5100 2700 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 4987 2601 m 5076 2686 l 4957 2653 l col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 5100 2700 m 7200 3750 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
4682 4407 m 4775 4487 l 4655 4461 l 4800 4534 l 4827 4480 l cp clip
|
||||||
|
n 2400 3300 m 4800 4500 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 4682 4407 m 4775 4487 l 4655 4461 l col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 4800 4500 m 5475 4800 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 5775 4950 m 7200 5700 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
8130 3453 m 8100 3573 l 8070 3453 l 8070 3615 l 8130 3615 l cp clip
|
||||||
|
n 8100 2100 m 8100 3600 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 8130 3453 m 8100 3573 l 8070 3453 l col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 8100 3600 m 8100 5400 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 6900 6600 m 4800 6600 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
1470 3747 m 1500 3627 l 1530 3747 l 1530 3585 l 1470 3585 l cp clip
|
||||||
|
n 1500 4800 m 1500 3600 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 1470 3747 m 1500 3627 l 1530 3747 l col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 1500 3600 m 1500 1500 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 2700 600 m 4350 600 l 4275 600 l gs col-1 s gr
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
n 900 300 m 9000 300 l 9000 7200 l 900 7200 l 900 300 l gs col-1 s gr
|
||||||
|
7.500 slw
|
||||||
|
% Interp Spline
|
||||||
|
gs n 7200 1200 m
|
||||||
|
7558.9 1333.9 7708.9 1408.9 7800 1500 curveto
|
||||||
|
7891.1 1591.1 7966.1 1741.1 8100 2100 curveto
|
||||||
|
gs col-1 s gr
|
||||||
|
gr
|
||||||
|
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
2400 1050 m
|
||||||
|
gs 1 -1 sc (A) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
5100 1050 m
|
||||||
|
gs 1 -1 sc (B) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
7200 1050 m
|
||||||
|
gs 1 -1 sc (C) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
7425 3750 m
|
||||||
|
gs 1 -1 sc (D) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
7350 5850 m
|
||||||
|
gs 1 -1 sc (E) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
3975 6000 m
|
||||||
|
gs 1 -1 sc (F) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
2250 6000 m
|
||||||
|
gs 1 -1 sc (G) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
2100 3375 m
|
||||||
|
gs 1 -1 sc (H) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
3600 1125 m
|
||||||
|
gs 1 -1 sc (e1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
6000 1125 m
|
||||||
|
gs 1 -1 sc (e2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
7350 2625 m
|
||||||
|
gs 1 -1 sc (e3) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
7350 4950 m
|
||||||
|
gs 1 -1 sc (e4) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
5700 6000 m
|
||||||
|
gs 1 -1 sc (e5) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
3000 6000 m
|
||||||
|
gs 1 -1 sc (e6) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
2025 4500 m
|
||||||
|
gs 1 -1 sc (e7) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
2025 2400 m
|
||||||
|
gs 1 -1 sc (e8) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
3150 2400 m
|
||||||
|
gs 1 -1 sc (f1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
6000 2175 m
|
||||||
|
gs 1 -1 sc (f2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
6300 4575 m
|
||||||
|
gs 1 -1 sc (f3) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
3075 4800 m
|
||||||
|
gs 1 -1 sc (f4) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
4800 2400 m
|
||||||
|
gs 1 -1 sc (g1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
8400 3900 m
|
||||||
|
gs 1 -1 sc (g2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
4200 4050 m
|
||||||
|
gs 1 -1 sc (g3) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 210.00 scf sf
|
||||||
|
1125 3000 m
|
||||||
|
gs 1 -1 sc (g4) col-1 sh gr
|
||||||
|
$F2psEnd
|
||||||
|
rs
|
||||||
485
doc/doc_src/homlgdoc.tex
Normal file
485
doc/doc_src/homlgdoc.tex
Normal file
@ -0,0 +1,485 @@
|
|||||||
|
\chapter {The Homology module}
|
||||||
|
|
||||||
|
This\index{Homology groups!functions for computing} chapter is devoted to the description of the functions for
|
||||||
|
computing the homology groups of a chain complex.
|
||||||
|
|
||||||
|
\section {List of functions}
|
||||||
|
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt chcm-homology} {\em chcm dim} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return a description of the homology group in dimension {\em dim} of the chain complex {\em chcm}
|
||||||
|
in terms of {\em components} of the form ${\Z}$ or ${\Z}/{n\, {\Z}}$.
|
||||||
|
The desired homology group is the direct sum of these
|
||||||
|
components. No canonical presentation is looked for, so that, if for instance,
|
||||||
|
a homology group is ${\Z}/{6\, {\Z}}$, it can be displayed as one component
|
||||||
|
${\Z}/{6\, {\Z}}$ or two components ${\Z}/{2\, {\Z}}$ and ${\Z}/{3\, {\Z}}$.
|
||||||
|
On the other hand, if the component part is void, this means the homology
|
||||||
|
group is the null group. The function {\tt chcm-homology} implements the
|
||||||
|
usual algorithms to compute the homology group associated to two integer matrices,
|
||||||
|
the composite of which is null. The current version is verbose: for each group asked for,
|
||||||
|
the program displays the rank of each integer matrix and each generator of the source
|
||||||
|
module. Timing indications are also given. In the examples, only the components are printed.
|
||||||
|
\par }
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt chcm-homology-gen} {\em chcm n} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
This function computes the homology group in dimension $n$ of the chain complex
|
||||||
|
{\em chcm} and prints a generator of degree $n$ in {\em chcm} for each component of
|
||||||
|
the group (in general a combination of the basis elements of degree $n$ of the
|
||||||
|
chain complex).\par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt chcm-mat} {\em chcm n} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return the the matrix of the li\-ne\-ar homomorphism
|
||||||
|
$d_n: C_n \rightarrow C_{n-1}$, where
|
||||||
|
$C_n$ is the $n$--th chain group of the chain complex {\em chcm}. More precisely,
|
||||||
|
each column of this matrix contains the integer coefficients in the basis of $C_{n-1}$ of
|
||||||
|
the image by $d_n$ of each basis element of $C_n$. So the number of lines (resp. columns) of the matrix is
|
||||||
|
the number of elements of the basis of $C_{n-1}$ (resp. $C_n$).
|
||||||
|
The homology group
|
||||||
|
${\cal H}_n={\cal Z}_n/{\cal B}_n$ is computed from the two matrices
|
||||||
|
{\tt MZ} $=$ {\tt chcm-mat {\em (chcm,n)}} and
|
||||||
|
{\tt NB} $=$ {\tt chcm-mat {\em (chcm, n+1)}}. By well known algorithms
|
||||||
|
on matrix reduction\footnote{{\bf S. MacLane \& G. Birkhoff}, {\em Algebra},
|
||||||
|
The MacMillan Company, 1967}, the matrix {\tt MZ} is used
|
||||||
|
to find a basis for the kernel ${\cal Z}_n$ and the matrix {\tt NB}, to find in ${\cal Z}_n$ a presentation
|
||||||
|
of the group ${\cal H}_n={\cal Z}_n/{\cal B}_n$ by generators and relations. This is performed
|
||||||
|
by the internal function {\tt homologie} (beware: not {\tt homology}!).\par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt homology} {\em chcm degr1 {\tt \&optional} (degr2 (1+ degr1))} \hfill {\em [Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Compute the homology groups from $degr_1$ to $degr_2-1$ (default: only $degr_1$, if {\em degr2} is omitted) of
|
||||||
|
the right chain complex of the homotopy equivalence contained in the slot {\tt :efhm} of the
|
||||||
|
chain complex instance {\em chcm}. At the creation of the chain complex, this slot is unbound and
|
||||||
|
is set during execution by an adequate CLOS method. If this slot cannot be bound, an error is returned and
|
||||||
|
the homology groups cannot be computed. A more elaborated explanation of the mechanism used by the function
|
||||||
|
{\tt homology} is given in the section: {\bf The general method for computing homology groups}. \par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection* {Example}
|
||||||
|
|
||||||
|
Let us get the homology groups for the example {\tt diabolo} of the chapter $1$.
|
||||||
|
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(chcm-homology diabolo 0) ==>
|
||||||
|
|
||||||
|
Computing boundary-matrix in dimension 0.
|
||||||
|
Rank of the source-module : 6.
|
||||||
|
...
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
(chcm-homology diabolo 1) ==>
|
||||||
|
|
||||||
|
Computing boundary-matrix in dimension 1.
|
||||||
|
Rank of the source-module : 7.
|
||||||
|
...
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
(chcm-homology diabolo 2) ==>
|
||||||
|
|
||||||
|
Computing boundary-matrix in dimension 2.
|
||||||
|
Rank of the source-module : 1.
|
||||||
|
...
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
%\newpage
|
||||||
|
Another simple example is the following 2--chain complex corresponding to the
|
||||||
|
well known {\em dunce hat}. We shall see later in the chapter {\tt Simplicial Sets} a
|
||||||
|
much more elegant method to describe this object.
|
||||||
|
%
|
||||||
|
\vskip 0.40cm
|
||||||
|
\centerline{\psfig{figure=/home/home/siret/Kenzo/dunce.eps}}
|
||||||
|
\vskip 0.40cm
|
||||||
|
%
|
||||||
|
The diagram shows a permissible triangulation. For the generators, we have chosen lists
|
||||||
|
rather symbols: a vertex $s_i$ is represented as {\tt (i)}, an edge $s_is_j$ as
|
||||||
|
{\tt (i j)} and a triangle $s_is_js_k$ as {\tt (i j k)}. The enumeration of
|
||||||
|
the elements of the basis is a little cumbersome but defining the
|
||||||
|
boundary homomorphism is very easy, bearing in mind the boundary rule:
|
||||||
|
$$ {\bf d}[s_0s_1\ldots s_n] = \sum_{i=0}^n{(-1)^is_0s_1\ldots\widehat{s_i}\ldots s_n}.$$
|
||||||
|
As for diabolo, the vertices are implicitly ordered.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf duncehat-basis #'(lambda(dmn)
|
||||||
|
(case dmn
|
||||||
|
(0 '((0) (1) (2) (3) (4) (5) (6) (7) ))
|
||||||
|
(1 '((0 1)(0 2)(0 3)
|
||||||
|
(0 4)(0 5)(0 6)
|
||||||
|
(0 7)(1 2)(1 3)
|
||||||
|
(1 4)(1 5)(1 6)
|
||||||
|
(1 7)(2 3)(2 4)
|
||||||
|
(2 6)(2 7)(3 4)
|
||||||
|
(3 5)(4 5)(4 6)
|
||||||
|
(5 6)(5 7)(6 7) ))
|
||||||
|
(2 '((0 1 5)(0 1 6)(0 1 7)
|
||||||
|
(0 2 3)(0 2 4)(0 2 6)
|
||||||
|
(0 3 4)(0 5 7)(1 2 3)
|
||||||
|
(1 2 4)(1 2 7)(1 3 5)
|
||||||
|
(1 4 6)(2 6 7)(3 4 5)
|
||||||
|
(4 5 6)(5 6 7) ))
|
||||||
|
(otherwise nil)) ))
|
||||||
|
|
||||||
|
(setf duncehat-df #'(lambda(dmn gnr)
|
||||||
|
(case dmn
|
||||||
|
(0 (cmbn -1))
|
||||||
|
(1 (cmbn 0 -1 (list(first gnr)) 1 (rest gnr)))
|
||||||
|
(2 (cmbn 1 1 (list(first gnr) (second gnr))
|
||||||
|
-1 (list(first gnr) (third gnr))
|
||||||
|
1 (rest gnr) ))
|
||||||
|
(otherwise (error "bad generator for dunce hat")))))
|
||||||
|
|
||||||
|
|
||||||
|
(setf duncehat (build-chcm :cmpr #'l-cmpr
|
||||||
|
:basis duncehat-basis
|
||||||
|
:bsgn '(0)
|
||||||
|
:intr-dffr duncehat-df
|
||||||
|
:strt :gnrt
|
||||||
|
:orgn '(dunce hat)))
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(chcm-homology duncehat 0) ==>
|
||||||
|
|
||||||
|
Computing boundary-matrix in dimension 0.
|
||||||
|
Rank of the source-module : 9.
|
||||||
|
...
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
(chcm-homology duncehat 1) ==>
|
||||||
|
|
||||||
|
Computing boundary-matrix in dimension 1.
|
||||||
|
Rank of the source-module : 27.
|
||||||
|
...
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
(chcm-homology duncehat 2) ==>
|
||||||
|
|
||||||
|
Computing boundary-matrix in dimension 2.
|
||||||
|
Rank of the source-module : 19.
|
||||||
|
...
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
Let us take again the chain complex {\tt duncehat}.
|
||||||
|
The two matrices of the homomorphisms $d_1: C_1 \rightarrow C_0$ and
|
||||||
|
$d_2: C_2 \rightarrow C_1$ are obtained by calling {\tt chcm-mat}.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf mz (chcm-mat duncehat 1)) ==>
|
||||||
|
|
||||||
|
========== MATRIX 8 lines + 24 columns =====
|
||||||
|
L1=[C1=-1][C2=-1][C3=-1][C4=-1][C5=-1][C6=-1][C7=-1]
|
||||||
|
L2=[C1=1][C8=-1][C9=-1][C10=-1][C11=-1][C12=-1][C13=-1]
|
||||||
|
L3=[C2=1][C8=1][C14=-1][C15=-1][C16=-1][C17=-1]
|
||||||
|
L4=[C3=1][C9=1][C14=1][C18=-1][C19=-1]
|
||||||
|
L5=[C4=1][C10=1][C15=1][C18=1][C20=-1][C21=-1]
|
||||||
|
L6=[C5=1][C11=1][C19=1][C20=1][C22=-1][C23=-1]
|
||||||
|
L7=[C6=1][C12=1][C16=1][C21=1][C22=1][C24=-1]
|
||||||
|
L8=[C7=1][C13=1][C17=1][C23=1][C24=1]
|
||||||
|
========== END-MATRIX
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf nb (chcm-mat duncehat 2)) ==>
|
||||||
|
|
||||||
|
========== MATRIX 24 lines + 17 columns =====
|
||||||
|
L1=[C1=1][C2=1][C3=1]
|
||||||
|
L2=[C4=1][C5=1][C6=1]
|
||||||
|
L3=[C4=-1][C7=1]
|
||||||
|
L4=[C5=-1][C7=-1]
|
||||||
|
L5=[C1=-1][C8=1]
|
||||||
|
L6=[C2=-1][C6=-1]
|
||||||
|
L7=[C3=-1][C8=-1]
|
||||||
|
L8=[C9=1][C10=1][C11=1]
|
||||||
|
L9=[C9=-1][C12=1]
|
||||||
|
L10=[C10=-1][C13=1]
|
||||||
|
L11=[C1=1][C12=-1]
|
||||||
|
L12=[C2=1][C13=-1]
|
||||||
|
L13=[C3=1][C11=-1]
|
||||||
|
L14=[C4=1][C9=1]
|
||||||
|
L15=[C5=1][C10=1]
|
||||||
|
L16=[C6=1][C14=1]
|
||||||
|
L17=[C11=1][C14=-1]
|
||||||
|
L18=[C7=1][C15=1]
|
||||||
|
L19=[C12=1][C15=-1]
|
||||||
|
L20=[C15=1][C16=1]
|
||||||
|
L21=[C13=1][C16=-1]
|
||||||
|
L22=[C16=1][C17=1]
|
||||||
|
L23=[C8=1][C17=-1]
|
||||||
|
L24=[C14=1][C17=1]
|
||||||
|
========== END-MATRIX
|
||||||
|
|
||||||
|
(homologie mz nb) ==>
|
||||||
|
|
||||||
|
NIL
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\section {The general method for computing homology}
|
||||||
|
|
||||||
|
Among\index{Homology groups!general method in {\tt Kenzo}} the slots of the instance of an object
|
||||||
|
inheriting the {\tt CHAIN COMPLEX} class, a slot {\tt efhm}
|
||||||
|
has been reserved to point (possibly) to a homotopy e\-qui\-va\-len\-ce where the right bottom
|
||||||
|
chain complex is effective. The function {\tt homology} is designed to get
|
||||||
|
the right bottom chain complex of the homotopy equivalence value of the slot. If the
|
||||||
|
slot has been bound, then the homology groups are computed by the function {\tt chcm-homology}
|
||||||
|
as shown in the following de\-fi\-ni\-ti\-on:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(DEFMETHOD HOMOLOGY ((chcm chain-complex) degr1 &optional (degr2 (1+ degr1)))
|
||||||
|
(do ((degr degr1 (1+ degr)))
|
||||||
|
((>= degr degr2))
|
||||||
|
--> (chcm-homology (rbcc (efhm chcm)) degr)
|
||||||
|
(terpri) (clock) (terpri)))
|
||||||
|
\end{verbatim}}
|
||||||
|
But, at the creation of the object, the slot {\tt efhm} is unbound and as soon as the {\tt homology}
|
||||||
|
function tries to get the content of the slot {\tt efhm} via the call {\tt (efchm chcm)}, the
|
||||||
|
{\em slot-unbound} mechanism of CLOS is triggered, calling at its turn a method
|
||||||
|
{\tt search-efhm} depending on the object. If no method is available for this object,
|
||||||
|
{\tt NIL} is returned. In the following chapters, we shall see that cases have been
|
||||||
|
written for cartesian products, tensor products, suspensions, disk pasting, fibrations,
|
||||||
|
loop spaces, and classifying spaces. The selection of the case is done thanks to the information
|
||||||
|
contained in the comment list of the object (slot {\tt orgn}).
|
||||||
|
In each case, the {\tt search-efhm} method builds -- in general with a complex machinery, including a possible
|
||||||
|
recursivity --
|
||||||
|
a homotopy equivalence where the right bottom
|
||||||
|
chain complex is {\em effective}. The slot {\tt efhm} of the object is then settled and the homology group
|
||||||
|
computation may begin. If {\tt NIL} is returned, then and only at this moment, the slot-unbound
|
||||||
|
mechanism looks if the chain complex is finite (checking if a basis function exists). If this is the case, then
|
||||||
|
the {\em trivial homotopy equivalence} is built upon the chain complex and this gives the value of the slot
|
||||||
|
{\tt efhm}. If there is no basis function, meaning that probably the chain complex is locally
|
||||||
|
effective, an error is returned.
|
||||||
|
\par
|
||||||
|
{\bf Remark.} The user may wonder why one does not look first if the given object is effective.
|
||||||
|
We recall simply that even in the case of an effective chain complex, it is sometimes
|
||||||
|
possible to find another effective chain complex, homotopic to the first and whose
|
||||||
|
number of basis elements, in any dimensions, is considerably smaller in comparison with the first one.
|
||||||
|
A striking case will be shown in a further chapter, showing the application of the
|
||||||
|
Eilenberg-Zilber theorem to a cartesian product.
|
||||||
|
|
||||||
|
\subsection*{Example}
|
||||||
|
|
||||||
|
{\bf The reading of this subsection may be postponed until a full reading of this user's guide}.
|
||||||
|
The following examples show how are
|
||||||
|
filled the slots {\tt efhm} of the various objects.
|
||||||
|
Starting from the sphere $S^2$, we verify first that the {\tt efhm} slot is unbound.
|
||||||
|
Then we ask for ${\cal H}_1$ and verify that, though there is a finite basis,
|
||||||
|
{\tt Kenzo} has nevertheless built a trivial homotopy equivalence on this object.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf s2 (sphere 2)) ==>
|
||||||
|
|
||||||
|
[K1 Simplicial-Set]
|
||||||
|
|
||||||
|
(inspect s2) ==>
|
||||||
|
|
||||||
|
SIMPLICIAL-SET @ #x39a1e2 = [K1 Simplicial-Set]
|
||||||
|
0 Class --------> #<STANDARD-CLASS SIMPLICIAL-SET>
|
||||||
|
1 ORGN ---------> (SPHERE 2), a proper list with 2 elements
|
||||||
|
2 IDNM ---------> fixnum 1 [#x00000004]
|
||||||
|
-->3 EFHM ---------> The symbol :--UNBOUND--
|
||||||
|
4 GRMD ---------> [K1 Simplicial-Set]
|
||||||
|
5 DFFR ---------> [K2 Morphism (degree -1)]
|
||||||
|
6 BSGN ---------> The symbol *
|
||||||
|
-->7 BASIS --------> #<Closure (FLET SPHERE-BASIS RSLT) @ #x39a14a>
|
||||||
|
8 CMPR ---------> #<Function SPHERE-CMPR>
|
||||||
|
9 CPRD ---------> [K5 Morphism (degree 0)]
|
||||||
|
10 FACE ---------> #<Closure (FLET SPHERE-FACE RSLT) @ #x39a172>
|
||||||
|
|
||||||
|
(homology s2 1) ==>
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
(inspect s2) ==>
|
||||||
|
|
||||||
|
SIMPLICIAL-SET @ #x410372 = [K1 Simplicial-Set]
|
||||||
|
|
||||||
|
.........................
|
||||||
|
|
||||||
|
-->3 EFHM ---------> [K9 Homotopy-Equivalence]
|
||||||
|
|
||||||
|
........................
|
||||||
|
|
||||||
|
(orgn (hmeq 9)) ==>
|
||||||
|
|
||||||
|
(TRIVIAL-HMEQ [K1 Simplicial-Set])
|
||||||
|
\end{verbatim}}
|
||||||
|
Now, we create $\Omega^1(S^2)$. Getting the value of the slot {\tt efhm}
|
||||||
|
by a call to the accessor function {\tt efhm}, triggers the
|
||||||
|
search-efhm method for a loop space. A homotopy equivalence is built and
|
||||||
|
the slot is set.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf os2 (loop-space s2)) ==>
|
||||||
|
|
||||||
|
[K10 Simplicial-Group]
|
||||||
|
|
||||||
|
(inspect os2) ==>
|
||||||
|
|
||||||
|
SIMPLICIAL-GROUP @ #x4a208a = [K10 Simplicial-Group]
|
||||||
|
|
||||||
|
........................
|
||||||
|
|
||||||
|
-->3 EFHM ---------> The symbol :--UNBOUND--
|
||||||
|
|
||||||
|
........................
|
||||||
|
|
||||||
|
(orgn os2) ==>
|
||||||
|
|
||||||
|
(LOOP-SPACE [K1 Simplicial-Set])
|
||||||
|
|
||||||
|
(efhm os2) ==>
|
||||||
|
|
||||||
|
[K118 Homotopy-Equivalence]
|
||||||
|
|
||||||
|
(inspect os2) ==>
|
||||||
|
|
||||||
|
SIMPLICIAL-GROUP @ #x30943a = [K10 Simplicial-Group]
|
||||||
|
|
||||||
|
...........................
|
||||||
|
|
||||||
|
3 EFHM ---------> [K118 Homotopy-Equivalence]
|
||||||
|
|
||||||
|
...........................
|
||||||
|
\end{verbatim}}
|
||||||
|
The following example shows the recursion mechanism when one wants to get the value
|
||||||
|
of the slot {\tt efhm} of an iterated loop space, namely $\Omega^3(S^4)$.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
|
||||||
|
(setf s4 (sphere 4)) ==>
|
||||||
|
|
||||||
|
[K119 Simplicial-Set]
|
||||||
|
|
||||||
|
(inspect s4) ==>
|
||||||
|
|
||||||
|
SIMPLICIAL-SET @ #x38647a = [K119 Simplicial-Set]
|
||||||
|
|
||||||
|
...........................
|
||||||
|
|
||||||
|
3 EFHM ---------> The symbol :--UNBOUND--
|
||||||
|
|
||||||
|
...........................
|
||||||
|
|
||||||
|
(setf ooos4 (loop-space (loop-space (loop-space s4)))) ==>
|
||||||
|
|
||||||
|
[K148 Simplicial-Group]
|
||||||
|
|
||||||
|
(orgn ooos4) ==>
|
||||||
|
|
||||||
|
(LOOP-SPACE [K136 Simplicial-Group])
|
||||||
|
|
||||||
|
(orgn (second *)) ==>
|
||||||
|
|
||||||
|
(LOOP-SPACE [K124 Simplicial-Group])
|
||||||
|
|
||||||
|
(orgn (second *)) ==>
|
||||||
|
|
||||||
|
(LOOP-SPACE [K119 Simplicial-Set])
|
||||||
|
|
||||||
|
(orgn (second *)) ==>
|
||||||
|
|
||||||
|
(SPHERE 4)
|
||||||
|
|
||||||
|
(inspect (smgr 136)) ==>
|
||||||
|
|
||||||
|
SIMPLICIAL-GROUP @ #x463312 = [K136 Simplicial-Group]
|
||||||
|
|
||||||
|
............................
|
||||||
|
|
||||||
|
3 EFHM ---------> The symbol :--UNBOUND--
|
||||||
|
|
||||||
|
............................
|
||||||
|
|
||||||
|
(inspect (smgr 124)) ==>
|
||||||
|
|
||||||
|
SIMPLICIAL-GROUP @ #x460efa = [K124 Simplicial-Group]
|
||||||
|
|
||||||
|
............................
|
||||||
|
|
||||||
|
3 EFHM ---------> The symbol :--UNBOUND--
|
||||||
|
|
||||||
|
............................
|
||||||
|
|
||||||
|
(inspect (smst 119)) ==>
|
||||||
|
|
||||||
|
SIMPLICIAL-SET @ #x4102fa = [K119 Simplicial-Set]
|
||||||
|
0 Class --------> #<STANDARD-CLASS SIMPLICIAL-SET>
|
||||||
|
1 ORGN ---------> (SPHERE 4), a proper list with 2 elements
|
||||||
|
|
||||||
|
............................
|
||||||
|
|
||||||
|
3 EFHM ---------> The symbol :--UNBOUND--
|
||||||
|
|
||||||
|
............................
|
||||||
|
|
||||||
|
(efhm ooos4) ==>
|
||||||
|
|
||||||
|
[K522 Homotopy-Equivalence]
|
||||||
|
|
||||||
|
(inspect (smgr 136)) ==>
|
||||||
|
|
||||||
|
SIMPLICIAL-GROUP @ #x410e62 = [K136 Simplicial-Group]
|
||||||
|
|
||||||
|
...........................
|
||||||
|
|
||||||
|
3 EFHM ---------> [K474 Homotopy-Equivalence]
|
||||||
|
|
||||||
|
...........................
|
||||||
|
|
||||||
|
(inspect (smgr 124)) ==>
|
||||||
|
|
||||||
|
SIMPLICIAL-GROUP @ #x41066a = [K124 Simplicial-Group]
|
||||||
|
|
||||||
|
...........................
|
||||||
|
|
||||||
|
3 EFHM ---------> [K426 Homotopy-Equivalence]
|
||||||
|
|
||||||
|
...........................
|
||||||
|
|
||||||
|
(inspect (smst 119)) ==>
|
||||||
|
|
||||||
|
SIMPLICIAL-SET @ #x4191d2 = [K119 Simplicial-Set]
|
||||||
|
|
||||||
|
...........................
|
||||||
|
|
||||||
|
3 EFHM ---------> [K412 Homotopy-Equivalence]
|
||||||
|
|
||||||
|
...........................
|
||||||
|
|
||||||
|
(inspect s4) ==>
|
||||||
|
|
||||||
|
SIMPLICIAL-SET @ #x4191d2 = [K119 Simplicial-Set]
|
||||||
|
|
||||||
|
...........................
|
||||||
|
|
||||||
|
3 EFHM ---------> [K412 Homotopy-Equivalence]
|
||||||
|
|
||||||
|
...........................
|
||||||
|
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\subsection* {Lisp files concerned in this chapter}
|
||||||
|
|
||||||
|
{\tt homology-groups.lisp}, {\tt searching-homology}\par
|
||||||
|
and files containing a {\tt search-efhm} method.
|
||||||
182
doc/doc_src/kandoc.tex
Normal file
182
doc/doc_src/kandoc.tex
Normal file
@ -0,0 +1,182 @@
|
|||||||
|
\chapter {Programming the Kan theory}
|
||||||
|
|
||||||
|
\section {Introduction}
|
||||||
|
|
||||||
|
Let us recall some definitions in relation with the Kan simplicial sets.
|
||||||
|
\vskip 0.40cm
|
||||||
|
{\bf Definition 1.} A Kan ``hat''\index{Kan hat} of dimension $n$ and index $i$ is a collection
|
||||||
|
of $n$ simplices of dimension $(n-1)$, noted
|
||||||
|
$(\sigma_0, \ldots, \sigma_{i-1}, \sigma_{i+1}, \ldots, \sigma_n)$,
|
||||||
|
such that the following conditions are fulfilled:
|
||||||
|
$$ \partial_j\sigma_k=\partial_k\sigma_{j+1},\quad k \not= i,\quad j+1 \not= i, \quad 0 \leq j \leq n-1, \quad
|
||||||
|
0 \leq k \leq n-1, \quad k \leq j. $$
|
||||||
|
Note that there is no $\sigma_i$ term in the list above; in a sense, the Kan process consists in
|
||||||
|
constructing the missing $\sigma_i$ to be considered as a ``composition'' of the given $\sigma_j$'s.
|
||||||
|
\subsection* {Example}
|
||||||
|
|
||||||
|
We are going to work with the simplices of $\Delta^{\N}$. The set $(\sigma_1, \sigma_2) = $ {\tt ((0 2), (0 1))}
|
||||||
|
is a Kan hat of dimension $2$ and index $0$. In effect, $\delta_1\sigma_1=\delta_1\sigma_2 = {\tt (0)}$.
|
||||||
|
Likewise, the two sets {\tt ((1 2), (0 1))} and {\tt ((1 2), (0 2))} are Kan hats of dimension $2$ and
|
||||||
|
of respective index $1$ and $2$. Of course, this definition applies equally if the simplices
|
||||||
|
are degenerate.
|
||||||
|
\vskip 0.40cm
|
||||||
|
{\bf Definition 2.} A {\em filling} of a Kan hat\index{Kan hat!filling},
|
||||||
|
$(\sigma_0, \ldots, \sigma_{i-1}, \sigma_{i+1}, \ldots, \sigma_n)$,
|
||||||
|
is an $n$--simplex $\tilde{\sigma}$,
|
||||||
|
such that for every $j \not= i$, $\partial_j\tilde{\sigma}=\sigma_j.$
|
||||||
|
|
||||||
|
\subsection* {Example}
|
||||||
|
|
||||||
|
A filling of {\tt ((0 2), (0 1))} is the $2$-simplex {\tt (0 1 2)}. A filling of the Kan hat
|
||||||
|
{\tt ((1 1), (0 1))} is the degenerate $2$-simplex {\tt (0 1 1)}. A filling
|
||||||
|
of the vertex {\tt (0)} is the degenerate $1$--simplex {\tt (0 0)}.
|
||||||
|
\vskip 0.40cm
|
||||||
|
{\bf Definition 3.} A simplicial set is a Kan simplicial set if for every hat there exists a filling.
|
||||||
|
|
||||||
|
\subsection {Representation of a Kan simplicial set}
|
||||||
|
|
||||||
|
A Kan simplicial set is implemented as an instance\index{class!{\tt KAN}} of the class {\tt KAN},
|
||||||
|
subclass of the class {\tt SIMPLICIAL-SET}.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(DEFCLASS KAN (simplicial-set)
|
||||||
|
((kfll :type kfll :initarg :kfll :reader kfll1)))
|
||||||
|
\end{verbatim}}
|
||||||
|
We recall that this new class inherits also from the class {\tt CHAIN-COMPLEX}. It has one
|
||||||
|
slot of its own:
|
||||||
|
\begin{description}
|
||||||
|
\item {{\tt kfll}}, an object of type {\tt KFLL}, in fact a lisp function with $3$ parameters describing
|
||||||
|
a Kan hat:
|
||||||
|
an index (an integer), a dimension (an integer) and the Kan hat (a list of abstract simplices). This function
|
||||||
|
must return a filling of the Kan hat argument, i.e. an abstract simplex satisfying the theoritical
|
||||||
|
definition.
|
||||||
|
\end{description}
|
||||||
|
A printing method has been associated to the class {\tt KAN} and the external re\-pre\-sen\-ta\-ti\-on
|
||||||
|
of an instance is a string like {\tt [K{\em n} Kan-Simplicial-Set]}, where {\em n} is the number plate of
|
||||||
|
the Kenzo object.
|
||||||
|
|
||||||
|
\subsection {Helpful functions on Kan simplicial sets}
|
||||||
|
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt cat-init} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Clear in particular {\tt *Kan-list*}, the list of user created Kan simplicial sets and reset
|
||||||
|
the global counter to $1$. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt Kan} {\em n} \hfill {\em [Function]}\par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Retrieve in the list {\tt *Kan-list*} the Kan object instance whose the Kenzo identification is $n$.
|
||||||
|
If it does not exist, return {\tt NIL}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt kfll \&rest} {\em args} \hfill {\em [Macro]}\par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
With only one argument (a Kan instance) return the slot {\tt kfll} of this instance. With $4$ arguments
|
||||||
|
like {\tt (kfll {\em kan indx dmns hat})}, return a filling of the Kan hat {\em hat}, of dimension {\em dmns}
|
||||||
|
and of index {\em indx} by applying the filling function value of the slot {\tt kfll} of the Kan instance
|
||||||
|
{\em kan}. \par}
|
||||||
|
}
|
||||||
|
\newpage
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt smst-kan} {\em smst kfll} \hfill {\em [Function]}\par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
With the filling lisp function {\em kfll},
|
||||||
|
{\bf transform} the simplicial set {\em smst} in an object of type {\tt KAN}
|
||||||
|
(in other word, {\em smst} is {\tt modified}).
|
||||||
|
This is the easiest way to build a Kan simplicial set. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt check-hat} {\em kan indx dmns hat} \hfill {\em [Function]}\par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Useful verification function to check if the collection of simplices {\em hat} is a valid Kan hat
|
||||||
|
of dimension {\em dmns} and of index {\em indx} in the Kan simplicial set {\em kan}. In fact this
|
||||||
|
works equally if {\em kan} is a general simplicial set. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt check-kan} {\em kan indx dmns hat} \hfill {\em [Function]}\par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Useful verification function to check if the collection of simplices {\em hat} is a valid Kan hat
|
||||||
|
of dimension {\em dmns} and of index {\em indx} in the Kan simplicial set {\em kan}. This verification
|
||||||
|
function applies the filling function of the instance {\em kan} to the argument {\em hat} and perform
|
||||||
|
the verification of the faces relations upon the resulting $dmns$--simplex. \par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection* {Examples}
|
||||||
|
|
||||||
|
Let us take again the small examples of the introduction. First we define a function {\tt dkfll},
|
||||||
|
a filling function suitable for a Kan hat in $\Delta^{\N}$. The user will note that
|
||||||
|
in the abstract simplices the degeneracy operators and the geometric simplices are coded in binary.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(defun dkfll (indx dmns hat)
|
||||||
|
(cond ((= 1 dmns)
|
||||||
|
(absm 1 (gmsm (first hat))))
|
||||||
|
((= 0 indx)
|
||||||
|
(let ((del-1 (absm-int-ext (first hat)))
|
||||||
|
(del-2 (absm-int-ext (second hat))))
|
||||||
|
(absm-ext-int
|
||||||
|
(cons (first del-1)
|
||||||
|
(cons (second del-2) (rest del-1))))))
|
||||||
|
((= 1 indx)
|
||||||
|
(let ((del-0 (absm-int-ext (first hat)))
|
||||||
|
(del-2 (absm-int-ext (second hat))))
|
||||||
|
(absm-ext-int
|
||||||
|
(cons (first del-2) del-0))))
|
||||||
|
(t
|
||||||
|
(let ((del-0 (absm-int-ext (first hat)))
|
||||||
|
(del-1 (absm-int-ext (second hat))))
|
||||||
|
(absm-ext-int
|
||||||
|
(cons (first del-1) del-0))))))
|
||||||
|
|
||||||
|
DKFLL
|
||||||
|
|
||||||
|
(setf d (delta-infinity)) ==>
|
||||||
|
|
||||||
|
[K5 Simplicial-Set]
|
||||||
|
|
||||||
|
(smst-kan d #'dkfll) ==>
|
||||||
|
|
||||||
|
[K5 Kan-Simplicial-Set]
|
||||||
|
|
||||||
|
(kfll d 0 1 (list (absm 0 1))) ==>
|
||||||
|
|
||||||
|
<AbSm 0 1>
|
||||||
|
|
||||||
|
(kfll d 0 2 (list (absm 0 5) (absm 0 3))) ==>
|
||||||
|
|
||||||
|
<AbSm - 7>
|
||||||
|
|
||||||
|
(kfll d 1 2 (list (absm 0 6) (absm 0 3))) ==>
|
||||||
|
|
||||||
|
<AbSm - 7>
|
||||||
|
|
||||||
|
(kfll d 2 2 (list (absm 0 6) (absm 0 5))) ==>
|
||||||
|
|
||||||
|
<AbSm - 7>
|
||||||
|
|
||||||
|
(kfll d 0 2 (list (absm 0 3) (absm 0 3))) ==>
|
||||||
|
|
||||||
|
<AbSm 1 3>
|
||||||
|
|
||||||
|
(kfll d 1 2 (list (absm 1 2) (absm 0 3))) ==>
|
||||||
|
|
||||||
|
<AbSm 1 3>
|
||||||
|
|
||||||
|
(check-hat d 1 2 (list (absm 1 2) (absm 0 3))) ==>
|
||||||
|
|
||||||
|
T
|
||||||
|
|
||||||
|
(check-hat d 0 1 (list (absm 0 1))) ==>
|
||||||
|
|
||||||
|
T
|
||||||
|
|
||||||
|
(check-kan d 0 1 (list (absm 0 1))) ==>
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
More elaborate examples with Kan simplicial sets will be given later in the
|
||||||
|
loop spaces chapter.
|
||||||
|
|
||||||
|
\subsection* {Lisp files concerned in this chapter}
|
||||||
|
|
||||||
|
{\tt kan.lisp}.
|
||||||
|
\par
|
||||||
|
[{\tt classes.lisp }, {\tt macros.lisp}, {\tt various.lisp}].
|
||||||
208
doc/doc_src/kendoc.aux
Normal file
208
doc/doc_src/kendoc.aux
Normal file
@ -0,0 +1,208 @@
|
|||||||
|
\relax
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {0}Overview}{iii}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Chain Complexes}{1}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {1.1}Introduction}{1}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {1.2}Generators, terms and combinations}{2}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.1}Representation of a combination}{3}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.2}Ordering the generators}{3}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.3}Functions handling combinations}{5}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {1.3}Representation of a chain complex}{8}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.1}The function build-chcm}{9}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.2}Simple functions handling chain complexes}{12}}
|
||||||
|
\@writefile{toc}{\contentsline {subsubsection}{An important trivial case: the unit chain complex, ${{\fam \msbfam \relax Z}}$}{14}}
|
||||||
|
\@writefile{toc}{\contentsline {subsubsection}{The chain complex {\tt circle}}{15}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {1.4}Morphisms}{16}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {1.4.1}The function build-mrph}{17}}
|
||||||
|
\@writefile{toc}{\contentsline {subsubsection}{The differential homomorphism in a chain complex instance}{18}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {1.4.2}Applying morphisms}{19}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {1.4.3}Functions defining morphisms}{20}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {1.4.4}Accessing {\tt Kenzo} objects}{28}}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Objects with effective homology}{30}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Introduction}{30}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Reduction}{30}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1}Representation of a reduction}{31}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.2}The function build-rdct}{32}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.3}Useful macros and functions}{33}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.4}Verification functions}{34}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {2.3}Homotopy equivalence}{43}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.1}Representation of a homotopy equivalence}{43}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.2}The function build-hmeq}{45}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.3}Useful macros and functions}{46}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {2.4}The perturbation lemma machinery}{47}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.1}Useful functions related to the pertubation lemma}{49}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {2.5}Bicones}{52}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.1}Representation of a combination in a bicone.}{52}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.2}Useful functions and macros for bicones}{53}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {2.6}Construction of a bicone from 2 reductions.}{55}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {2.7}Composition of homotopy equivalences.}{58}}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {3}The Homology module}{65}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {3.1}List of functions}{65}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {3.2}The general method for computing homology}{71}}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Tensor product of chain complexes}{77}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {4.1}Introduction}{77}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {4.2}Tensor product of generators and combinations}{77}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}Simple functions for the tensor product}{78}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {4.3}Tensor product of chain complexes}{80}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {4.4}Tensor product of morphisms, reductions, homotopy equivalences.}{84}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.1}Searching homology for tensor products}{85}}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Coalgebras and cobars}{86}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {5.1}Introduction}{86}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {5.2}Coalgebras}{86}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}Implementation of a coalgebra}{86}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}The function build-clgb}{87}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.3}Miscellaneous functions and macros for coalgebras}{88}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {5.3}Cobar of a coalgebra}{88}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}Representation of an algebraic loop}{89}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}Definition of the chain complex Cobar}{89}}
|
||||||
|
\@writefile{toc}{\contentsline {subsubsection}{Definition of the vertical cobar}{90}}
|
||||||
|
\@writefile{toc}{\contentsline {subsubsection}{Definition of the horizontal differential}{95}}
|
||||||
|
\@writefile{toc}{\contentsline {subsubsection}{Final definition of the cobar of a coalgebra}{97}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {5.4}Other functions for the cobar construction}{100}}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {6}Algebras and Bars}{101}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {6.1}Algebra}{101}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}Implementation of an algebra}{101}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}The function build-algb}{102}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}Miscellaneous functions and macros for algebras}{103}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {6.2}Hopf Algebra}{103}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}Example of algebra}{103}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {6.3}The Bar construction}{105}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}Representation of a bar object}{106}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}Definition of the chain complex Bar}{107}}
|
||||||
|
\@writefile{toc}{\contentsline {subsubsection}{Definition of the vertical bar}{108}}
|
||||||
|
\@writefile{toc}{\contentsline {subsubsection}{Definition of the horizontal differential}{110}}
|
||||||
|
\@writefile{toc}{\contentsline {subsubsection}{Final definition of the bar of an algebra}{111}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {6.4}Other functions for the bar construction}{113}}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {7}Simplicial Sets}{114}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {7.1}Introduction}{114}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {7.2}Notion of abstract simplex in this Lisp implementation}{116}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.1}Simple functions for abstract simplices}{117}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {7.3}Representation of a simplicial set}{118}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {7.4}The function build-smst}{119}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {7.5}A first set of helpful functions on simplicial sets}{124}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {7.6}The function build-finite-ss}{128}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {7.7}Special simplicial sets}{137}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {7.7.1}The standard simplex}{137}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {7.7.2}Spheres, Moore spaces and projectives spaces}{142}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {7.8}Cartesian product of simplicials sets }{153}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {7.8.1}Functions and macros for the product of simplicial sets}{154}}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {8}Simplicial morphisms}{161}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {8.1}Representation of a simplicial morphism}{161}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {8.2}The function build-smmr}{161}}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {9}The Eilenberg-Zilber module}{166}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {9.1}Application to Homology}{178}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {9.1.1}Searching homology process for cartesian products}{182}}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {10}Programming the Kan theory}{183}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {10.1}Introduction}{183}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {10.1.1}Representation of a Kan simplicial set}{184}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {10.1.2}Helpful functions on Kan simplicial sets}{184}}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {11}Simplicial Groups}{188}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {11.1}Representation of a simplicial group}{188}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {11.2}Representation of an Abelian simplicial group}{189}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {11.3}The functions build-smgr and build-ab-smrg}{189}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {11.4}Two important Abelian simplicial groups: $K({{{\fam \msbfam \relax Z}}}, 1)$ and $K({{{\fam \msbfam \relax Z}}}_2, 1)$}{191}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {11.5}Simplicial Groups as Algebras}{197}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {11.6}Coming back to the Bar of an algebra}{202}}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {12}Fibrations}{207}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {12.1}Notion of fibration}{207}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {12.2}Building a twisting operator}{208}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {12.3}Constructing the total space}{209}}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {13}Loop Spaces}{217}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {13.1}Introduction}{217}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {13.2}Representation of letters and words}{219}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {13.2.1}Representation of a power}{219}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {13.2.2}Representation of a loop}{220}}
|
||||||
|
\@writefile{toc}{\contentsline {subsubsection}{Notion of normalized loop}{220}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {13.3}A set of functions for loops}{220}}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {14}Disk pasting and suspension}{227}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {14.1}Introduction}{227}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {14.2}The functions for disk pasting}{227}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {14.2.1}Searching Homology for objects created by disk pasting}{236}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {14.3}The functions for the suspension}{238}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {14.3.1}Searching homology for suspensions}{246}}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {15}Loop spaces fibrations}{247}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {15.1}The canonical loop space fibration}{247}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {15.2}The associated tensor twisted product}{248}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {15.3}Main functions for the twisted products}{248}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {15.4}Exercice with the twisting cochain.}{257}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {15.4.1}The twisting cochain.}{257}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {15.4.2}Expression of the differential $d_{\otimes t}$}{261}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {15.4.3}The cup product of the twisting cochain}{263}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {15.5}The essential contraction}{265}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {15.6}An unproved property of the algebraic Kan contraction}{277}}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {16}Eilenberg-Moore spectral sequence I}{279}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {16.1}Introduction}{279}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {16.2}The detailed construction}{280}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {16.2.1}Obtaining the left reduction $H_L$}{281}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {16.2.2}The useful functions}{283}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {16.2.3}Searching homology for loop spaces}{286}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {16.3}The solution of the Adams and Carlsson problem}{290}}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {17}Classifying Spaces}{292}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {17.1}Introduction}{292}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {17.2}Face, degeneracy and group operations}{293}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {17.3}The functions for the classifying spaces}{294}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {17.4}Eilenberg-Mac Lane spaces $K(\pi ,n)$}{295}}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {18}Serre spectral sequence}{300}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {18.1}Introduction}{300}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {18.2}The topological problem}{300}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {18.2.1}The Ronald Brown reduction}{301}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {18.2.2}The Gugenheim algorithm}{302}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {18.2.3}Assembling the puzzle}{303}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {18.3}The functions for the Serre spectral sequence}{304}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {18.4}Searching homology for fibration total spaces}{304}}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {19}Simplicial groups fibrations}{314}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {19.1}Introduction}{314}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {19.2}The function for the canonical fibration}{314}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {19.3}The essential contraction for simplicial groups fibrations}{317}}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {20}Eilenberg-Moore spectral sequence II}{330}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {20.1}Introduction}{330}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {20.2}The detailed construction}{331}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {20.2.1}Obtaining the left reduction $H_L$}{332}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {20.2.2}The useful functions}{334}}
|
||||||
|
\@writefile{toc}{\contentsline {subsection}{\numberline {20.2.3}Searching homology for classifying spaces}{336}}
|
||||||
|
\@writefile{toc}{\contentsline {chapter}{\numberline {21}Computing homotopy groups}{339}}
|
||||||
|
\@writefile{lof}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {21.1}Mathematical aspects}{339}}
|
||||||
|
\@writefile{toc}{\contentsline {section}{\numberline {21.2}The functions for computing homotopy groups}{343}}
|
||||||
155
doc/doc_src/kendoc.tex
Normal file
155
doc/doc_src/kendoc.tex
Normal file
@ -0,0 +1,155 @@
|
|||||||
|
\documentstyle[psfig,11pt]{report}
|
||||||
|
\pagestyle{headings}
|
||||||
|
\makeindex
|
||||||
|
\parindent=0mm
|
||||||
|
%\textwidth=6.0in
|
||||||
|
%\textheight=8.0in
|
||||||
|
%\oddsidemargin=-.35i
|
||||||
|
%\evensidemargin=-.35in
|
||||||
|
%\topmargin=-.50in
|
||||||
|
|
||||||
|
\input amssym.def
|
||||||
|
\input amssym.tex
|
||||||
|
\newtheorem{thr}{Theorem}
|
||||||
|
%\font\bb=msym10
|
||||||
|
\def\N{{\Bbb N}}
|
||||||
|
\def\Z{{\Bbb Z}}
|
||||||
|
\def\R{{\Bbb R}}
|
||||||
|
%
|
||||||
|
% macros pour les diagrammes rectangulaires
|
||||||
|
%
|
||||||
|
\def\hfl#1#2{\smash{\mathop{\hbox to 15mm{\rightarrowfill}}
|
||||||
|
\limits^{\scriptstyle#1}_{\scriptstyle#2}}}
|
||||||
|
%
|
||||||
|
\def\hflr#1#2{\smash{\mathop{\hbox to 15mm{\rightarrowfill}}
|
||||||
|
\limits^{\scriptstyle#1}_{\scriptstyle#2}}}
|
||||||
|
%
|
||||||
|
\def\hfll#1#2{\smash{\mathop{\hbox to 15mm{\leftarrowfill}}
|
||||||
|
\limits^{\scriptstyle#1}_{\scriptstyle#2}}}
|
||||||
|
%
|
||||||
|
\def\vfl#1#2{\llap{$\scriptstyle #1$}\left\downarrow
|
||||||
|
\vbox to 7mm{}\right.\rlap{$\scriptstyle #2$}}
|
||||||
|
%
|
||||||
|
\def\vflu#1#2{\llap{$\scriptstyle #1$}\left\uparrow
|
||||||
|
\vbox to 7mm{}\right.\rlap{$\scriptstyle #2$}}
|
||||||
|
%
|
||||||
|
\def\diagram#1{\def\normalbaselines{\baselineskip=0pt
|
||||||
|
\lineskip=10pt\lineskiplimit=1pt} \matrix{#1}}
|
||||||
|
%
|
||||||
|
% macro tvi pour les lignes verticales et horizontales dans un tableau
|
||||||
|
%
|
||||||
|
\def\tvi{\vrule height 12pt depth 5pt width 0pt}
|
||||||
|
\def\tv{\tvi\vrule}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\pagenumbering{roman}
|
||||||
|
\begin{titlepage}
|
||||||
|
\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\
|
||||||
|
\begin{center}
|
||||||
|
{\huge KENZO} \\
|
||||||
|
\ \\
|
||||||
|
{\Large a Symbolic Software} \\
|
||||||
|
for \\
|
||||||
|
{\Large Effective Homology Computation}
|
||||||
|
\vskip 0.5cm
|
||||||
|
-----
|
||||||
|
\vskip 0.5cm
|
||||||
|
Julio Rubio Garcia\\
|
||||||
|
Francis Sergeraert \\
|
||||||
|
Yvon Siret
|
||||||
|
\vskip 0.20cm
|
||||||
|
-----
|
||||||
|
\vskip 0.20cm
|
||||||
|
Institut Fourier \\
|
||||||
|
Grenoble, France \\
|
||||||
|
\vskip 0.20cm
|
||||||
|
-----
|
||||||
|
\vskip 0.20cm
|
||||||
|
\end{center}
|
||||||
|
\vskip 0.5cm
|
||||||
|
This document is a user guide for the
|
||||||
|
basic modules of the Effective Ho\-mo\-lo\-gy Software (Kenzo Version 1998). \\
|
||||||
|
It is also available by anonymous ftp ({\bf ftp fourier.ujf-grenoble.fr})
|
||||||
|
in the directory {\bf /pub/KENZO}. \\
|
||||||
|
\vskip 0.5cm
|
||||||
|
\begin{center}
|
||||||
|
{\em \today} \\
|
||||||
|
\end{center}
|
||||||
|
\end{titlepage}
|
||||||
|
\vskip 1in
|
||||||
|
\centerline {FOREWORD}
|
||||||
|
\vskip 0.5in
|
||||||
|
The {\bf Kenzo} program implements the general ideas of the second author
|
||||||
|
about \emph{Effective Homology}\footnote{{\bf Francis Sergeraert.}
|
||||||
|
\emph{The computability problem in algebraic topology}.
|
||||||
|
Advances in Mathematics, 1994, vol. 104, pp 1-29.},
|
||||||
|
mainly around the Serre and Eilenberg--Moore spectral sequences.
|
||||||
|
The first author (re--) discovered the importance
|
||||||
|
of the \emph{Basic Perturbation Lemma} in these questions, already
|
||||||
|
noted by Victor Gugenheim\footnote{{\bf V.K.A.M. Gugenheim.}
|
||||||
|
\emph{On a perturbation theory for the homology of the loop space}.
|
||||||
|
Journal of Pure and Applied Algebra, 1982, vol. 25, pp 197-205.}
|
||||||
|
and this program directly
|
||||||
|
implements and directly uses this ``lemma'' which should be called the
|
||||||
|
\emph{Fundamental Theorem of Algebraic Topology}. The first version of the program,
|
||||||
|
called {\bf EAT}, was written in 1989-90 by the first and the second authors.
|
||||||
|
It has been demonstrated in several universities: France: Grenoble and
|
||||||
|
Montpellier, Belgium: Louvain-la-Neuve, Italy: Genoa and Pisa,
|
||||||
|
Sweden: Stockolm, Japan:
|
||||||
|
Sapporo, Morioka, Urawa, Tokyo, Kyoto, Nara, Osaka and Hiroshima.
|
||||||
|
\par
|
||||||
|
In this {\bf Kenzo} version, numerous improvements have been integrated in comparison with
|
||||||
|
{\bf EAT}.
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Standard CLOS (Common Lisp Object System) techniques.
|
||||||
|
\item Use of the Zermelo theorem about ordered sets (!): any set can be
|
||||||
|
well ordered and this remark gives important new ideas to improve
|
||||||
|
execution speed.
|
||||||
|
\item Better memory management.
|
||||||
|
\item Use of Szczarba's formulas instead of Shih's for implementing the twisted
|
||||||
|
Eilenberg--Zilber theorem.
|
||||||
|
\item New mathematical objects:
|
||||||
|
\begin{itemize}
|
||||||
|
\item Serre spectral sequences.
|
||||||
|
\item Differentials algebras.
|
||||||
|
\item Simplicial morphisms.
|
||||||
|
\item Kan simplicial sets.
|
||||||
|
\item Simplicial groups.
|
||||||
|
\item Fibrations.
|
||||||
|
\item Classifying spaces.
|
||||||
|
\end{itemize}
|
||||||
|
In particular, using these tools, the first homotopy groups of {\em arbitrary}
|
||||||
|
simplicial sets with effective homology, are now reachable.
|
||||||
|
\end{enumerate}
|
||||||
|
\par
|
||||||
|
The present documentation is a joint work between the second and third authors.
|
||||||
|
\cleardoublepage
|
||||||
|
\input {kenovrvw}
|
||||||
|
\tableofcontents
|
||||||
|
\cleardoublepage
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\input {ccdoc}
|
||||||
|
\input {ccehdoc}
|
||||||
|
\input {homlgdoc.tex}
|
||||||
|
\input {tprdoc}
|
||||||
|
\input {coaldoc.tex}
|
||||||
|
\input {aldoc.tex}
|
||||||
|
\input {ssdoc}
|
||||||
|
\input {smmrdoc.tex}
|
||||||
|
\input {ezdoc.tex}
|
||||||
|
\input {kandoc}
|
||||||
|
\input {smgrdoc.tex}
|
||||||
|
\input {fibrdoc.tex}
|
||||||
|
\input {lopspdoc}
|
||||||
|
\input {dspspdoc.tex}
|
||||||
|
\input {lptwdoc.tex}
|
||||||
|
\input {emspdoc1.tex}
|
||||||
|
\input {classydoc.tex}
|
||||||
|
\input {serredoc.tex}
|
||||||
|
\input {cstwdoc.tex}
|
||||||
|
\input {emspdoc2.tex}
|
||||||
|
\input {whithdoc.tex}
|
||||||
|
\begin{theindex}
|
||||||
|
\input kendoc.ind
|
||||||
|
\end{theindex}
|
||||||
|
\end{document}
|
||||||
475
doc/doc_src/kenovrvw.tex
Normal file
475
doc/doc_src/kenovrvw.tex
Normal file
@ -0,0 +1,475 @@
|
|||||||
|
\setcounter{chapter}{-1}
|
||||||
|
\chapter {Overview}
|
||||||
|
|
||||||
|
In this overview we try to show, without entering in detailed
|
||||||
|
explanations, various possibilities of {\tt Kenzo} in algebraic topology.
|
||||||
|
The lines ended by the symbol $==>$ are the commands typed by the user
|
||||||
|
(don't type this symbol!).
|
||||||
|
They are followed by the answer of the program. We have suppressed some
|
||||||
|
extra informations, in particular the ones printed during the computation
|
||||||
|
of homology groups.
|
||||||
|
\vskip 0.5cm
|
||||||
|
Let us begin by the space $Moore({\Z}/2{\Z}, 3)$ described as a simplicial set
|
||||||
|
having only three non--degenerate simplices, namely in dimension
|
||||||
|
$0$, $3$ and $4$. In the representation created by the software, the $0$--simplex (base point),
|
||||||
|
the $3$--simplex and the $4$--simplex are respectively labelled
|
||||||
|
``{\tt *}'', {\tt M3} and {\tt N4}. Two faces of the $4$-simplex {\tt N4} are identified with the
|
||||||
|
$3$-simplex {\tt M3}, the others being contracted on the base point. To create the simplicial set
|
||||||
|
one types simply:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf m23 (moore 2 3)) ==>
|
||||||
|
\end{verbatim}}
|
||||||
|
The system answers that a {\tt Kenzo} object has been created, with number $1$ and
|
||||||
|
type {\tt SIMPLICIAL SET}. This object may be referenced by the symbol {\tt m23}.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
[K1 Simplicial-Set]
|
||||||
|
\end{verbatim}}
|
||||||
|
We may compute the homology groups of this space, using the underlying chain complex
|
||||||
|
induced by the simplicial set description. Here we compute the $ H_i$ from $0$ to $4$ included.
|
||||||
|
When in the answer the component part is void, it means that the corresponding homology group is null.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(homology m23 0 5) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
--done--
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
--done--
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
--done--
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
--done--
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
As {\tt m23} is a simplicial set, it is possible to create the cartesian product
|
||||||
|
$m23 \times m23$ by the function {\tt crts-prdc}. This is a new simplicial set.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf m23xm23 (crts-prdc m23 m23)) ==>
|
||||||
|
|
||||||
|
[K10 Simplicial-Set]
|
||||||
|
\end{verbatim}}
|
||||||
|
Being a simplicial set, {\tt m23xm23} is also a chain complex object and we may for instance ask for
|
||||||
|
the basis in dimension $6$
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(basis m23xm23 6) ==>
|
||||||
|
|
||||||
|
(<CrPr 1-0 N4 3-2 N4> <CrPr 1-0 N4 4-2 N4> <CrPr 1-0 N4 4-3 N4>
|
||||||
|
<CrPr 1-0 N4 4-3-2 M3> <CrPr 1-0 N4 5-2 N4> <CrPr 1-0 N4 5-3 N4>
|
||||||
|
<CrPr 1-0 N4 5-3-2 M3> <CrPr 1-0 N4 5-4 N4>
|
||||||
|
.... ....
|
||||||
|
<CrPr 4-1 N4 5-3-2 M3> <CrPr 4-1-0 M3 3-2 N4> <CrPr 4-1-0 M3 5-2 N4>
|
||||||
|
<CrPr 4-1-0 M3 5-3 N4> <CrPr 4-1-0 M3 5-3-2 M3> ... ... ...)
|
||||||
|
|
||||||
|
(length *) ==>
|
||||||
|
|
||||||
|
230
|
||||||
|
\end{verbatim}}
|
||||||
|
As shown by the last command (* means the previous result),
|
||||||
|
the number of elements of the basis is quite large (230). The user
|
||||||
|
will note that the basis elements are formed by cartesian products of {\em degenerated simplices}. In
|
||||||
|
the list, an element like {\tt <CrPr 1-0 N4 5-3-2 M3>} means $\eta_1\eta_0 N4 \times \eta_5\eta_3\eta_2 M3$.
|
||||||
|
\par
|
||||||
|
We may construct also the tensor product $m23 \otimes m23$ from the underlying chain complex
|
||||||
|
of the simplicial set {\tt m23}. This tensor product is a new chain complex and we see that the
|
||||||
|
basis in dimension $6$ has only one element:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf t2m23 (tnsr-prdc m23 m23)) ==>
|
||||||
|
|
||||||
|
[K3 Chain-Complex]
|
||||||
|
|
||||||
|
(basis t2m23 6) ==>
|
||||||
|
|
||||||
|
(<TnPr M3 M3>)
|
||||||
|
\end{verbatim}}
|
||||||
|
The Eilenberg-Zilber theorem is used to compute the homology groups of the cartesian
|
||||||
|
product space: as chain complexes, {\tt m23xm23} and {\tt t2m23} have the same homology groups,
|
||||||
|
but the computations using the tensor product are considerably faster.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(homology m23xm23 0 8) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 : (meaning: Group null)
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Homology in dimension 6 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 7 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
Let us consider now the space $K({\Z}, 1)$. This is an Abelian simplicial group created in {\tt Kenzo}
|
||||||
|
by the function {\tt k-z}.
|
||||||
|
In this simplicial group, a simplex in dimension $n$
|
||||||
|
is mathematically represented by a sequence of integers, known as a {\em bar} object:
|
||||||
|
$$ [a_1 \mid a_2 \mid \ldots \mid a_n]. $$
|
||||||
|
In {\tt Kenzo}, a non-degenerate simplex of $K({\Z},1)$ in dimension $n$ will be simply
|
||||||
|
a list of $n$ non-null integers, for instance: {\tt (2 3 4 5)}. In dimension $0$, the only
|
||||||
|
simplex is {\tt NIL} (the base point).
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf kz1 (k-z 1)) ==>
|
||||||
|
|
||||||
|
[K38 Abelian-Simplicial-Group]
|
||||||
|
\end{verbatim}}
|
||||||
|
But this object is also a {\em coalgebra} and an {\em algebra}, and we may
|
||||||
|
see the effect of the respective induced {\em coproduct} and {\em product}:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(cprd kz1 4 '(2 3 4 5)) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
<1 * <TnPr NIL (2 3 4 5)>>
|
||||||
|
<1 * <TnPr (2) (3 4 5)>>
|
||||||
|
<1 * <TnPr (2 3) (4 5)>>
|
||||||
|
<1 * <TnPr (2 3 4) (5)>>
|
||||||
|
<1 * <TnPr (2 3 4 5) NIL>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(aprd kz1 6 (tnpr 2 '(1 2) 4 '(3 4 5 6))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 6}
|
||||||
|
<1 * (1 2 3 4 5 6)>
|
||||||
|
<-1 * (1 3 2 4 5 6)>
|
||||||
|
<1 * (1 3 4 2 5 6)>
|
||||||
|
<-1 * (1 3 4 5 2 6)>
|
||||||
|
<1 * (1 3 4 5 6 2)>
|
||||||
|
<1 * (3 1 2 4 5 6)>
|
||||||
|
<-1 * (3 1 4 2 5 6)>
|
||||||
|
<1 * (3 1 4 5 2 6)>
|
||||||
|
<-1 * (3 1 4 5 6 2)>
|
||||||
|
<1 * (3 4 1 2 5 6)>
|
||||||
|
<-1 * (3 4 1 5 2 6)>
|
||||||
|
<1 * (3 4 1 5 6 2)>
|
||||||
|
<1 * (3 4 5 1 2 6)>
|
||||||
|
<-1 * (3 4 5 1 6 2)>
|
||||||
|
<1 * (3 4 5 6 1 2)>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
The printed results are the printed representation of {\em combinations}, i.e.
|
||||||
|
integer linear combinations of generators resulting from the application of the
|
||||||
|
morphisms. The degree of the combination is indicated by the information: {\tt CMBN $n$}.
|
||||||
|
\par
|
||||||
|
On the same way, we may create the Abelian simplicial groups $K({\Z}/2{\Z}, n)$:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf k-z2-2 (k-z2 2)) ==>
|
||||||
|
|
||||||
|
[K488 Abelian-Simplicial-Group]
|
||||||
|
|
||||||
|
(homology k-z2-2 4) ==>
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Component Z/4Z
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
----------
|
||||||
|
\end{center}
|
||||||
|
Let us play now with the sphere $S^3$ and its loop spaces. $S^3$ and $\Omega^2 S^3$ are created by
|
||||||
|
respective calls to the functions {\tt sphere} and {\tt loop-space}. Then we compute the $H_4$ and $H_5$
|
||||||
|
of $\Omega^2 S^3$:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf s3 (sphere 3)) ==>
|
||||||
|
|
||||||
|
[K52 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf o2s3 (loop-space s3 2)) ==>
|
||||||
|
|
||||||
|
[K69 Simplicial-Group]
|
||||||
|
|
||||||
|
(homology o2s3 4 6) ==>
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Component Z/3Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Component Z/3Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
Let us take now the first loop space $\Omega^1 S^3$
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf s3 (sphere 3)) ==>
|
||||||
|
|
||||||
|
[K94 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf os3 (loop-space s3)) ==>
|
||||||
|
|
||||||
|
[K99 Simplicial-Group]
|
||||||
|
\end{verbatim}}
|
||||||
|
In the following instruction, we locate in the symbol {\tt L1} the canonical generator of
|
||||||
|
$\pi_2 (\Omega^1S^3)$, that is the $2$--simplex coming from the original sphere. In fact, the object
|
||||||
|
created by the command {\tt (loop3 0 's3 1)} is the ``word'' $S3^1$ belonging to the
|
||||||
|
Kan simplicial version $G(S^3)$ (a simplicial group) of the loop space $\Omega S^3$.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf L1 (loop3 0 's3 1)) ==>
|
||||||
|
|
||||||
|
<AbSm - <<Loop[S3]>>>
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us consider also the $2$--degeneracy of the base point of the loop space. In the printed
|
||||||
|
result, the user will recognize the degeneracy $\eta_1\eta_0$ of the null loop, base point of
|
||||||
|
$\Omega^1 S^3$:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf null-simp (absm 3 +null-loop+)) ==>
|
||||||
|
|
||||||
|
<AbSm 1-0 <<Loop>>>
|
||||||
|
\end{verbatim}}
|
||||||
|
We may build now a new space by pasting a disk $D3$ as indicated by the
|
||||||
|
following call. It means that we ``paste'' to the space {\tt os3} a $3$--simplex named {\tt D3},
|
||||||
|
the attaching map being described by the list of its faces in dimension $2$.
|
||||||
|
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf dos3 (disk-pasting os3 3 '<D3>
|
||||||
|
(list L1 null-simp L1 null-simp))) ==>
|
||||||
|
|
||||||
|
[K212 Simplicial-Set]
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us compute a few homology groups of the new space {\tt dos3}:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(homology dos3 2 4) ==>
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
But more interesting, let us build the loop space of the object {\tt dos3} and
|
||||||
|
let us compute the ho\-mo\-lo\-gy in dimension $5$:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf odos3 (loop-space dos3)) ==>
|
||||||
|
|
||||||
|
[K230 Simplicial-Group]
|
||||||
|
|
||||||
|
(homology odos3 5) ==>
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
--done--
|
||||||
|
\end{verbatim}}
|
||||||
|
\begin{center}
|
||||||
|
--------
|
||||||
|
\end{center}
|
||||||
|
Let us continue with the Kan theory. First, we check that $S^3$ is not of type Kan and that $\Omega S^3$
|
||||||
|
is indeed of type Kan and a non--Abelian simplicial group.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(typep s3 'kan) ==>
|
||||||
|
|
||||||
|
NIL
|
||||||
|
|
||||||
|
(typep os3 'kan) ==>
|
||||||
|
|
||||||
|
T
|
||||||
|
|
||||||
|
(typep os3 'simplicial-group) ==>
|
||||||
|
|
||||||
|
T
|
||||||
|
|
||||||
|
(typep os3 'ab-simplicial-group) ==>
|
||||||
|
|
||||||
|
NIL
|
||||||
|
|
||||||
|
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us create the word $L2=(S3)^2$, i.e an object belonging to $\Omega S^3$ and let us
|
||||||
|
apply the product of the underlying algebra upon $L2 \otimes L2$:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf L2 (loop3 0 's3 2)) ==>
|
||||||
|
|
||||||
|
<<Loop[S3\2]>>
|
||||||
|
|
||||||
|
(setf square (aprd os3 4 (tnpr 2 L2 2 L2))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
<1 * <<Loop[1-0 S3\2][3-2 S3\2]>>>
|
||||||
|
<-1 * <<Loop[2-0 S3\2][3-1 S3\2]>>> <-------
|
||||||
|
<1 * <<Loop[2-1 S3\2][3-0 S3\2]>>>
|
||||||
|
<1 * <<Loop[3-0 S3\2][2-1 S3\2]>>>
|
||||||
|
<-1 * <<Loop[3-1 S3\2][2-0 S3\2]>>>
|
||||||
|
<1 * <<Loop[3-2 S3\2][1-0 S3\2]>>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
We see that the result is a linear combination of words composed from degeneracies
|
||||||
|
of {\tt L2}. The following instruction selects the generator part of the
|
||||||
|
second element of the previous combination (noted by the reverse arrow).
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf L4 (gnrt (second (cmbn-list square)))) ==>
|
||||||
|
|
||||||
|
<<Loop[2-0 S3\2][3-1 S3\2]>>
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us use the lisp function {\tt mapcar} (one among the various iteration functions of Lisp) to
|
||||||
|
create the list of the faces 1, 2, 3 and 4 of the object {\tt L4}, this list is a ``Kan hat''.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf hat (mapcar #'(lambda (i) (face os3 i 4 l4)) '(1 2 3 4))) ==>
|
||||||
|
|
||||||
|
(<AbSm - <<Loop[1 S3\2][2 S3\2]>>> <AbSm - <<Loop[0 S3\2][2 S3\2]>>>
|
||||||
|
<AbSm - <<Loop[0 S3\2][1 S3\2]>>> <AbSm 1 <<Loop[S3\2]>>>)
|
||||||
|
\end{verbatim}}
|
||||||
|
The function {\tt kfll} tries to find a filling of this ``Kan hat'', and we see that
|
||||||
|
the face $2$ of the resulting simplex (which is very different from {\tt L4}) is the same
|
||||||
|
as the face $2$ of {\tt L4}.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf kan-simplex (kfll os3 0 4 hat)) ==>
|
||||||
|
|
||||||
|
<AbSm - <<Loop[3-1 S3\2][2-1 S3\-2][2-0 S3\2][1-0 S3\-2][2-1 S3\2][3-1 S3\-2]
|
||||||
|
[1-0 S3\2][3-1 S3\2][3-0 S3\-2][1-0 S3\-2][3-0 S3\2][2-0 S3\-2]
|
||||||
|
[1-0 S3\2][3-0 S3\-2][2-0 S3\2][3-0 S3\2]>>>
|
||||||
|
|
||||||
|
(face os3 2 4 kan-simplex) ==>
|
||||||
|
|
||||||
|
<AbSm - <<Loop[0 S3\2][2 S3\2]>>>
|
||||||
|
|
||||||
|
(second hat) ==>
|
||||||
|
|
||||||
|
<AbSm - <<Loop[0 S3\2][2 S3\2]>>>
|
||||||
|
\end{verbatim}}
|
||||||
|
\begin{center}
|
||||||
|
--------
|
||||||
|
\end{center}
|
||||||
|
Let ${\cal G}$ be a simplicial group $0$--reduced. $\Omega S^3$ is such a group.
|
||||||
|
The software {\tt Kenzo} allows
|
||||||
|
the construction of the universal bundle $\bar{\cal W}{\cal G}$, i.e. the
|
||||||
|
classifying space of ${\cal G}$. In our case, as $\Omega S^3$ in non--Abelian, the
|
||||||
|
result is not a simplicial group but only a simplicial set. We verify that the $H_4$ is null.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf cls-os3 (classifying-space os3)) ==>
|
||||||
|
|
||||||
|
[K598 Simplicial-Set]
|
||||||
|
|
||||||
|
(typep cls-os3 'simplicial-group) ==>
|
||||||
|
|
||||||
|
NIL
|
||||||
|
|
||||||
|
(homology cls-os3 4) ==>
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
\begin{center}
|
||||||
|
--------
|
||||||
|
\end{center}
|
||||||
|
\vskip 0.40cm
|
||||||
|
Let us end this short overview with an example of computation of homotopy groups.
|
||||||
|
The method used in {\tt Kenzo} is the Whitehead tower.
|
||||||
|
In this current version only the case where the first non--null
|
||||||
|
homology group (in non--null dimension) is ${\Z}$ or ${\Z}/{2 {\Z}}$ can be processed; however if this
|
||||||
|
homology group is a direct sum of several copies of ${\Z}$ or ${\Z}/{2 {\Z}}$, then the corresponding
|
||||||
|
stage of the Whitehead tower may also be constructed step by step.
|
||||||
|
\vskip 0.40cm
|
||||||
|
We take again $Moore({\Z}/2{\Z}, 3)$ whose $H_3$ is ${\Z}/2{\Z}$. First the fundamental cohomology
|
||||||
|
class is constructed:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf ch3 (chml-clss m23 3)) ==>
|
||||||
|
|
||||||
|
[K729 Cohomology-Class on K1 of degree 3]
|
||||||
|
\end{verbatim}}
|
||||||
|
Then the function {\tt z2-whitehead} is called to build a fibration over the simplicial set {\tt m23}
|
||||||
|
canonically associated to the cohomology class {\tt ch3}.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf f3 (z2-whitehead m23 ch3)) ==>
|
||||||
|
|
||||||
|
[K730 Fibration K1 -> K488]
|
||||||
|
\end{verbatim}}
|
||||||
|
Then the total space of the fibration is built:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf x4 (fibration-total f3)) ==>
|
||||||
|
|
||||||
|
[K736 Simplicial-Set]
|
||||||
|
\end{verbatim}}
|
||||||
|
The $H_4$ of this total space is the $\pi_4$ of $Moore({\Z}/2{\Z})$:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(homology x4 3 5) ==>
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
We may now iterate the process, to compute the $\pi_5$ of $Moore({\Z}/2{\Z})$:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf ch4 (chml-clss x4 4)) ==>
|
||||||
|
|
||||||
|
[K817 Cohomology-Class on K802 of degree 4]
|
||||||
|
|
||||||
|
(setf f4 (z2-whitehead x4 ch4)) ==>
|
||||||
|
|
||||||
|
[K832 Fibration K736 -> K818]
|
||||||
|
|
||||||
|
(setf x5 (fibration-total f4)) ==>
|
||||||
|
|
||||||
|
[K838 Simplicial-Set]
|
||||||
|
|
||||||
|
(homology x5 4 6) ==>
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Component Z/4Z
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
So $\pi_5(Moore({\Z}/2{\Z}))$ is ${\Z}/4{\Z}$.
|
||||||
412
doc/doc_src/lopspdoc.tex
Normal file
412
doc/doc_src/lopspdoc.tex
Normal file
@ -0,0 +1,412 @@
|
|||||||
|
\chapter{Loop Spaces}
|
||||||
|
|
||||||
|
\section{Introduction}
|
||||||
|
|
||||||
|
Let us recall the definition of the {\em free group} generated by a set ${\cal A}$.
|
||||||
|
Consider the set ${\cal A}\times \lbrace +1, -1 \rbrace$ and
|
||||||
|
make, as long as there is no ambiguity, the identification $a_i= (a_i,1)$ and $a_i^{-1}= (a_i,-1)$
|
||||||
|
for all $a_i\in{\cal A}$.
|
||||||
|
|
||||||
|
\proclaim {Definition}. $a_i$ and its formal inverse $a_i^{-1}$ are {\em letters}.
|
||||||
|
|
||||||
|
\proclaim {Definition}. A word is a {\em finite} sequence of letters, possibly repeated,
|
||||||
|
without any pair of the form $a_ja_j^{-1}$ and $a_k^{-1}a_k$. The word is said {\em reduced}.
|
||||||
|
|
||||||
|
Now, let $\Z^{*{\cal A}}$ the set of {\em words} on $\cal A$.
|
||||||
|
It is easy to show that if we define in $\Z^{*{\cal A}}$ an internal law of composition as the
|
||||||
|
formal {\em concatenation} of two words,
|
||||||
|
on which the cancelation rule is applied, i.e. any pair of the form
|
||||||
|
$a_ja_j^{-1}$ and $a_k^{-1}a_k$ is replaced by the {\em void sequence},
|
||||||
|
then $\Z^{*{\cal A}}$ is a group (non-commutative in general).
|
||||||
|
The void word is the neutral element for that law. If we consider
|
||||||
|
the concatenation as a {\em product}, then, as usual in group theory,
|
||||||
|
a sequence of $k$ times the same letter $a$
|
||||||
|
will be written $a^k$ and a sequence of $k$ times the same letter $a^{-1}$,
|
||||||
|
$a^{-k}$. So a word
|
||||||
|
formed from letters by the concatenation product together with the cancellation rule,
|
||||||
|
will be written under the reduced form:
|
||||||
|
$$a_1^{n_1}a_2^{n_2}\ldots a_k^{n_k},\ n_i\in {\Z}^*,\ a_i\in {\cal A},\ a_i \not= a_{i+1}$$
|
||||||
|
and its inverse is
|
||||||
|
$$a_k^{-n_k}\ldots a_2^{-n_2}a_1^{-n_1}.$$
|
||||||
|
After this r\'esum\'e, let $X$ be a reduced simplicial set (i.e. having only one $0$--simplex,
|
||||||
|
namely its base point). The Kan simplicial version\index{loop space! Kan simplicial version} $GX$
|
||||||
|
of the loop space $\Omega(|X|)$ is defined as follows.
|
||||||
|
The set of $n$--simplices $GX_n$ is the free group generated by the $(n+1)$--simplices
|
||||||
|
$\sigma \in X_{n+1}$ except those which are $n$--degenerate. In other words:
|
||||||
|
$$ GX_n=\Z^{*X^+_{n+1}},\ X^+_{n+1}=X_{n+1}-\eta_n X_n. $$
|
||||||
|
In fact, from a strictly mathematical point of view, the right definition is
|
||||||
|
$$ GX_n = \Z^{*X^+_{n+1}} / {\overline{\eta_n X_n}},$$
|
||||||
|
i.e. the quotient group of $\Z^{*X^+_{n+1}}$, the free group generated by {\bf all} the $n+1$--simplices,
|
||||||
|
the $n$--degenerate included, by the normal subgroup ${\overline{\eta_n X_n}}$ generated by
|
||||||
|
the $n$--degenerate simplices. Both definitions are equivalent, the second is mathematicaly
|
||||||
|
correct but only the first one is visible in the program.
|
||||||
|
\vskip 0.35cm
|
||||||
|
For a better understanding, we may distinguish carefully a generator $\sigma$ belonging to $X_{n+1}$ and
|
||||||
|
the corresponding letter $\tau (\sigma) \in GX_n$. So a word, element
|
||||||
|
of $GX_n$ will be written
|
||||||
|
$${\tau(\sigma_1)}^{\epsilon_1} {\tau(\sigma_2)}^{\epsilon_2} \ldots {\tau(\sigma_p)}^{\epsilon_p}.$$
|
||||||
|
Now, let us define two homomorphisms:
|
||||||
|
$$ \overline{\partial}_i^n: GX_n \longrightarrow GX_{n-1},\ \overline{\eta}_i^n: GX_n \longrightarrow GX_{n+1},$$
|
||||||
|
by the following relations, keeping in mind that $\partial_i$ and $\eta_i$ are respectively the face
|
||||||
|
and degeneracy operators acting on the simplices of $X$:
|
||||||
|
\begin{eqnarray*}
|
||||||
|
\overline{\partial}_i(\tau(\sigma)) & = & \tau(\partial_i\sigma),\qquad 0 \leq i < n, \\
|
||||||
|
\overline{\partial}_n(\tau(\sigma)) & = & \tau(\partial_{n+1}\sigma)^{-1}\tau(\partial_n\sigma), \\
|
||||||
|
\overline{\eta}_i(\tau(\sigma)) & = & \tau(\eta_i\sigma),\qquad 0 \leq i \leq n.
|
||||||
|
\end{eqnarray*}
|
||||||
|
When applied to words, the two homomorphisms, $\overline{\partial}$ and $\overline{\eta}$, satisfy
|
||||||
|
(for cla\-ri\-ty, we omit here the operator $\tau$):
|
||||||
|
\begin{eqnarray*}
|
||||||
|
\overline{\partial}(a_1^{n_1}\ldots a_k^{n_k}) &=& (\overline{\partial}(a_1))^{n_1}\ldots
|
||||||
|
(\overline{\partial}(a_k))^{n_k}, \\
|
||||||
|
\overline{\eta}(a_1^{n_1}\ldots a_k^{n_k}) &=& (\overline{\eta}(a_1))^{n_1}\ldots (\overline{\eta}(a_k))^{n_k}.
|
||||||
|
\end{eqnarray*}
|
||||||
|
It is known that the $\overline{\partial}_i$ and the $\overline{\eta}_i$ satisfy the
|
||||||
|
fundamental relations between face and degeneracy operators (see the chapter on simplicial sets). So,
|
||||||
|
$GX$ is itself a simplicial set; each $GX_n$ is a group, each face and degeneracy operator
|
||||||
|
is an homomorphism, so that $GX$ is a {\em simplicial group}.
|
||||||
|
The importance of the simplicial group $GX$ is emphasized by the Kan theorem, stating
|
||||||
|
that if we consider the realization $|X|$ of $X$ and the loop space $\Omega(|X|, x_0)$ at
|
||||||
|
the base point $x_0 \in |X|$, then $\Omega(|X|, x_0)$ and
|
||||||
|
the realization $|GX|$ of $GX$ have the same homotopy type.
|
||||||
|
|
||||||
|
\section {Representation of letters and words}
|
||||||
|
|
||||||
|
In the system, the chosen representation for letters and words follows the very definition
|
||||||
|
of the free group ${\Z}^{*X_{n+1}^+}$. Here, a letter is a generator of $GX_n$ i.e. an {\bf abstract simplex}
|
||||||
|
$\sigma$ of $X^+_{n+1}$.
|
||||||
|
A word will be implemented as a sequence of such letters to a certain power (including 1).
|
||||||
|
The chosen terminology is the following:
|
||||||
|
\begin{itemize}
|
||||||
|
\item A term like $\sigma^p$ is a {\bf power}.
|
||||||
|
\item A word ${\sigma_1}^{\epsilon_1} {\sigma_2}^{\epsilon_2} \ldots {\sigma_p}^{\epsilon_p}$
|
||||||
|
is a {\bf loop}.
|
||||||
|
\end{itemize}
|
||||||
|
Note that, in this framework the operator $\tau$ is not visible.
|
||||||
|
|
||||||
|
\subsection{Representation of a power}
|
||||||
|
|
||||||
|
A power is internally represented by lisp object of type {\tt apowr}. This has the form:
|
||||||
|
\begin{center}
|
||||||
|
{\tt ({\em dgop} {\em gmsm} . {\em expn})}
|
||||||
|
\end{center}
|
||||||
|
in which we may recognize:
|
||||||
|
\begin{enumerate}
|
||||||
|
\item the components of the abstract simplex: {\em dgop} and {\em gmsm},
|
||||||
|
\item the exponent of the letter: {\em expn}, an integer.
|
||||||
|
\end{enumerate}
|
||||||
|
The associated constructor is the macro {\tt apowr}.
|
||||||
|
\vskip 0.45cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt apowr} {\em dgop gmsm expn} \hfill {\em [Macro]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build an object of type {\tt apowr}.
|
||||||
|
The accessor macros are respectively {\tt apdgop}, {\tt apgmsm} and {\tt apexpn}. There
|
||||||
|
is no special printing function since the real object interesting for the user is not
|
||||||
|
the power but rather the loop.\par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Representation of a loop}
|
||||||
|
|
||||||
|
A\index{loop space!representation of a loop} loop is represented by a lisp object of the form:
|
||||||
|
\begin{center} {\tt (:loop $apower_1$ ... $apower_k$)} \end{center}
|
||||||
|
The corresponding type is {\tt LOOP}.
|
||||||
|
The constructor is the macro {\tt make-loop} but the pratical one is {\tt loop3} and the associated
|
||||||
|
printing function prints the object under the form:
|
||||||
|
\begin{center}
|
||||||
|
{\tt <<Loop [{\em ext-dgop1 gmsm1} {\em expn1}] ... [{\em ext-dgopk gmsmk} {\em expnk}]>>}
|
||||||
|
\end{center}
|
||||||
|
where the {\em ext-dgop}'s are under the form of a readable sequence of $\eta$ operators.
|
||||||
|
|
||||||
|
\subsubsection {Notion of normalized loop}
|
||||||
|
|
||||||
|
Normalizing\index{loop space!normalized loop} a loop is a matter of factoring the degeneracy operators
|
||||||
|
components (the {\em dgop}'s) of the
|
||||||
|
{\em apowr}'s and building an object of type {\tt ABSM} belonging to the simplicial set $GX$.
|
||||||
|
For instance, the normalized null-loop in dimension $5$ is {\tt <AbSm 4-3-2-1-0 <<Loop>>>}. For non-null
|
||||||
|
loops, the following examples show the transformation. We have written the loops under the form printed by the
|
||||||
|
system.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
<<Loop [1-0 A\2]>> ===> <AbSm 1-0 <<Loop [A\2]>>>
|
||||||
|
|
||||||
|
<<Loop [3-2-1 A\2] [4-2 B\3]>> ===> <AbSm 2 <<Loop [2-1 A\2] [3 B\3]>>>.
|
||||||
|
|
||||||
|
<<Loop [2-1 A\2] [2-0 B\2] [1-0 A\3]>> ===>
|
||||||
|
|
||||||
|
<AbSm - <<Loop [2-1 A\2] [2-0 B\2] [1-0 A\3]>>>
|
||||||
|
|
||||||
|
<<Loop [2-1-0 A\2] [2-1-0 B\2] [2-1-0 A\3]>> ===>
|
||||||
|
|
||||||
|
<AbSm 2-1-0 <<Loop [A\2] [B\2] [A\3]>>>
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\section{A set of functions for loops}
|
||||||
|
|
||||||
|
To facilitate the construction of objects of {\tt LOOP} type,
|
||||||
|
a set of useful functions is provided by the system.
|
||||||
|
\vskip 0.50cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt loop3} {\em dgop1 gmsm1 pwr1 ... dgopk gmsmk pwrk} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Construct a loop (a word) corresponding to the product of the abstract simplices $asm_i$, the components
|
||||||
|
of which being $dgop_i$ and $gmsm_i$, to
|
||||||
|
the power $pwr_i$. The function constructs itself the objects of type {\tt apowr} from the arguments.
|
||||||
|
It accepts an indefinite number of arguments, including none.
|
||||||
|
If there is no argument, the null loop is created. It exists in fact in the system
|
||||||
|
the constant {\tt +null-loop+} which is the base point of the underlying simplicial group.
|
||||||
|
{\bf Warning}: the function {\tt loop3} does
|
||||||
|
return neither a normalized loop nor a reduced word (no automatic simplification),
|
||||||
|
so it is up to the user to give a correct sequence of arguments
|
||||||
|
cor\-res\-pon\-ding to a reduced word.
|
||||||
|
\par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt loop-space-cmpr} {\em cmpr} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the comparison function {\em cmpr} suitable for comparing the geometrical simplices belonging to the
|
||||||
|
underlying simplicial set, build a comparison function for objects of type {\tt LOOP}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt loop-space-face} {\em cmpr face} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the comparison function {\em cmpr} and the face function {\em face}, build a face function
|
||||||
|
for an object of type {\tt LOOP} returning the face of such an object as an {\tt ABSM} type object
|
||||||
|
(a normalized loop). \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt loop-space-face*} {\em cmpr face} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the comparison function {\em cmpr} and the face function {\em face}, build a face* function.
|
||||||
|
See the description of the slot {\tt face*} in the simplicial sets chapter. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt loop-space-grml-sintr} {\em cmpr} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
From the comparison function {\em cmpr}, build a function for the group operation of the loop space
|
||||||
|
(a simplicial group). \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt loop-space-grin-sintr} {\em dmns loop} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the inverse of the object {\em loop} in the simplicial group. The first argument {\em dmns}
|
||||||
|
is mandatory but ignored. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt loop-space} {\em smst} {\tt \&optional (n 1)} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
If the second argument is {\tt 1} or omitted, construct, from the {\bf reduced} simplicial set $X$,
|
||||||
|
here the argument {\em smst}, the corresponding simplicial
|
||||||
|
group $GX$. The new created simplicial set is of course locally effective and its base point is the null loop.
|
||||||
|
For any other positive integer value $n$ of the second argument, build the $n$-th i\-te\-ra\-ted loop space of $X$.
|
||||||
|
The basic construction is given by the following call to the function {\tt build-smgr}:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(build-smgr :cmpr (loop-space-cmpr cmpr)
|
||||||
|
:basis :locally-effective
|
||||||
|
:bspn +null-loop+
|
||||||
|
:face (loop-space-face cmpr face)
|
||||||
|
:face* (loop-space-face* cmpr face)
|
||||||
|
:sintr-grml (loop-space-grml-sintr cmpr)
|
||||||
|
:sintr-grin #'loop-space-grin-sintr
|
||||||
|
:orgn `(loop-space ,smst))
|
||||||
|
\end{verbatim}}
|
||||||
|
\par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt gdeltab} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build $\Omega^1(\bar{\Delta})$. This is simply {\tt (loop-space(deltab))}.
|
||||||
|
We recall that $\bar{\Delta}$ is the reduced and locally effective simplicial set
|
||||||
|
obtained from ${\Delta}^{\N}$, by identifying all the vertices to the base point.
|
||||||
|
$\Delta^{\N}$ is the locally effective simplicial set freely generated
|
||||||
|
by the positive integers. \par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection*{Examples}
|
||||||
|
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(loop3) ==>
|
||||||
|
|
||||||
|
<<Loop>>
|
||||||
|
|
||||||
|
(loop3 0 'a 2 20 'b -3 12 'c 1) ==>
|
||||||
|
|
||||||
|
<<Loop [A\2] [4-2 B\-3] [3-2 C]>>
|
||||||
|
|
||||||
|
(loop3 0 'a 2 20 'b -3 12 'c 1 0 'a 3) ==>
|
||||||
|
|
||||||
|
<<Loop [A\2] [4-2 B\-3] [3-2 C] [A\3]>>
|
||||||
|
|
||||||
|
(loop3 (dgop-ext-int '(2 1 0)) 'p 2
|
||||||
|
(dgop-ext-int '(5 4 3 2 1)) 'q 5) ==>
|
||||||
|
|
||||||
|
<<Loop [2-1-0 P\2] [5-4-3-2-1 Q\5]>>
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
Let us consider now a true reduced simplicial set, namely $Moore({\Z}/{2{\Z}}, 3)$,
|
||||||
|
whose structure is shown using the function {\tt show-structure} defined in the Simplicial Sets chapter.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf moore23 (moore 2 3)) ==>
|
||||||
|
|
||||||
|
[K7 Simplicial-Set]
|
||||||
|
|
||||||
|
(show-structure moore23 4) ==>
|
||||||
|
|
||||||
|
|
||||||
|
Dimension = 0 :
|
||||||
|
|
||||||
|
Vertices : (*)
|
||||||
|
|
||||||
|
Dimension = 1 :
|
||||||
|
|
||||||
|
Dimension = 2 :
|
||||||
|
|
||||||
|
Dimension = 3 :
|
||||||
|
|
||||||
|
Simplex : M3
|
||||||
|
|
||||||
|
Faces : (<AbSm 1-0 *> <AbSm 1-0 *>
|
||||||
|
<AbSm 1-0 *> <AbSm 1-0 *>)
|
||||||
|
|
||||||
|
Dimension = 4 :
|
||||||
|
|
||||||
|
Simplex : N4
|
||||||
|
|
||||||
|
Faces : (<AbSm - M3> <AbSm 2-1-0 *>
|
||||||
|
<AbSm - M3> <AbSm 2-1-0 *> <AbSm 2-1-0 *>)
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us build now $\Omega^1(Moore({\Z}/{2{\Z}}, 3))$ and ask for faces of some loops.
|
||||||
|
The user will note that the function face admits either {\tt LOOP} type objects or
|
||||||
|
{\tt ABSM} type objects (normalized loop) but always returns normalized loops, i.e.
|
||||||
|
an abstract simplex, according to the normal behaviour of the face function in a
|
||||||
|
simplicial set.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf o-moore23 (loop-space moore23)) ==>
|
||||||
|
|
||||||
|
[K11 Simplicial-Group]
|
||||||
|
|
||||||
|
(face o-moore23 0 4 +null-loop+) ==>
|
||||||
|
|
||||||
|
<AbSm 2-1-0 <<Loop>>>
|
||||||
|
|
||||||
|
(face o-moore23 0 3 (loop3 0 'N4 2)) ==>
|
||||||
|
|
||||||
|
<AbSm - <<Loop [M3\2]>>>
|
||||||
|
|
||||||
|
(face o-moore23 1 3 (loop3 0 'N4 2)) ==>
|
||||||
|
|
||||||
|
<AbSm 1-0 <<Loop>>>
|
||||||
|
|
||||||
|
(face o-moore23 1 4 (loop3 1 'N4 2)) ==>
|
||||||
|
|
||||||
|
<AbSm - <<Loop [N4\2]>>>
|
||||||
|
|
||||||
|
(face o-moore23 0 2 (loop3 0 'M3 2)) ==>
|
||||||
|
|
||||||
|
<AbSm 0 <<Loop>>>
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
Let us do the same with the following reduced simplicial set ({\tt ss2}) and with $\Omega^1(\bar{\Delta})$.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf ss2 (build-finite-ss '( *
|
||||||
|
2 s2 (* * *)
|
||||||
|
3 s3 (s2 s2 s2 s2)))) ==>
|
||||||
|
|
||||||
|
Checking the 0-simplices...
|
||||||
|
Checking the 1-simplices...
|
||||||
|
Checking the 2-simplices...
|
||||||
|
Checking the 3-simplices...
|
||||||
|
[K18 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf o-ss2 (loop-space ss2)) ==>
|
||||||
|
|
||||||
|
[K23 Simplicial-Group]
|
||||||
|
|
||||||
|
(face o-ss2 0 1 (loop3 0 's2 1)) ==>
|
||||||
|
|
||||||
|
<AbSm - <<Loop>>>
|
||||||
|
|
||||||
|
(face o-ss2 0 2 (loop3 0 's3 2)) ==>
|
||||||
|
|
||||||
|
<AbSm - <<Loop [S2\2]>>>
|
||||||
|
|
||||||
|
(face o-ss2 1 2 (loop3 0 's3 2)) ==>
|
||||||
|
|
||||||
|
<AbSm - <<Loop [S2\2]>>>
|
||||||
|
|
||||||
|
(face o-ss2 1 2 (loop3 0 's3 2)) ==>
|
||||||
|
|
||||||
|
<AbSm - <<Loop [S2\2]>>>
|
||||||
|
|
||||||
|
(setf db (gdeltab)) ==>
|
||||||
|
|
||||||
|
[K40 Simplicial-Group]
|
||||||
|
|
||||||
|
(face db 3 3 (loop3 12 7 3)) ==>
|
||||||
|
|
||||||
|
<AbSm 1-0 <<Loop>>>
|
||||||
|
|
||||||
|
(face db 3 3 (loop3 5 7 3)) ==>
|
||||||
|
|
||||||
|
<AbSm 0 <<Loop [7\3]>>>
|
||||||
|
|
||||||
|
(face db 3 3 (loop3 6 7 3 5 7 3 3 7 3)) ==>
|
||||||
|
|
||||||
|
<AbSm - <<Loop [1 7\3] [0 7\3] [1-0 3\-1] [1-0 5] [1-0 3\-1]
|
||||||
|
[1-0 5] [1-0 3\-1] [1-0 5]>>>
|
||||||
|
|
||||||
|
(face db 3 2 *) ==>
|
||||||
|
|
||||||
|
<AbSm - <<Loop [7\3] [0 3\-1] [0 5] [0 3\-1] [0 5] [0 3\-1]
|
||||||
|
[0 5] [0 3\-1] [0 5] [0 3\-1] [0 5] [0 3\-1] [0 5]>>>
|
||||||
|
\end{verbatim}}
|
||||||
|
The last statement shows that the boundary operator attached to
|
||||||
|
the chain complex derived from all this machinery satisfies its fundamental
|
||||||
|
property ($d\circ d=0$).
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(? db (? db 3 (loop3 (dgop-ext-int '(3 2)) (dlop-ext-int '(0 1 2)) 3
|
||||||
|
(dgop-ext-int '(3 1)) (dlop-ext-int '(0 1 2)) 3
|
||||||
|
(dgop-ext-int '(2 1)) (dlop-ext-int '(0 1 2)) 3))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 1}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
The loop spaces of reduced simplicial sets, provide us with new examples of algebras. So, we may apply
|
||||||
|
the functor {\tt bar}.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf moore-22 (moore 2 2)) ==>
|
||||||
|
|
||||||
|
[K1 Simplicial-Set]
|
||||||
|
|
||||||
|
(dotimes (i 4) (print (basis moore-22 i :dgnr))) ==>
|
||||||
|
|
||||||
|
(<AbSm - *>)
|
||||||
|
(<AbSm 0 *>)
|
||||||
|
(<AbSm - M2> <AbSm 1-0 *>)
|
||||||
|
(<AbSm - N3> <AbSm 0 M2> <AbSm 1 M2> <AbSm 2 M2> <AbSm 2-1-0 *>)
|
||||||
|
|
||||||
|
(setf o-moore-22 (loop-space moore-22)) ==>
|
||||||
|
|
||||||
|
[K6 Simplicial-Group]
|
||||||
|
|
||||||
|
(aprd o-moore-22 3 (tnpr 1 (loop3 0 'm2 1) 2 (loop3 0 'n3 1))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<1 * <<Loop[1-0 M2][2 N3]>>>
|
||||||
|
<-1 * <<Loop[2-0 M2][1 N3]>>>
|
||||||
|
<1 * <<Loop[2-1 M2][0 N3]>>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf bar-om (bar o-moore-22)) ==>
|
||||||
|
|
||||||
|
[K36 Chain-Complex]
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(? bar-om 5 (abar 2 (loop3 0 'm2 1) 3 (loop3 0 'n3 1))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
<1 * <<Abar[4 <<Loop[1-0 M2][2 N3]>>]>>>
|
||||||
|
<-1 * <<Abar[4 <<Loop[2-0 M2][1 N3]>>]>>>
|
||||||
|
<1 * <<Abar[4 <<Loop[2-1 M2][0 N3]>>]>>>
|
||||||
|
<-2 * <<Abar[2 <<Loop[M2]>>][2 <<Loop[M2]>>]>>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\subsection* {Lisp file concerned in this chapter}
|
||||||
|
|
||||||
|
{\tt loop-spaces.lisp}.
|
||||||
1405
doc/doc_src/lptwdoc.tex
Normal file
1405
doc/doc_src/lptwdoc.tex
Normal file
File diff suppressed because it is too large
Load Diff
202
doc/doc_src/moebiuss.eps
Normal file
202
doc/doc_src/moebiuss.eps
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
%!PS-Adobe-2.0 EPSF-2.0
|
||||||
|
%%Title: moebiuss.fig
|
||||||
|
%%Creator: fig2dev Version 3.1 Patchlevel 2
|
||||||
|
%%CreationDate: Wed Jun 26 16:59:27 1996
|
||||||
|
%%For: siret@puccini (Yvon Siret)
|
||||||
|
%Magnification: 0.60
|
||||||
|
%%Orientation: Portrait
|
||||||
|
%%BoundingBox: 0 0 218 164
|
||||||
|
%%Pages: 0
|
||||||
|
%%BeginSetup
|
||||||
|
%%IncludeFeature: *PageSize Letter
|
||||||
|
%%EndSetup
|
||||||
|
%%EndComments
|
||||||
|
/$F2psDict 200 dict def
|
||||||
|
$F2psDict begin
|
||||||
|
$F2psDict /mtrx matrix put
|
||||||
|
/col-1 {0 setgray} bind def
|
||||||
|
/col0 {0.000 0.000 0.000 srgb} bind def
|
||||||
|
/col1 {0.000 0.000 1.000 srgb} bind def
|
||||||
|
/col2 {0.000 1.000 0.000 srgb} bind def
|
||||||
|
/col3 {0.000 1.000 1.000 srgb} bind def
|
||||||
|
/col4 {1.000 0.000 0.000 srgb} bind def
|
||||||
|
/col5 {1.000 0.000 1.000 srgb} bind def
|
||||||
|
/col6 {1.000 1.000 0.000 srgb} bind def
|
||||||
|
/col7 {1.000 1.000 1.000 srgb} bind def
|
||||||
|
/col8 {0.000 0.000 0.560 srgb} bind def
|
||||||
|
/col9 {0.000 0.000 0.690 srgb} bind def
|
||||||
|
/col10 {0.000 0.000 0.820 srgb} bind def
|
||||||
|
/col11 {0.530 0.810 1.000 srgb} bind def
|
||||||
|
/col12 {0.000 0.560 0.000 srgb} bind def
|
||||||
|
/col13 {0.000 0.690 0.000 srgb} bind def
|
||||||
|
/col14 {0.000 0.820 0.000 srgb} bind def
|
||||||
|
/col15 {0.000 0.560 0.560 srgb} bind def
|
||||||
|
/col16 {0.000 0.690 0.690 srgb} bind def
|
||||||
|
/col17 {0.000 0.820 0.820 srgb} bind def
|
||||||
|
/col18 {0.560 0.000 0.000 srgb} bind def
|
||||||
|
/col19 {0.690 0.000 0.000 srgb} bind def
|
||||||
|
/col20 {0.820 0.000 0.000 srgb} bind def
|
||||||
|
/col21 {0.560 0.000 0.560 srgb} bind def
|
||||||
|
/col22 {0.690 0.000 0.690 srgb} bind def
|
||||||
|
/col23 {0.820 0.000 0.820 srgb} bind def
|
||||||
|
/col24 {0.500 0.190 0.000 srgb} bind def
|
||||||
|
/col25 {0.630 0.250 0.000 srgb} bind def
|
||||||
|
/col26 {0.750 0.380 0.000 srgb} bind def
|
||||||
|
/col27 {1.000 0.500 0.500 srgb} bind def
|
||||||
|
/col28 {1.000 0.630 0.630 srgb} bind def
|
||||||
|
/col29 {1.000 0.750 0.750 srgb} bind def
|
||||||
|
/col30 {1.000 0.880 0.880 srgb} bind def
|
||||||
|
/col31 {1.000 0.840 0.000 srgb} bind def
|
||||||
|
|
||||||
|
end
|
||||||
|
save
|
||||||
|
-64.0 217.0 translate
|
||||||
|
1 -1 scale
|
||||||
|
|
||||||
|
/cp {closepath} bind def
|
||||||
|
/ef {eofill} bind def
|
||||||
|
/gr {grestore} bind def
|
||||||
|
/gs {gsave} bind def
|
||||||
|
/sa {save} bind def
|
||||||
|
/rs {restore} bind def
|
||||||
|
/l {lineto} bind def
|
||||||
|
/m {moveto} bind def
|
||||||
|
/rm {rmoveto} bind def
|
||||||
|
/n {newpath} bind def
|
||||||
|
/s {stroke} bind def
|
||||||
|
/sh {show} bind def
|
||||||
|
/slc {setlinecap} bind def
|
||||||
|
/slj {setlinejoin} bind def
|
||||||
|
/slw {setlinewidth} bind def
|
||||||
|
/srgb {setrgbcolor} bind def
|
||||||
|
/rot {rotate} bind def
|
||||||
|
/sc {scale} bind def
|
||||||
|
/sd {setdash} bind def
|
||||||
|
/ff {findfont} bind def
|
||||||
|
/sf {setfont} bind def
|
||||||
|
/scf {scalefont} bind def
|
||||||
|
/sw {stringwidth} bind def
|
||||||
|
/tr {translate} bind def
|
||||||
|
/tnt {dup dup currentrgbcolor
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
|
||||||
|
bind def
|
||||||
|
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
|
||||||
|
4 -2 roll mul srgb} bind def
|
||||||
|
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
|
||||||
|
/$F2psEnd {$F2psEnteredState restore end} def
|
||||||
|
%%EndProlog
|
||||||
|
|
||||||
|
$F2psBegin
|
||||||
|
10 setmiterlimit
|
||||||
|
n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
|
||||||
|
0.03600 0.03600 sc
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
4458 2040 m 4746 2100 l 4458 2160 l 4830 2160 l 4830 2040 l cp clip
|
||||||
|
n 2400 2100 m 4800 2100 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 4458 2040 m 4746 2100 l 4458 2160 l 4506 2100 l 4458 2040 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
2340 3642 m 2400 3354 l 2460 3642 l 2460 3270 l 2340 3270 l cp clip
|
||||||
|
n 2400 4500 m 2400 3300 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 2340 3642 m 2400 3354 l 2460 3642 l 2400 3594 l 2340 3642 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 2400 3375 m 2400 2100 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 2400 4425 m 2400 4800 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
4458 4740 m 4746 4800 l 4458 4860 l 4830 4860 l 4830 4740 l cp clip
|
||||||
|
n 2400 4800 m 4800 4800 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 4458 4740 m 4746 4800 l 4458 4860 l 4506 4800 l 4458 4740 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 4800 4800 m 7200 4800 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 4800 2100 m 7200 2100 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
4772 3414 m 5052 3326 l 4830 3519 l 5155 3338 l 5097 3233 l cp clip
|
||||||
|
n 2400 4800 m 5100 3300 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 4772 3414 m 5052 3326 l 4830 3519 l 4843 3443 l 4772 3414 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 5100 3300 m 7200 2100 l gs col-1 s gr
|
||||||
|
7.500 slw
|
||||||
|
% Polyline
|
||||||
|
n 1800 1500 m 7800 1500 l 7800 6000 l 1800 6000 l 1800 1500 l gs col-1 s gr
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
7260 3108 m 7200 3396 l 7140 3108 l 7140 3480 l 7260 3480 l cp clip
|
||||||
|
n 7200 2100 m 7200 3450 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 7260 3108 m 7200 3396 l 7140 3108 l 7200 3156 l 7260 3108 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 7200 3525 m 7200 4800 l gs col-1 s gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2025 3525 m
|
||||||
|
gs 1 -1 sc (e0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
4650 3300 m
|
||||||
|
gs 1 -1 sc (e3) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
3600 3150 m
|
||||||
|
gs 1 -1 sc (t0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
5700 3975 m
|
||||||
|
gs 1 -1 sc (t1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2250 5175 m
|
||||||
|
gs 1 -1 sc (v0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2400 1950 m
|
||||||
|
gs 1 -1 sc (v1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
4800 1950 m
|
||||||
|
gs 1 -1 sc (e1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
7350 3525 m
|
||||||
|
gs 1 -1 sc (e0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2550 2400 m
|
||||||
|
gs 1 -1 sc (1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2550 4575 m
|
||||||
|
gs 1 -1 sc (0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
3075 4725 m
|
||||||
|
gs 1 -1 sc (0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
6375 2400 m
|
||||||
|
gs 1 -1 sc (2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
6825 4575 m
|
||||||
|
gs 1 -1 sc (2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
3900 5700 m
|
||||||
|
gs 1 -1 sc (Moebius band) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
6900 2625 m
|
||||||
|
gs 1 -1 sc (1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
4800 5175 m
|
||||||
|
gs 1 -1 sc (e2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
7200 1950 m
|
||||||
|
gs 1 -1 sc (v0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
7200 5100 m
|
||||||
|
gs 1 -1 sc (v1) col-1 sh gr
|
||||||
|
$F2psEnd
|
||||||
|
rs
|
||||||
34
doc/doc_src/params.tex
Normal file
34
doc/doc_src/params.tex
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
\pagestyle{headings}
|
||||||
|
\parindent=0mm
|
||||||
|
\input amssym.def
|
||||||
|
\input amssym.tex
|
||||||
|
\newtheorem{thr}{Theorem}
|
||||||
|
|
||||||
|
\def\N{{\Bbb N}}
|
||||||
|
\def\Z{{\Bbb Z}}
|
||||||
|
\def\R{{\Bbb R}}
|
||||||
|
%
|
||||||
|
% macros pour les diagrammes rectangulaires
|
||||||
|
%
|
||||||
|
\def\hfl#1#2{\smash{\mathop{\hbox to 15mm{\rightarrowfill}}
|
||||||
|
\limits^{\scriptstyle#1}_{\scriptstyle#2}}}
|
||||||
|
%
|
||||||
|
\def\hflr#1#2{\smash{\mathop{\hbox to 15mm{\rightarrowfill}}
|
||||||
|
\limits^{\scriptstyle#1}_{\scriptstyle#2}}}
|
||||||
|
%
|
||||||
|
\def\hfll#1#2{\smash{\mathop{\hbox to 15mm{\leftarrowfill}}
|
||||||
|
\limits^{\scriptstyle#1}_{\scriptstyle#2}}}
|
||||||
|
%
|
||||||
|
\def\vfl#1#2{\llap{$\scriptstyle #1$}\left\downarrow
|
||||||
|
\vbox to 7mm{}\right.\rlap{$\scriptstyle #2$}}
|
||||||
|
%
|
||||||
|
\def\vflu#1#2{\llap{$\scriptstyle #1$}\left\uparrow
|
||||||
|
\vbox to 7mm{}\right.\rlap{$\scriptstyle #2$}}
|
||||||
|
%
|
||||||
|
\def\diagram#1{\def\normalbaselines{\baselineskip=0pt
|
||||||
|
\lineskip=10pt\lineskiplimit=1pt} \matrix{#1}}
|
||||||
|
%
|
||||||
|
% macro tvi pour les lignes verticales et horizontales dans un tableau
|
||||||
|
%
|
||||||
|
\def\tvi{\vrule height 12pt depth 5pt width 0pt}
|
||||||
|
\def\tv{\tvi\vrule}
|
||||||
159
doc/doc_src/ppss.eps
Normal file
159
doc/doc_src/ppss.eps
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
%!PS-Adobe-2.0 EPSF-2.0
|
||||||
|
%%Title: ppss.fig
|
||||||
|
%%Creator: fig2dev Version 3.1 Patchlevel 2
|
||||||
|
%%CreationDate: Wed Jun 26 17:02:40 1996
|
||||||
|
%%For: siret@puccini (Yvon Siret)
|
||||||
|
%Magnification: 0.60
|
||||||
|
%%Orientation: Portrait
|
||||||
|
%%BoundingBox: 0 0 218 164
|
||||||
|
%%Pages: 0
|
||||||
|
%%BeginSetup
|
||||||
|
%%IncludeFeature: *PageSize Letter
|
||||||
|
%%EndSetup
|
||||||
|
%%EndComments
|
||||||
|
/$F2psDict 200 dict def
|
||||||
|
$F2psDict begin
|
||||||
|
$F2psDict /mtrx matrix put
|
||||||
|
/col-1 {0 setgray} bind def
|
||||||
|
/col0 {0.000 0.000 0.000 srgb} bind def
|
||||||
|
/col1 {0.000 0.000 1.000 srgb} bind def
|
||||||
|
/col2 {0.000 1.000 0.000 srgb} bind def
|
||||||
|
/col3 {0.000 1.000 1.000 srgb} bind def
|
||||||
|
/col4 {1.000 0.000 0.000 srgb} bind def
|
||||||
|
/col5 {1.000 0.000 1.000 srgb} bind def
|
||||||
|
/col6 {1.000 1.000 0.000 srgb} bind def
|
||||||
|
/col7 {1.000 1.000 1.000 srgb} bind def
|
||||||
|
/col8 {0.000 0.000 0.560 srgb} bind def
|
||||||
|
/col9 {0.000 0.000 0.690 srgb} bind def
|
||||||
|
/col10 {0.000 0.000 0.820 srgb} bind def
|
||||||
|
/col11 {0.530 0.810 1.000 srgb} bind def
|
||||||
|
/col12 {0.000 0.560 0.000 srgb} bind def
|
||||||
|
/col13 {0.000 0.690 0.000 srgb} bind def
|
||||||
|
/col14 {0.000 0.820 0.000 srgb} bind def
|
||||||
|
/col15 {0.000 0.560 0.560 srgb} bind def
|
||||||
|
/col16 {0.000 0.690 0.690 srgb} bind def
|
||||||
|
/col17 {0.000 0.820 0.820 srgb} bind def
|
||||||
|
/col18 {0.560 0.000 0.000 srgb} bind def
|
||||||
|
/col19 {0.690 0.000 0.000 srgb} bind def
|
||||||
|
/col20 {0.820 0.000 0.000 srgb} bind def
|
||||||
|
/col21 {0.560 0.000 0.560 srgb} bind def
|
||||||
|
/col22 {0.690 0.000 0.690 srgb} bind def
|
||||||
|
/col23 {0.820 0.000 0.820 srgb} bind def
|
||||||
|
/col24 {0.500 0.190 0.000 srgb} bind def
|
||||||
|
/col25 {0.630 0.250 0.000 srgb} bind def
|
||||||
|
/col26 {0.750 0.380 0.000 srgb} bind def
|
||||||
|
/col27 {1.000 0.500 0.500 srgb} bind def
|
||||||
|
/col28 {1.000 0.630 0.630 srgb} bind def
|
||||||
|
/col29 {1.000 0.750 0.750 srgb} bind def
|
||||||
|
/col30 {1.000 0.880 0.880 srgb} bind def
|
||||||
|
/col31 {1.000 0.840 0.000 srgb} bind def
|
||||||
|
|
||||||
|
end
|
||||||
|
save
|
||||||
|
-64.0 217.0 translate
|
||||||
|
1 -1 scale
|
||||||
|
|
||||||
|
/cp {closepath} bind def
|
||||||
|
/ef {eofill} bind def
|
||||||
|
/gr {grestore} bind def
|
||||||
|
/gs {gsave} bind def
|
||||||
|
/sa {save} bind def
|
||||||
|
/rs {restore} bind def
|
||||||
|
/l {lineto} bind def
|
||||||
|
/m {moveto} bind def
|
||||||
|
/rm {rmoveto} bind def
|
||||||
|
/n {newpath} bind def
|
||||||
|
/s {stroke} bind def
|
||||||
|
/sh {show} bind def
|
||||||
|
/slc {setlinecap} bind def
|
||||||
|
/slj {setlinejoin} bind def
|
||||||
|
/slw {setlinewidth} bind def
|
||||||
|
/srgb {setrgbcolor} bind def
|
||||||
|
/rot {rotate} bind def
|
||||||
|
/sc {scale} bind def
|
||||||
|
/sd {setdash} bind def
|
||||||
|
/ff {findfont} bind def
|
||||||
|
/sf {setfont} bind def
|
||||||
|
/scf {scalefont} bind def
|
||||||
|
/sw {stringwidth} bind def
|
||||||
|
/tr {translate} bind def
|
||||||
|
/tnt {dup dup currentrgbcolor
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
|
||||||
|
bind def
|
||||||
|
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
|
||||||
|
4 -2 roll mul srgb} bind def
|
||||||
|
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
|
||||||
|
/$F2psEnd {$F2psEnteredState restore end} def
|
||||||
|
%%EndProlog
|
||||||
|
|
||||||
|
$F2psBegin
|
||||||
|
10 setmiterlimit
|
||||||
|
n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
|
||||||
|
0.03600 0.03600 sc
|
||||||
|
7.500 slw
|
||||||
|
% Polyline
|
||||||
|
n 1800 1500 m 7800 1500 l 7800 6000 l 1800 6000 l 1800 1500 l gs col-1 s gr
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
n 4800 2100 m 3600 3600 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
3347 3838 m 3567 3643 l 3443 3910 l 3666 3612 l 3570 3540 l cp clip
|
||||||
|
n 3600 3600 m 2700 4800 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 3347 3838 m 3567 3643 l 3443 3910 l 3424 3835 l 3347 3838 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
5782 3434 m 5894 3705 l 5683 3501 l 5892 3809 l 5991 3741 l cp clip
|
||||||
|
n 4800 2100 m 5925 3750 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 5782 3434 m 5894 3705 l 5683 3501 l 5759 3507 l 5782 3434 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 5925 3750 m 6600 4800 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
[100.0] 0 sd
|
||||||
|
gs clippath
|
||||||
|
4458 4740 m 4746 4800 l 4458 4860 l 4830 4860 l 4830 4740 l cp clip
|
||||||
|
n 2700 4800 m 4800 4800 l gs col-1 s gr gr
|
||||||
|
[] 0 sd
|
||||||
|
% arrowhead
|
||||||
|
n 4458 4740 m 4746 4800 l 4458 4860 l 4506 4800 l 4458 4740 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
[100.0] 0 sd
|
||||||
|
n 4800 4800 m 6600 4800 l gs col-1 s gr [] 0 sd
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
3300 3600 m
|
||||||
|
gs 1 -1 sc (e) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
6075 3600 m
|
||||||
|
gs 1 -1 sc (e) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
4650 3600 m
|
||||||
|
gs 1 -1 sc (t) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 300.00 scf sf
|
||||||
|
2625 5100 m
|
||||||
|
gs 1 -1 sc (*) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 300.00 scf sf
|
||||||
|
6750 5100 m
|
||||||
|
gs 1 -1 sc (*) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 300.00 scf sf
|
||||||
|
4725 2025 m
|
||||||
|
gs 1 -1 sc (*) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
3150 4650 m
|
||||||
|
gs 1 -1 sc (0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
4725 2625 m
|
||||||
|
gs 1 -1 sc (1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
6075 4650 m
|
||||||
|
gs 1 -1 sc (2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
3600 5700 m
|
||||||
|
gs 1 -1 sc (Projective Plane) col-1 sh gr
|
||||||
|
$F2psEnd
|
||||||
|
rs
|
||||||
995
doc/doc_src/psfig.sty
Normal file
995
doc/doc_src/psfig.sty
Normal file
@ -0,0 +1,995 @@
|
|||||||
|
% Psfig/TeX
|
||||||
|
\def\PsfigVersion{1.10}
|
||||||
|
\def\setDriver{\DvipsDriver} % \DvipsDriver or \OzTeXDriver
|
||||||
|
%
|
||||||
|
% All software, documentation, and related files in this distribution of
|
||||||
|
% psfig/tex are Copyright 1993 Trevor J. Darrell
|
||||||
|
%
|
||||||
|
% Permission is granted for use and non-profit distribution of psfig/tex
|
||||||
|
% providing that this notice is clearly maintained. The right to
|
||||||
|
% distribute any portion of psfig/tex for profit or as part of any commercial
|
||||||
|
% product is specifically reserved for the author(s) of that portion.
|
||||||
|
%
|
||||||
|
% To use with LaTeX, use \documentstyle[psfig,...]{...}
|
||||||
|
% To use with TeX, use \input psfig.sty
|
||||||
|
%
|
||||||
|
% Bugs and improvements to trevor@media.mit.edu.
|
||||||
|
%
|
||||||
|
% Thanks to Ned Batchelder, Greg Hager (GDH), J. Daniel Smith (JDS),
|
||||||
|
% Tom Rokicki (TR), Robert Russell (RR), George V. Reilly (GVR),
|
||||||
|
% Ken McGlothlen (KHC), Baron Grey (BG), Gerhard Tobermann (GT).
|
||||||
|
% and all others who have contributed code and comments to this project!
|
||||||
|
%
|
||||||
|
% ======================================================================
|
||||||
|
% Modification History:
|
||||||
|
%
|
||||||
|
% 9 Oct 1990 JDS used more robust bbox reading code from Tom Rokicki
|
||||||
|
% 29 Mar 1991 JDS implemented rotation= option
|
||||||
|
% 25 Jun 1991 RR if bb specified on cmd line don't check
|
||||||
|
% for .ps file.
|
||||||
|
% 3 Jul 1991 JDS check if file already read in once
|
||||||
|
% 4 Sep 1991 JDS fixed incorrect computation of rotated
|
||||||
|
% bounding box
|
||||||
|
% 25 Sep 1991 GVR expanded synopsis of \psfig
|
||||||
|
% 14 Oct 1991 JDS \fbox code from LaTeX so \psdraft works with TeX
|
||||||
|
% changed \typeout to \ps@typeout
|
||||||
|
% 17 Oct 1991 JDS added \psscalefirst and \psrotatefirst
|
||||||
|
% 23 Jun 1993 KHC ``doclip'' must appear before ``rotate''
|
||||||
|
% 27 Oct 1993 TJD removed printing of filename to avoid
|
||||||
|
% underscore problems. changed \frame to \fbox.
|
||||||
|
% Added OzTeX support from BG. Added new
|
||||||
|
% figure search path code from GT.
|
||||||
|
%
|
||||||
|
% ======================================================================
|
||||||
|
%
|
||||||
|
% Command synopsis:
|
||||||
|
%
|
||||||
|
% \psdraft draws an outline box, but doesn't include the figure
|
||||||
|
% in the DVI file. Useful for previewing.
|
||||||
|
%
|
||||||
|
% \psfull includes the figure in the DVI file (default).
|
||||||
|
%
|
||||||
|
% \psscalefirst width= or height= specifies the size of the figure
|
||||||
|
% before rotation.
|
||||||
|
% \psrotatefirst (default) width= or height= specifies the size of the
|
||||||
|
% figure after rotation. Asymetric figures will
|
||||||
|
% appear to shrink.
|
||||||
|
%
|
||||||
|
% \psfigurepath{dir:dir:...} sets the path to search for the figure
|
||||||
|
%
|
||||||
|
% \psfig
|
||||||
|
% usage: \psfig{file=, figure=, height=, width=,
|
||||||
|
% bbllx=, bblly=, bburx=, bbury=,
|
||||||
|
% rheight=, rwidth=, clip=, angle=, silent=}
|
||||||
|
%
|
||||||
|
% "file" is the filename. If no path name is specified and the
|
||||||
|
% file is not found in the current directory,
|
||||||
|
% it will be looked for in directory \psfigurepath.
|
||||||
|
% "figure" is a synonym for "file".
|
||||||
|
% By default, the width and height of the figure are taken from
|
||||||
|
% the BoundingBox of the figure.
|
||||||
|
% If "width" is specified, the figure is scaled so that it has
|
||||||
|
% the specified width. Its height changes proportionately.
|
||||||
|
% If "height" is specified, the figure is scaled so that it has
|
||||||
|
% the specified height. Its width changes proportionately.
|
||||||
|
% If both "width" and "height" are specified, the figure is scaled
|
||||||
|
% anamorphically.
|
||||||
|
% "bbllx", "bblly", "bburx", and "bbury" control the PostScript
|
||||||
|
% BoundingBox. If these four values are specified
|
||||||
|
% *before* the "file" option, the PSFIG will not try to
|
||||||
|
% open the PostScript file.
|
||||||
|
% "rheight" and "rwidth" are the reserved height and width
|
||||||
|
% of the figure, i.e., how big TeX actually thinks
|
||||||
|
% the figure is. They default to "width" and "height".
|
||||||
|
% The "clip" option ensures that no portion of the figure will
|
||||||
|
% appear outside its BoundingBox. "clip=" is a switch and
|
||||||
|
% takes no value, but the `=' must be present.
|
||||||
|
% The "angle" option specifies the angle of rotation (degrees, ccw).
|
||||||
|
% The "silent" option makes \psfig work silently.
|
||||||
|
%
|
||||||
|
% ======================================================================
|
||||||
|
% check to see if macros already loaded in (maybe some other file says
|
||||||
|
% "\input psfig") ...
|
||||||
|
\ifx\undefined\psfig\else\endinput\fi
|
||||||
|
%
|
||||||
|
% from a suggestion by eijkhout@csrd.uiuc.edu to allow
|
||||||
|
% loading as a style file. Changed to avoid problems
|
||||||
|
% with amstex per suggestion by jbence@math.ucla.edu
|
||||||
|
|
||||||
|
\let\LaTeXAtSign=\@
|
||||||
|
\let\@=\relax
|
||||||
|
\edef\psfigRestoreAt{\catcode`\@=\number\catcode`@\relax}
|
||||||
|
%\edef\psfigRestoreAt{\catcode`@=\number\catcode`@\relax}
|
||||||
|
\catcode`\@=11\relax
|
||||||
|
\newwrite\@unused
|
||||||
|
\def\ps@typeout#1{{\let\protect\string\immediate\write\@unused{#1}}}
|
||||||
|
|
||||||
|
\def\DvipsDriver{
|
||||||
|
\ps@typeout{psfig/tex \PsfigVersion -dvips}
|
||||||
|
\def\PsfigSpecials{\DvipsSpecials} \def\ps@dir{/}
|
||||||
|
\def\ps@predir{} }
|
||||||
|
\def\OzTeXDriver{
|
||||||
|
\ps@typeout{psfig/tex \PsfigVersion -oztex}
|
||||||
|
\def\PsfigSpecials{\OzTeXSpecials}
|
||||||
|
\def\ps@dir{:}
|
||||||
|
\def\ps@predir{:}
|
||||||
|
\catcode`\^^J=5
|
||||||
|
}
|
||||||
|
|
||||||
|
%% Here's how you define your figure path. Should be set up with null
|
||||||
|
%% default and a user useable definition.
|
||||||
|
|
||||||
|
\def\figurepath{./:}
|
||||||
|
\def\psfigurepath#1{\edef\figurepath{#1:}}
|
||||||
|
|
||||||
|
%%% inserted for Searching Unixpaths
|
||||||
|
%%% (the path must end with :)
|
||||||
|
%%% (call: \DoPaths\figurepath )
|
||||||
|
%%%------------------------------------------------------
|
||||||
|
\def\DoPaths#1{\expandafter\EachPath#1\stoplist}
|
||||||
|
%
|
||||||
|
\def\leer{}
|
||||||
|
\def\EachPath#1:#2\stoplist{% #1 part of the list (delimiter :)
|
||||||
|
\ExistsFile{#1}{\SearchedFile}
|
||||||
|
\ifx#2\leer
|
||||||
|
\else
|
||||||
|
\expandafter\EachPath#2\stoplist
|
||||||
|
\fi}
|
||||||
|
%
|
||||||
|
% exists the file (does not work for directories!)
|
||||||
|
%
|
||||||
|
\def\ps@dir{/}
|
||||||
|
\def\ExistsFile#1#2{%
|
||||||
|
\openin1=\ps@predir#1\ps@dir#2
|
||||||
|
\ifeof1
|
||||||
|
\closein1
|
||||||
|
%\ps@typeout{...not: \ps@predir#1\ps@dir#2}
|
||||||
|
\else
|
||||||
|
\closein1
|
||||||
|
%\ps@typeout{...in: \ps@predir#1\ps@dir#2}
|
||||||
|
\ifx\ps@founddir\leer
|
||||||
|
%\ps@typeout{set founddir #1}
|
||||||
|
\edef\ps@founddir{#1}
|
||||||
|
\fi
|
||||||
|
\fi}
|
||||||
|
%------------------------------------------------------
|
||||||
|
%
|
||||||
|
% Get dir in path or error
|
||||||
|
%
|
||||||
|
\def\get@dir#1{%
|
||||||
|
\def\ps@founddir{}
|
||||||
|
\def\SearchedFile{#1}
|
||||||
|
\DoPaths\figurepath
|
||||||
|
% \fi
|
||||||
|
}
|
||||||
|
%------------------------------------------------------
|
||||||
|
%%% END of Searching Unixpaths
|
||||||
|
|
||||||
|
|
||||||
|
%
|
||||||
|
% @psdo control structure -- similar to Latex @for.
|
||||||
|
% I redefined these with different names so that psfig can
|
||||||
|
% be used with TeX as well as LaTeX, and so that it will not
|
||||||
|
% be vunerable to future changes in LaTeX's internal
|
||||||
|
% control structure,
|
||||||
|
%
|
||||||
|
\def\@nnil{\@nil}
|
||||||
|
\def\@empty{}
|
||||||
|
\def\@psdonoop#1\@@#2#3{}
|
||||||
|
\def\@psdo#1:=#2\do#3{\edef\@psdotmp{#2}\ifx\@psdotmp\@empty \else
|
||||||
|
\expandafter\@psdoloop#2,\@nil,\@nil\@@#1{#3}\fi}
|
||||||
|
\def\@psdoloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else
|
||||||
|
#5\def#4{#2}\ifx #4\@nnil \else#5\@ipsdoloop #3\@@#4{#5}\fi\fi}
|
||||||
|
\def\@ipsdoloop#1,#2\@@#3#4{\def#3{#1}\ifx #3\@nnil
|
||||||
|
\let\@nextwhile=\@psdonoop \else
|
||||||
|
#4\relax\let\@nextwhile=\@ipsdoloop\fi\@nextwhile#2\@@#3{#4}}
|
||||||
|
\def\@tpsdo#1:=#2\do#3{\xdef\@psdotmp{#2}\ifx\@psdotmp\@empty \else
|
||||||
|
\@tpsdoloop#2\@nil\@nil\@@#1{#3}\fi}
|
||||||
|
\def\@tpsdoloop#1#2\@@#3#4{\def#3{#1}\ifx #3\@nnil
|
||||||
|
\let\@nextwhile=\@psdonoop \else
|
||||||
|
#4\relax\let\@nextwhile=\@tpsdoloop\fi\@nextwhile#2\@@#3{#4}}
|
||||||
|
%
|
||||||
|
% \fbox is defined in latex.tex; so if \fbox is undefined, assume that
|
||||||
|
% we are not in LaTeX.
|
||||||
|
% Perhaps this could be done better???
|
||||||
|
\ifx\undefined\fbox
|
||||||
|
% \fbox code from modified slightly from LaTeX
|
||||||
|
\newdimen\fboxrule
|
||||||
|
\newdimen\fboxsep
|
||||||
|
\newdimen\ps@tempdima
|
||||||
|
\newbox\ps@tempboxa
|
||||||
|
\fboxsep = 3pt
|
||||||
|
\fboxrule = .4pt
|
||||||
|
\long\def\fbox#1{\leavevmode\setbox\ps@tempboxa\hbox{#1}\ps@tempdima\fboxrule
|
||||||
|
\advance\ps@tempdima \fboxsep \advance\ps@tempdima \dp\ps@tempboxa
|
||||||
|
\hbox{\lower \ps@tempdima\hbox
|
||||||
|
{\vbox{\hrule height \fboxrule
|
||||||
|
\hbox{\vrule width \fboxrule \hskip\fboxsep
|
||||||
|
\vbox{\vskip\fboxsep \box\ps@tempboxa\vskip\fboxsep}\hskip
|
||||||
|
\fboxsep\vrule width \fboxrule}
|
||||||
|
\hrule height \fboxrule}}}}
|
||||||
|
\fi
|
||||||
|
%
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% file reading stuff from epsf.tex
|
||||||
|
% EPSF.TEX macro file:
|
||||||
|
% Written by Tomas Rokicki of Radical Eye Software, 29 Mar 1989.
|
||||||
|
% Revised by Don Knuth, 3 Jan 1990.
|
||||||
|
% Revised by Tomas Rokicki to accept bounding boxes with no
|
||||||
|
% space after the colon, 18 Jul 1990.
|
||||||
|
% Portions modified/removed for use in PSFIG package by
|
||||||
|
% J. Daniel Smith, 9 October 1990.
|
||||||
|
%
|
||||||
|
\newread\ps@stream
|
||||||
|
\newif\ifnot@eof % continue looking for the bounding box?
|
||||||
|
\newif\if@noisy % report what you're making?
|
||||||
|
\newif\if@atend % %%BoundingBox: has (at end) specification
|
||||||
|
\newif\if@psfile % does this look like a PostScript file?
|
||||||
|
%
|
||||||
|
% PostScript files should start with `%!'
|
||||||
|
%
|
||||||
|
{\catcode`\%=12\global\gdef\epsf@start{%!}}
|
||||||
|
\def\epsf@PS{PS}
|
||||||
|
%
|
||||||
|
\def\epsf@getbb#1{%
|
||||||
|
%
|
||||||
|
% The first thing we need to do is to open the
|
||||||
|
% PostScript file, if possible.
|
||||||
|
%
|
||||||
|
\openin\ps@stream=\ps@predir#1
|
||||||
|
\ifeof\ps@stream\ps@typeout{Error, File #1 not found}\else
|
||||||
|
%
|
||||||
|
% Okay, we got it. Now we'll scan lines until we find one that doesn't
|
||||||
|
% start with %. We're looking for the bounding box comment.
|
||||||
|
%
|
||||||
|
{\not@eoftrue \chardef\other=12
|
||||||
|
\def\do##1{\catcode`##1=\other}\dospecials \catcode`\ =10
|
||||||
|
\loop
|
||||||
|
\if@psfile
|
||||||
|
\read\ps@stream to \epsf@fileline
|
||||||
|
\else{
|
||||||
|
\obeyspaces
|
||||||
|
\read\ps@stream to \epsf@tmp\global\let\epsf@fileline\epsf@tmp}
|
||||||
|
\fi
|
||||||
|
\ifeof\ps@stream\not@eoffalse\else
|
||||||
|
%
|
||||||
|
% Check the first line for `%!'. Issue a warning message if its not
|
||||||
|
% there, since the file might not be a PostScript file.
|
||||||
|
%
|
||||||
|
\if@psfile\else
|
||||||
|
\expandafter\epsf@test\epsf@fileline:. \\%
|
||||||
|
\fi
|
||||||
|
%
|
||||||
|
% We check to see if the first character is a % sign;
|
||||||
|
% if so, we look further and stop only if the line begins with
|
||||||
|
% `%%BoundingBox:' and the `(atend)' specification was not found.
|
||||||
|
% That is, the only way to stop is when the end of file is reached,
|
||||||
|
% or a `%%BoundingBox: llx lly urx ury' line is found.
|
||||||
|
%
|
||||||
|
\expandafter\epsf@aux\epsf@fileline:. \\%
|
||||||
|
\fi
|
||||||
|
\ifnot@eof\repeat
|
||||||
|
}\closein\ps@stream\fi}%
|
||||||
|
%
|
||||||
|
% This tests if the file we are reading looks like a PostScript file.
|
||||||
|
%
|
||||||
|
\long\def\epsf@test#1#2#3:#4\\{\def\epsf@testit{#1#2}
|
||||||
|
\ifx\epsf@testit\epsf@start\else
|
||||||
|
\ps@typeout{Warning! File does not start with `\epsf@start'. It may not be a PostScript file.}
|
||||||
|
\fi
|
||||||
|
\@psfiletrue} % don't test after 1st line
|
||||||
|
%
|
||||||
|
% We still need to define the tricky \epsf@aux macro. This requires
|
||||||
|
% a couple of magic constants for comparison purposes.
|
||||||
|
%
|
||||||
|
{\catcode`\%=12\global\let\epsf@percent=%\global\def\epsf@bblit{%BoundingBox}}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% So we're ready to check for `%BoundingBox:' and to grab the
|
||||||
|
% values if they are found. We continue searching if `(at end)'
|
||||||
|
% was found after the `%BoundingBox:'.
|
||||||
|
%
|
||||||
|
\long\def\epsf@aux#1#2:#3\\{\ifx#1\epsf@percent
|
||||||
|
\def\epsf@testit{#2}\ifx\epsf@testit\epsf@bblit
|
||||||
|
\@atendfalse
|
||||||
|
\epsf@atend #3 . \\%
|
||||||
|
\if@atend
|
||||||
|
\if@verbose{
|
||||||
|
\ps@typeout{psfig: found `(atend)'; continuing search}
|
||||||
|
}\fi
|
||||||
|
\else
|
||||||
|
\epsf@grab #3 . . . \\%
|
||||||
|
\not@eoffalse
|
||||||
|
\global\no@bbfalse
|
||||||
|
\fi
|
||||||
|
\fi\fi}%
|
||||||
|
%
|
||||||
|
% Here we grab the values and stuff them in the appropriate definitions.
|
||||||
|
%
|
||||||
|
\def\epsf@grab #1 #2 #3 #4 #5\\{%
|
||||||
|
\global\def\epsf@llx{#1}\ifx\epsf@llx\empty
|
||||||
|
\epsf@grab #2 #3 #4 #5 .\\\else
|
||||||
|
\global\def\epsf@lly{#2}%
|
||||||
|
\global\def\epsf@urx{#3}\global\def\epsf@ury{#4}\fi}%
|
||||||
|
%
|
||||||
|
% Determine if the stuff following the %%BoundingBox is `(atend)'
|
||||||
|
% J. Daniel Smith. Copied from \epsf@grab above.
|
||||||
|
%
|
||||||
|
\def\epsf@atendlit{(atend)}
|
||||||
|
\def\epsf@atend #1 #2 #3\\{%
|
||||||
|
\def\epsf@tmp{#1}\ifx\epsf@tmp\empty
|
||||||
|
\epsf@atend #2 #3 .\\\else
|
||||||
|
\ifx\epsf@tmp\epsf@atendlit\@atendtrue\fi\fi}
|
||||||
|
|
||||||
|
|
||||||
|
% End of file reading stuff from epsf.tex
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% trigonometry stuff from "trig.tex"
|
||||||
|
\chardef\psletter = 11 % won't conflict with \begin{letter} now...
|
||||||
|
\chardef\other = 12
|
||||||
|
|
||||||
|
\newif \ifdebug %%% turn me on to see TeX hard at work ...
|
||||||
|
\newif\ifc@mpute %%% don't need to compute some values
|
||||||
|
\c@mputetrue % but assume that we do
|
||||||
|
|
||||||
|
\let\then = \relax
|
||||||
|
\def\r@dian{pt }
|
||||||
|
\let\r@dians = \r@dian
|
||||||
|
\let\dimensionless@nit = \r@dian
|
||||||
|
\let\dimensionless@nits = \dimensionless@nit
|
||||||
|
\def\internal@nit{sp }
|
||||||
|
\let\internal@nits = \internal@nit
|
||||||
|
\newif\ifstillc@nverging
|
||||||
|
\def \Mess@ge #1{\ifdebug \then \message {#1} \fi}
|
||||||
|
|
||||||
|
{ %%% Things that need abnormal catcodes %%%
|
||||||
|
\catcode `\@ = \psletter
|
||||||
|
\gdef \nodimen {\expandafter \n@dimen \the \dimen}
|
||||||
|
\gdef \term #1 #2 #3%
|
||||||
|
{\edef \t@ {\the #1}%%% freeze parameter 1 (count, by value)
|
||||||
|
\edef \t@@ {\expandafter \n@dimen \the #2\r@dian}%
|
||||||
|
%%% freeze parameter 2 (dimen, by value)
|
||||||
|
\t@rm {\t@} {\t@@} {#3}%
|
||||||
|
}
|
||||||
|
\gdef \t@rm #1 #2 #3%
|
||||||
|
{{%
|
||||||
|
\count 0 = 0
|
||||||
|
\dimen 0 = 1 \dimensionless@nit
|
||||||
|
\dimen 2 = #2\relax
|
||||||
|
\Mess@ge {Calculating term #1 of \nodimen 2}%
|
||||||
|
\loop
|
||||||
|
\ifnum \count 0 < #1
|
||||||
|
\then \advance \count 0 by 1
|
||||||
|
\Mess@ge {Iteration \the \count 0 \space}%
|
||||||
|
\Multiply \dimen 0 by {\dimen 2}%
|
||||||
|
\Mess@ge {After multiplication, term = \nodimen 0}%
|
||||||
|
\Divide \dimen 0 by {\count 0}%
|
||||||
|
\Mess@ge {After division, term = \nodimen 0}%
|
||||||
|
\repeat
|
||||||
|
\Mess@ge {Final value for term #1 of
|
||||||
|
\nodimen 2 \space is \nodimen 0}%
|
||||||
|
\xdef \Term {#3 = \nodimen 0 \r@dians}%
|
||||||
|
\aftergroup \Term
|
||||||
|
}}
|
||||||
|
\catcode `\p = \other
|
||||||
|
\catcode `\t = \other
|
||||||
|
\gdef \n@dimen #1pt{#1} %%% throw away the ``pt''
|
||||||
|
}
|
||||||
|
|
||||||
|
\def \Divide #1by #2{\divide #1 by #2} %%% just a synonym
|
||||||
|
|
||||||
|
\def \Multiply #1by #2%%% allows division of a dimen by a dimen
|
||||||
|
{{%%% should really freeze parameter 2 (dimen, passed by value)
|
||||||
|
\count 0 = #1\relax
|
||||||
|
\count 2 = #2\relax
|
||||||
|
\count 4 = 65536
|
||||||
|
\Mess@ge {Before scaling, count 0 = \the \count 0 \space and
|
||||||
|
count 2 = \the \count 2}%
|
||||||
|
\ifnum \count 0 > 32767 %%% do our best to avoid overflow
|
||||||
|
\then \divide \count 0 by 4
|
||||||
|
\divide \count 4 by 4
|
||||||
|
\else \ifnum \count 0 < -32767
|
||||||
|
\then \divide \count 0 by 4
|
||||||
|
\divide \count 4 by 4
|
||||||
|
\else
|
||||||
|
\fi
|
||||||
|
\fi
|
||||||
|
\ifnum \count 2 > 32767 %%% while retaining reasonable accuracy
|
||||||
|
\then \divide \count 2 by 4
|
||||||
|
\divide \count 4 by 4
|
||||||
|
\else \ifnum \count 2 < -32767
|
||||||
|
\then \divide \count 2 by 4
|
||||||
|
\divide \count 4 by 4
|
||||||
|
\else
|
||||||
|
\fi
|
||||||
|
\fi
|
||||||
|
\multiply \count 0 by \count 2
|
||||||
|
\divide \count 0 by \count 4
|
||||||
|
\xdef \product {#1 = \the \count 0 \internal@nits}%
|
||||||
|
\aftergroup \product
|
||||||
|
}}
|
||||||
|
|
||||||
|
\def\r@duce{\ifdim\dimen0 > 90\r@dian \then % sin(x+90) = sin(180-x)
|
||||||
|
\multiply\dimen0 by -1
|
||||||
|
\advance\dimen0 by 180\r@dian
|
||||||
|
\r@duce
|
||||||
|
\else \ifdim\dimen0 < -90\r@dian \then % sin(-x) = sin(360+x)
|
||||||
|
\advance\dimen0 by 360\r@dian
|
||||||
|
\r@duce
|
||||||
|
\fi
|
||||||
|
\fi}
|
||||||
|
|
||||||
|
\def\Sine#1%
|
||||||
|
{{%
|
||||||
|
\dimen 0 = #1 \r@dian
|
||||||
|
\r@duce
|
||||||
|
\ifdim\dimen0 = -90\r@dian \then
|
||||||
|
\dimen4 = -1\r@dian
|
||||||
|
\c@mputefalse
|
||||||
|
\fi
|
||||||
|
\ifdim\dimen0 = 90\r@dian \then
|
||||||
|
\dimen4 = 1\r@dian
|
||||||
|
\c@mputefalse
|
||||||
|
\fi
|
||||||
|
\ifdim\dimen0 = 0\r@dian \then
|
||||||
|
\dimen4 = 0\r@dian
|
||||||
|
\c@mputefalse
|
||||||
|
\fi
|
||||||
|
%
|
||||||
|
\ifc@mpute \then
|
||||||
|
% convert degrees to radians
|
||||||
|
\divide\dimen0 by 180
|
||||||
|
\dimen0=3.141592654\dimen0
|
||||||
|
%
|
||||||
|
\dimen 2 = 3.1415926535897963\r@dian %%% a well-known constant
|
||||||
|
\divide\dimen 2 by 2 %%% we only deal with -pi/2 : pi/2
|
||||||
|
\Mess@ge {Sin: calculating Sin of \nodimen 0}%
|
||||||
|
\count 0 = 1 %%% see power-series expansion for sine
|
||||||
|
\dimen 2 = 1 \r@dian %%% ditto
|
||||||
|
\dimen 4 = 0 \r@dian %%% ditto
|
||||||
|
\loop
|
||||||
|
\ifnum \dimen 2 = 0 %%% then we've done
|
||||||
|
\then \stillc@nvergingfalse
|
||||||
|
\else \stillc@nvergingtrue
|
||||||
|
\fi
|
||||||
|
\ifstillc@nverging %%% then calculate next term
|
||||||
|
\then \term {\count 0} {\dimen 0} {\dimen 2}%
|
||||||
|
\advance \count 0 by 2
|
||||||
|
\count 2 = \count 0
|
||||||
|
\divide \count 2 by 2
|
||||||
|
\ifodd \count 2 %%% signs alternate
|
||||||
|
\then \advance \dimen 4 by \dimen 2
|
||||||
|
\else \advance \dimen 4 by -\dimen 2
|
||||||
|
\fi
|
||||||
|
\repeat
|
||||||
|
\fi
|
||||||
|
\xdef \sine {\nodimen 4}%
|
||||||
|
}}
|
||||||
|
|
||||||
|
% Now the Cosine can be calculated easily by calling \Sine
|
||||||
|
\def\Cosine#1{\ifx\sine\UnDefined\edef\Savesine{\relax}\else
|
||||||
|
\edef\Savesine{\sine}\fi
|
||||||
|
{\dimen0=#1\r@dian\advance\dimen0 by 90\r@dian
|
||||||
|
\Sine{\nodimen 0}
|
||||||
|
\xdef\cosine{\sine}
|
||||||
|
\xdef\sine{\Savesine}}}
|
||||||
|
% end of trig stuff
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\def\psdraft{
|
||||||
|
\def\@psdraft{0}
|
||||||
|
%\ps@typeout{draft level now is \@psdraft \space . }
|
||||||
|
}
|
||||||
|
\def\psfull{
|
||||||
|
\def\@psdraft{100}
|
||||||
|
%\ps@typeout{draft level now is \@psdraft \space . }
|
||||||
|
}
|
||||||
|
|
||||||
|
\psfull
|
||||||
|
|
||||||
|
\newif\if@scalefirst
|
||||||
|
\def\psscalefirst{\@scalefirsttrue}
|
||||||
|
\def\psrotatefirst{\@scalefirstfalse}
|
||||||
|
\psrotatefirst
|
||||||
|
|
||||||
|
\newif\if@draftbox
|
||||||
|
\def\psnodraftbox{
|
||||||
|
\@draftboxfalse
|
||||||
|
}
|
||||||
|
\def\psdraftbox{
|
||||||
|
\@draftboxtrue
|
||||||
|
}
|
||||||
|
\@draftboxtrue
|
||||||
|
|
||||||
|
\newif\if@prologfile
|
||||||
|
\newif\if@postlogfile
|
||||||
|
\def\pssilent{
|
||||||
|
\@noisyfalse
|
||||||
|
}
|
||||||
|
\def\psnoisy{
|
||||||
|
\@noisytrue
|
||||||
|
}
|
||||||
|
\psnoisy
|
||||||
|
%%% These are for the option list.
|
||||||
|
%%% A specification of the form a = b maps to calling \@p@@sa{b}
|
||||||
|
\newif\if@bbllx
|
||||||
|
\newif\if@bblly
|
||||||
|
\newif\if@bburx
|
||||||
|
\newif\if@bbury
|
||||||
|
\newif\if@height
|
||||||
|
\newif\if@width
|
||||||
|
\newif\if@rheight
|
||||||
|
\newif\if@rwidth
|
||||||
|
\newif\if@angle
|
||||||
|
\newif\if@clip
|
||||||
|
\newif\if@verbose
|
||||||
|
\def\@p@@sclip#1{\@cliptrue}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
\newif\if@decmpr
|
||||||
|
%
|
||||||
|
\def\@p@@sfigure#1{\def\@p@sfile{null}\def\@p@sbbfile{null}\@decmprfalse
|
||||||
|
% look directly for file (e.g. absolute path)
|
||||||
|
\openin1=\ps@predir#1
|
||||||
|
\ifeof1
|
||||||
|
\closein1
|
||||||
|
% failed, search directories for file
|
||||||
|
\get@dir{#1}
|
||||||
|
\ifx\ps@founddir\leer
|
||||||
|
% failed, search directly for file.bb
|
||||||
|
\openin1=\ps@predir#1.bb
|
||||||
|
\ifeof1
|
||||||
|
\closein1
|
||||||
|
% failed, search directories for file.bb
|
||||||
|
\get@dir{#1.bb}
|
||||||
|
\ifx\ps@founddir\leer
|
||||||
|
% failed, lose.
|
||||||
|
\ps@typeout{Can't find #1 in \figurepath}
|
||||||
|
\else
|
||||||
|
% found file.bb in search dir
|
||||||
|
\@decmprtrue
|
||||||
|
\def\@p@sfile{\ps@founddir\ps@dir#1}
|
||||||
|
\def\@p@sbbfile{\ps@founddir\ps@dir#1.bb}
|
||||||
|
\fi
|
||||||
|
\else
|
||||||
|
\closein1
|
||||||
|
%found file.bb directly
|
||||||
|
\@decmprtrue
|
||||||
|
\def\@p@sfile{#1}
|
||||||
|
\def\@p@sbbfile{#1.bb}
|
||||||
|
\fi
|
||||||
|
\else
|
||||||
|
% found file in search dir
|
||||||
|
\def\@p@sfile{\ps@founddir\ps@dir#1}
|
||||||
|
\def\@p@sbbfile{\ps@founddir\ps@dir#1}
|
||||||
|
\fi
|
||||||
|
\else
|
||||||
|
% found file directly
|
||||||
|
\closein1
|
||||||
|
\def\@p@sfile{#1}
|
||||||
|
\def\@p@sbbfile{#1}
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
\def\@p@@sfile#1{\@p@@sfigure{#1}}
|
||||||
|
%
|
||||||
|
\def\@p@@sbbllx#1{
|
||||||
|
%\ps@typeout{bbllx is #1}
|
||||||
|
\@bbllxtrue
|
||||||
|
\dimen100=#1
|
||||||
|
\edef\@p@sbbllx{\number\dimen100}
|
||||||
|
}
|
||||||
|
\def\@p@@sbblly#1{
|
||||||
|
%\ps@typeout{bblly is #1}
|
||||||
|
\@bbllytrue
|
||||||
|
\dimen100=#1
|
||||||
|
\edef\@p@sbblly{\number\dimen100}
|
||||||
|
}
|
||||||
|
\def\@p@@sbburx#1{
|
||||||
|
%\ps@typeout{bburx is #1}
|
||||||
|
\@bburxtrue
|
||||||
|
\dimen100=#1
|
||||||
|
\edef\@p@sbburx{\number\dimen100}
|
||||||
|
}
|
||||||
|
\def\@p@@sbbury#1{
|
||||||
|
%\ps@typeout{bbury is #1}
|
||||||
|
\@bburytrue
|
||||||
|
\dimen100=#1
|
||||||
|
\edef\@p@sbbury{\number\dimen100}
|
||||||
|
}
|
||||||
|
\def\@p@@sheight#1{
|
||||||
|
\@heighttrue
|
||||||
|
\dimen100=#1
|
||||||
|
\edef\@p@sheight{\number\dimen100}
|
||||||
|
%\ps@typeout{Height is \@p@sheight}
|
||||||
|
}
|
||||||
|
\def\@p@@swidth#1{
|
||||||
|
%\ps@typeout{Width is #1}
|
||||||
|
\@widthtrue
|
||||||
|
\dimen100=#1
|
||||||
|
\edef\@p@swidth{\number\dimen100}
|
||||||
|
}
|
||||||
|
\def\@p@@srheight#1{
|
||||||
|
%\ps@typeout{Reserved height is #1}
|
||||||
|
\@rheighttrue
|
||||||
|
\dimen100=#1
|
||||||
|
\edef\@p@srheight{\number\dimen100}
|
||||||
|
}
|
||||||
|
\def\@p@@srwidth#1{
|
||||||
|
%\ps@typeout{Reserved width is #1}
|
||||||
|
\@rwidthtrue
|
||||||
|
\dimen100=#1
|
||||||
|
\edef\@p@srwidth{\number\dimen100}
|
||||||
|
}
|
||||||
|
\def\@p@@sangle#1{
|
||||||
|
%\ps@typeout{Rotation is #1}
|
||||||
|
\@angletrue
|
||||||
|
% \dimen100=#1
|
||||||
|
\edef\@p@sangle{#1} %\number\dimen100}
|
||||||
|
}
|
||||||
|
\def\@p@@ssilent#1{
|
||||||
|
\@verbosefalse
|
||||||
|
}
|
||||||
|
\def\@p@@sprolog#1{\@prologfiletrue\def\@prologfileval{#1}}
|
||||||
|
\def\@p@@spostlog#1{\@postlogfiletrue\def\@postlogfileval{#1}}
|
||||||
|
\def\@cs@name#1{\csname #1\endcsname}
|
||||||
|
\def\@setparms#1=#2,{\@cs@name{@p@@s#1}{#2}}
|
||||||
|
%
|
||||||
|
% initialize the defaults (size the size of the figure)
|
||||||
|
%
|
||||||
|
\def\ps@init@parms{
|
||||||
|
\@bbllxfalse \@bbllyfalse
|
||||||
|
\@bburxfalse \@bburyfalse
|
||||||
|
\@heightfalse \@widthfalse
|
||||||
|
\@rheightfalse \@rwidthfalse
|
||||||
|
\def\@p@sbbllx{}\def\@p@sbblly{}
|
||||||
|
\def\@p@sbburx{}\def\@p@sbbury{}
|
||||||
|
\def\@p@sheight{}\def\@p@swidth{}
|
||||||
|
\def\@p@srheight{}\def\@p@srwidth{}
|
||||||
|
\def\@p@sangle{0}
|
||||||
|
\def\@p@sfile{} \def\@p@sbbfile{}
|
||||||
|
\def\@p@scost{10}
|
||||||
|
\def\@sc{}
|
||||||
|
\@prologfilefalse
|
||||||
|
\@postlogfilefalse
|
||||||
|
\@clipfalse
|
||||||
|
\if@noisy
|
||||||
|
\@verbosetrue
|
||||||
|
\else
|
||||||
|
\@verbosefalse
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
%
|
||||||
|
% Go through the options setting things up.
|
||||||
|
%
|
||||||
|
\def\parse@ps@parms#1{
|
||||||
|
\@psdo\@psfiga:=#1\do
|
||||||
|
{\expandafter\@setparms\@psfiga,}}
|
||||||
|
%
|
||||||
|
% Compute bb height and width
|
||||||
|
%
|
||||||
|
\newif\ifno@bb
|
||||||
|
\def\bb@missing{
|
||||||
|
\if@verbose{
|
||||||
|
\ps@typeout{psfig: searching \@p@sbbfile \space for bounding box}
|
||||||
|
}\fi
|
||||||
|
\no@bbtrue
|
||||||
|
\epsf@getbb{\@p@sbbfile}
|
||||||
|
\ifno@bb \else \bb@cull\epsf@llx\epsf@lly\epsf@urx\epsf@ury\fi
|
||||||
|
}
|
||||||
|
\def\bb@cull#1#2#3#4{
|
||||||
|
\dimen100=#1 bp\edef\@p@sbbllx{\number\dimen100}
|
||||||
|
\dimen100=#2 bp\edef\@p@sbblly{\number\dimen100}
|
||||||
|
\dimen100=#3 bp\edef\@p@sbburx{\number\dimen100}
|
||||||
|
\dimen100=#4 bp\edef\@p@sbbury{\number\dimen100}
|
||||||
|
\no@bbfalse
|
||||||
|
}
|
||||||
|
% rotate point (#1,#2) about (0,0).
|
||||||
|
% The sine and cosine of the angle are already stored in \sine and
|
||||||
|
% \cosine. The result is placed in (\p@intvaluex, \p@intvaluey).
|
||||||
|
\newdimen\p@intvaluex
|
||||||
|
\newdimen\p@intvaluey
|
||||||
|
\def\rotate@#1#2{{\dimen0=#1 sp\dimen1=#2 sp
|
||||||
|
% calculate x' = x \cos\theta - y \sin\theta
|
||||||
|
\global\p@intvaluex=\cosine\dimen0
|
||||||
|
\dimen3=\sine\dimen1
|
||||||
|
\global\advance\p@intvaluex by -\dimen3
|
||||||
|
% calculate y' = x \sin\theta + y \cos\theta
|
||||||
|
\global\p@intvaluey=\sine\dimen0
|
||||||
|
\dimen3=\cosine\dimen1
|
||||||
|
\global\advance\p@intvaluey by \dimen3
|
||||||
|
}}
|
||||||
|
\def\compute@bb{
|
||||||
|
\no@bbfalse
|
||||||
|
\if@bbllx \else \no@bbtrue \fi
|
||||||
|
\if@bblly \else \no@bbtrue \fi
|
||||||
|
\if@bburx \else \no@bbtrue \fi
|
||||||
|
\if@bbury \else \no@bbtrue \fi
|
||||||
|
\ifno@bb \bb@missing \fi
|
||||||
|
\ifno@bb \ps@typeout{FATAL ERROR: no bb supplied or found}
|
||||||
|
\no-bb-error
|
||||||
|
\fi
|
||||||
|
%
|
||||||
|
%\ps@typeout{BB: \@p@sbbllx, \@p@sbblly, \@p@sbburx, \@p@sbbury}
|
||||||
|
%
|
||||||
|
% store height/width of original (unrotated) bounding box
|
||||||
|
\count203=\@p@sbburx
|
||||||
|
\count204=\@p@sbbury
|
||||||
|
\advance\count203 by -\@p@sbbllx
|
||||||
|
\advance\count204 by -\@p@sbblly
|
||||||
|
\edef\ps@bbw{\number\count203}
|
||||||
|
\edef\ps@bbh{\number\count204}
|
||||||
|
%\ps@typeout{ psbbh = \ps@bbh, psbbw = \ps@bbw }
|
||||||
|
\if@angle
|
||||||
|
\Sine{\@p@sangle}\Cosine{\@p@sangle}
|
||||||
|
{\dimen100=\maxdimen\xdef\r@p@sbbllx{\number\dimen100}
|
||||||
|
\xdef\r@p@sbblly{\number\dimen100}
|
||||||
|
\xdef\r@p@sbburx{-\number\dimen100}
|
||||||
|
\xdef\r@p@sbbury{-\number\dimen100}}
|
||||||
|
%
|
||||||
|
% Need to rotate all four points and take the X-Y extremes of the new
|
||||||
|
% points as the new bounding box.
|
||||||
|
\def\minmaxtest{
|
||||||
|
\ifnum\number\p@intvaluex<\r@p@sbbllx
|
||||||
|
\xdef\r@p@sbbllx{\number\p@intvaluex}\fi
|
||||||
|
\ifnum\number\p@intvaluex>\r@p@sbburx
|
||||||
|
\xdef\r@p@sbburx{\number\p@intvaluex}\fi
|
||||||
|
\ifnum\number\p@intvaluey<\r@p@sbblly
|
||||||
|
\xdef\r@p@sbblly{\number\p@intvaluey}\fi
|
||||||
|
\ifnum\number\p@intvaluey>\r@p@sbbury
|
||||||
|
\xdef\r@p@sbbury{\number\p@intvaluey}\fi
|
||||||
|
}
|
||||||
|
% lower left
|
||||||
|
\rotate@{\@p@sbbllx}{\@p@sbblly}
|
||||||
|
\minmaxtest
|
||||||
|
% upper left
|
||||||
|
\rotate@{\@p@sbbllx}{\@p@sbbury}
|
||||||
|
\minmaxtest
|
||||||
|
% lower right
|
||||||
|
\rotate@{\@p@sbburx}{\@p@sbblly}
|
||||||
|
\minmaxtest
|
||||||
|
% upper right
|
||||||
|
\rotate@{\@p@sbburx}{\@p@sbbury}
|
||||||
|
\minmaxtest
|
||||||
|
\edef\@p@sbbllx{\r@p@sbbllx}\edef\@p@sbblly{\r@p@sbblly}
|
||||||
|
\edef\@p@sbburx{\r@p@sbburx}\edef\@p@sbbury{\r@p@sbbury}
|
||||||
|
%\ps@typeout{rotated BB: \r@p@sbbllx, \r@p@sbblly, \r@p@sbburx, \r@p@sbbury}
|
||||||
|
\fi
|
||||||
|
\count203=\@p@sbburx
|
||||||
|
\count204=\@p@sbbury
|
||||||
|
\advance\count203 by -\@p@sbbllx
|
||||||
|
\advance\count204 by -\@p@sbblly
|
||||||
|
\edef\@bbw{\number\count203}
|
||||||
|
\edef\@bbh{\number\count204}
|
||||||
|
%\ps@typeout{ bbh = \@bbh, bbw = \@bbw }
|
||||||
|
}
|
||||||
|
%
|
||||||
|
% \in@hundreds performs #1 * (#2 / #3) correct to the hundreds,
|
||||||
|
% then leaves the result in @result
|
||||||
|
%
|
||||||
|
\def\in@hundreds#1#2#3{\count240=#2 \count241=#3
|
||||||
|
\count100=\count240 % 100 is first digit #2/#3
|
||||||
|
\divide\count100 by \count241
|
||||||
|
\count101=\count100
|
||||||
|
\multiply\count101 by \count241
|
||||||
|
\advance\count240 by -\count101
|
||||||
|
\multiply\count240 by 10
|
||||||
|
\count101=\count240 %101 is second digit of #2/#3
|
||||||
|
\divide\count101 by \count241
|
||||||
|
\count102=\count101
|
||||||
|
\multiply\count102 by \count241
|
||||||
|
\advance\count240 by -\count102
|
||||||
|
\multiply\count240 by 10
|
||||||
|
\count102=\count240 % 102 is the third digit
|
||||||
|
\divide\count102 by \count241
|
||||||
|
\count200=#1\count205=0
|
||||||
|
\count201=\count200
|
||||||
|
\multiply\count201 by \count100
|
||||||
|
\advance\count205 by \count201
|
||||||
|
\count201=\count200
|
||||||
|
\divide\count201 by 10
|
||||||
|
\multiply\count201 by \count101
|
||||||
|
\advance\count205 by \count201
|
||||||
|
%
|
||||||
|
\count201=\count200
|
||||||
|
\divide\count201 by 100
|
||||||
|
\multiply\count201 by \count102
|
||||||
|
\advance\count205 by \count201
|
||||||
|
%
|
||||||
|
\edef\@result{\number\count205}
|
||||||
|
}
|
||||||
|
\def\compute@wfromh{
|
||||||
|
% computing : width = height * (bbw / bbh)
|
||||||
|
\in@hundreds{\@p@sheight}{\@bbw}{\@bbh}
|
||||||
|
%\ps@typeout{ \@p@sheight * \@bbw / \@bbh, = \@result }
|
||||||
|
\edef\@p@swidth{\@result}
|
||||||
|
%\ps@typeout{w from h: width is \@p@swidth}
|
||||||
|
}
|
||||||
|
\def\compute@hfromw{
|
||||||
|
% computing : height = width * (bbh / bbw)
|
||||||
|
\in@hundreds{\@p@swidth}{\@bbh}{\@bbw}
|
||||||
|
%\ps@typeout{ \@p@swidth * \@bbh / \@bbw = \@result }
|
||||||
|
\edef\@p@sheight{\@result}
|
||||||
|
%\ps@typeout{h from w : height is \@p@sheight}
|
||||||
|
}
|
||||||
|
\def\compute@handw{
|
||||||
|
\if@height
|
||||||
|
\if@width
|
||||||
|
\else
|
||||||
|
\compute@wfromh
|
||||||
|
\fi
|
||||||
|
\else
|
||||||
|
\if@width
|
||||||
|
\compute@hfromw
|
||||||
|
\else
|
||||||
|
\edef\@p@sheight{\@bbh}
|
||||||
|
\edef\@p@swidth{\@bbw}
|
||||||
|
\fi
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
\def\compute@resv{
|
||||||
|
\if@rheight \else \edef\@p@srheight{\@p@sheight} \fi
|
||||||
|
\if@rwidth \else \edef\@p@srwidth{\@p@swidth} \fi
|
||||||
|
%\ps@typeout{rheight = \@p@srheight, rwidth = \@p@srwidth}
|
||||||
|
}
|
||||||
|
%
|
||||||
|
% Compute any missing values
|
||||||
|
\def\compute@sizes{
|
||||||
|
\compute@bb
|
||||||
|
\if@scalefirst\if@angle
|
||||||
|
% at this point the bounding box has been adjsuted correctly for
|
||||||
|
% rotation. PSFIG does all of its scaling using \@bbh and \@bbw. If
|
||||||
|
% a width= or height= was specified along with \psscalefirst, then the
|
||||||
|
% width=/height= value needs to be adjusted to match the new (rotated)
|
||||||
|
% bounding box size (specifed in \@bbw and \@bbh).
|
||||||
|
% \ps@bbw width=
|
||||||
|
% ------- = ----------
|
||||||
|
% \@bbw new width=
|
||||||
|
% so `new width=' = (width= * \@bbw) / \ps@bbw; where \ps@bbw is the
|
||||||
|
% width of the original (unrotated) bounding box.
|
||||||
|
\if@width
|
||||||
|
\in@hundreds{\@p@swidth}{\@bbw}{\ps@bbw}
|
||||||
|
\edef\@p@swidth{\@result}
|
||||||
|
\fi
|
||||||
|
\if@height
|
||||||
|
\in@hundreds{\@p@sheight}{\@bbh}{\ps@bbh}
|
||||||
|
\edef\@p@sheight{\@result}
|
||||||
|
\fi
|
||||||
|
\fi\fi
|
||||||
|
\compute@handw
|
||||||
|
\compute@resv}
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
\def\OzTeXSpecials{
|
||||||
|
\special{empty.ps /@isp {true} def}
|
||||||
|
\special{empty.ps \@p@swidth \space \@p@sheight \space
|
||||||
|
\@p@sbbllx \space \@p@sbblly \space
|
||||||
|
\@p@sbburx \space \@p@sbbury \space
|
||||||
|
startTexFig \space }
|
||||||
|
\if@clip{
|
||||||
|
\if@verbose{
|
||||||
|
\ps@typeout{(clip)}
|
||||||
|
}\fi
|
||||||
|
\special{empty.ps doclip \space }
|
||||||
|
}\fi
|
||||||
|
\if@angle{
|
||||||
|
\if@verbose{
|
||||||
|
\ps@typeout{(rotate)}
|
||||||
|
}\fi
|
||||||
|
\special {empty.ps \@p@sangle \space rotate \space}
|
||||||
|
}\fi
|
||||||
|
\if@prologfile
|
||||||
|
\special{\@prologfileval \space } \fi
|
||||||
|
\if@decmpr{
|
||||||
|
\if@verbose{
|
||||||
|
\ps@typeout{psfig: Compression not available
|
||||||
|
in OzTeX version \space }
|
||||||
|
}\fi
|
||||||
|
}\else{
|
||||||
|
\if@verbose{
|
||||||
|
\ps@typeout{psfig: including \@p@sfile \space }
|
||||||
|
}\fi
|
||||||
|
\special{epsf=\@p@sfile \space }
|
||||||
|
}\fi
|
||||||
|
\if@postlogfile
|
||||||
|
\special{\@postlogfileval \space } \fi
|
||||||
|
\special{empty.ps /@isp {false} def}
|
||||||
|
}
|
||||||
|
\def\DvipsSpecials{
|
||||||
|
%
|
||||||
|
\special{ps::[begin] \@p@swidth \space \@p@sheight \space
|
||||||
|
\@p@sbbllx \space \@p@sbblly \space
|
||||||
|
\@p@sbburx \space \@p@sbbury \space
|
||||||
|
startTexFig \space }
|
||||||
|
\if@clip{
|
||||||
|
\if@verbose{
|
||||||
|
\ps@typeout{(clip)}
|
||||||
|
}\fi
|
||||||
|
\special{ps:: doclip \space }
|
||||||
|
}\fi
|
||||||
|
\if@angle
|
||||||
|
\if@verbose{
|
||||||
|
\ps@typeout{(clip)}
|
||||||
|
}\fi
|
||||||
|
\special {ps:: \@p@sangle \space rotate \space}
|
||||||
|
\fi
|
||||||
|
\if@prologfile
|
||||||
|
\special{ps: plotfile \@prologfileval \space } \fi
|
||||||
|
\if@decmpr{
|
||||||
|
\if@verbose{
|
||||||
|
\ps@typeout{psfig: including \@p@sfile.Z \space }
|
||||||
|
}\fi
|
||||||
|
\special{ps: plotfile "`zcat \@p@sfile.Z" \space }
|
||||||
|
}\else{
|
||||||
|
\if@verbose{
|
||||||
|
\ps@typeout{psfig: including \@p@sfile \space }
|
||||||
|
}\fi
|
||||||
|
\special{ps: plotfile \@p@sfile \space }
|
||||||
|
}\fi
|
||||||
|
\if@postlogfile
|
||||||
|
\special{ps: plotfile \@postlogfileval \space } \fi
|
||||||
|
\special{ps::[end] endTexFig \space }
|
||||||
|
}
|
||||||
|
%
|
||||||
|
% \psfig
|
||||||
|
% usage : \psfig{file=, height=, width=, bbllx=, bblly=, bburx=, bbury=,
|
||||||
|
% rheight=, rwidth=, clip=}
|
||||||
|
%
|
||||||
|
% "clip=" is a switch and takes no value, but the `=' must be present.
|
||||||
|
\def\psfig#1{\vbox {
|
||||||
|
% do a zero width hard space so that a single
|
||||||
|
% \psfig in a centering enviornment will behave nicely
|
||||||
|
%{\setbox0=\hbox{\ }\ \hskip-\wd0}
|
||||||
|
%
|
||||||
|
\ps@init@parms
|
||||||
|
\parse@ps@parms{#1}
|
||||||
|
\compute@sizes
|
||||||
|
%
|
||||||
|
\ifnum\@p@scost<\@psdraft{
|
||||||
|
\PsfigSpecials
|
||||||
|
% Create the vbox to reserve the space for the figure.
|
||||||
|
\vbox to \@p@srheight sp{
|
||||||
|
% 1/92 TJD Changed from "true sp" to "sp" for magnification.
|
||||||
|
\hbox to \@p@srwidth sp{
|
||||||
|
\hss
|
||||||
|
}
|
||||||
|
\vss
|
||||||
|
}
|
||||||
|
}\else{
|
||||||
|
% draft figure, just reserve the space and print the
|
||||||
|
% path name.
|
||||||
|
\if@draftbox{
|
||||||
|
% Verbose draft: print file name in box
|
||||||
|
% 10/93 TJD changed to fbox from frame
|
||||||
|
\hbox{\fbox{\vbox to \@p@srheight sp{
|
||||||
|
\vss
|
||||||
|
\hbox to \@p@srwidth sp{ \hss
|
||||||
|
% 10/93 TJD deleted to avoid ``_'' problems
|
||||||
|
% \@p@sfile
|
||||||
|
\hss }
|
||||||
|
\vss
|
||||||
|
}}}
|
||||||
|
}\else{
|
||||||
|
% Non-verbose draft
|
||||||
|
\vbox to \@p@srheight sp{
|
||||||
|
\vss
|
||||||
|
\hbox to \@p@srwidth sp{\hss}
|
||||||
|
\vss
|
||||||
|
}
|
||||||
|
}\fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}\fi
|
||||||
|
}}
|
||||||
|
\psfigRestoreAt
|
||||||
|
\setDriver
|
||||||
|
\let\@=\LaTeXAtSign
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
553
doc/doc_src/serredoc.tex
Normal file
553
doc/doc_src/serredoc.tex
Normal file
@ -0,0 +1,553 @@
|
|||||||
|
\chapter {Serre spectral sequence}
|
||||||
|
|
||||||
|
\section {Introduction}
|
||||||
|
|
||||||
|
This chapter is devoted to the {\tt Kenzo} implementation of the
|
||||||
|
Serre spectral sequence\index{Serre spectral sequence}
|
||||||
|
with the aim to compute the homology groups
|
||||||
|
of the total space of a fibration. From the programming point of view,
|
||||||
|
this method will be used according to our general scheme of searching homology
|
||||||
|
(generic function {\tt search-efhm}) applied to an object of type {\tt fibration-total}.
|
||||||
|
|
||||||
|
\section {The topological problem}
|
||||||
|
|
||||||
|
Let ${\cal G}$ be a simplicial group (the fiber space), $B$, a $1$--reduced simplicial set (the base space) and
|
||||||
|
$\tau$ (the fibration), a simplicial morphism of degree $-1$, $\tau: B \longrightarrow {\cal G}$.
|
||||||
|
We know, from a previous chapter (fibrations) that the software {\tt Kenzo} knows how to build
|
||||||
|
the total space of the fibration: $B \times_\tau {\cal G}$, which has the same simplices as
|
||||||
|
$B \times {\cal G}$ and the same face operators except the last one, given by:
|
||||||
|
$$\partial_n(b,g) = (\partial_n b, \tau(b).\partial_n g), \quad b\in B, g \in {\cal G},$$
|
||||||
|
where the '{\tt .}' denotes the group operation in ${\cal G}$. This discrepancy between the respective face operators
|
||||||
|
$\partial_n$ induces a discrepancy between the differential operators. We suppose now, that
|
||||||
|
the base and fiber spaces are objects of effective homology type, i.e. there exists homotopy equivalences
|
||||||
|
$$\diagram{
|
||||||
|
& \widehat{B} & & & & \widehat{\cal G} & & \cr
|
||||||
|
\rho_1 \swarrow\nearrow & & \searrow\nwarrow \rho_2 &\quad & \rho'_1\swarrow\nearrow & & \searrow\nwarrow\rho'_2 & \cr
|
||||||
|
B & & EB & & {\cal G} & & EG \cr
|
||||||
|
}$$
|
||||||
|
|
||||||
|
where the chain complexes $EB$ and $EG$ are effective. The problem consists in finding a homotopy equivalence
|
||||||
|
between $B \times_\tau {\cal G}$ and an effective chain complex noted $EB \widetilde{\otimes} EG$;
|
||||||
|
the underlying graded module of $EB \widetilde{\otimes} EG$ is $EB \otimes EG$ but the differential
|
||||||
|
is twisted in a rather complicated way. In fact, the chain complex $EB \widetilde{\otimes} EG$ is nothing
|
||||||
|
but the Hirsh complex\footnote{{\bf Guy Hirsh.} {\em Sur les groupes d'homologie des espaces fibr\'es},
|
||||||
|
Bulletin de la Soci\'et\'e Math\'ematique de Belgique, 1954, vol. 6, pp. 79-96.}.
|
||||||
|
|
||||||
|
\subsection {The Ronald Brown reduction}
|
||||||
|
|
||||||
|
We start from the Eilenberg-Zilber reduction (built in {\tt Kenzo} by the function {\tt ez}).
|
||||||
|
$$
|
||||||
|
\diagram{
|
||||||
|
{{\cal C}_*(B \times {\cal G})} & \stackrel{h}{\longrightarrow} & {}^s{{\cal C}_*(B \times {\cal G})} \cr
|
||||||
|
{\scriptstyle f} \downarrow \uparrow {\scriptstyle g} \cr
|
||||||
|
{{\cal C}_*(B) \otimes {\cal C}_*({\cal G})} \cr
|
||||||
|
}.
|
||||||
|
$$
|
||||||
|
But, in fact we are interested in the following one (the Ronald Brown reduction):
|
||||||
|
$$
|
||||||
|
\diagram{
|
||||||
|
{{\cal C}_*(B \times_\tau {\cal G})} & \stackrel{h}{\longrightarrow} & {}^s{{\cal C}_*(B \times_\tau {\cal G})} \cr
|
||||||
|
{\scriptstyle f} \downarrow \uparrow {\scriptstyle g} \cr
|
||||||
|
{{\cal C}_*(B) \otimes_t {\cal C}_*({\cal G})} \cr
|
||||||
|
}
|
||||||
|
$$
|
||||||
|
where the symbol $\otimes_t$ represents a {\rm twisted tensor product}, induced by the twisting
|
||||||
|
operator $\tau$; this twisting operator is nothing but the Shih twisting cochain\footnote{{\bf Gugenheim.},
|
||||||
|
{\em On the chain complex of a fibration}.
|
||||||
|
Illinois Journal of Mathematics, 1972, vol. 16, pp. 398-414. } determined by Szczarba\footnote
|
||||||
|
{{\bf R. H. Szczarba.}
|
||||||
|
{\em The homology of twisted cartesian products}.
|
||||||
|
Transactions of the American Mathematical Society,
|
||||||
|
1961, vol. 100, pp. 197-216.}. Here, to obtain the Szczarba cochain, we apply the perturbation lemma (Ronnie Brown).
|
||||||
|
In effect, writing
|
||||||
|
$$ d_\tau = d + (d_\tau -d),$$
|
||||||
|
one may consider that the differential $d_\tau$ of $B \times_\tau {\cal G}$
|
||||||
|
is the differential $d$ of $B \times {\cal G}$ modified by the perturbation $d_\tau - d$.
|
||||||
|
The perturbation morphism $d_\tau -d$ is deduced from the difference between both $\partial_n$ face operators.
|
||||||
|
This being done, a perturbation may possibly be
|
||||||
|
propagated along the Eilenberg-Zilber reduction (see the method {\tt add} applied to a reduction)
|
||||||
|
and the perturbation lemma gives also, as a bonus, the perturbation to be applied to the dif\-fe\-ren\-ti\-al
|
||||||
|
of $B \otimes {\cal G}$ to obtain the differential of $B \otimes_t {\cal G}$.
|
||||||
|
|
||||||
|
\subsection {The Gugenheim algorithm}
|
||||||
|
|
||||||
|
On the other hand, from the homotopy equivalences
|
||||||
|
$$\diagram{
|
||||||
|
& \widehat{B} & & & & \widehat{\cal G} & & \cr
|
||||||
|
\rho_1 \swarrow\nearrow & & \searrow\nwarrow \rho_2 &\quad & \rho'_1\swarrow\nearrow & & \searrow\nwarrow\rho'_2 & \cr
|
||||||
|
B & & EB & & {\cal G} & & EG \cr
|
||||||
|
}$$
|
||||||
|
it is possible to build their tensor product, i.e. the homotopy equivalence:
|
||||||
|
$$\diagram{
|
||||||
|
& \widehat{B}\otimes \widehat{\cal G} & \cr
|
||||||
|
\swarrow\nearrow & & \searrow\nwarrow \cr
|
||||||
|
B\otimes {\cal G} & & EB \otimes EG \cr}
|
||||||
|
$$
|
||||||
|
This is done in {\tt Kenzo} by the method {\tt tnsr-prdc}.
|
||||||
|
In fact, we are interested in the following one:
|
||||||
|
$$\diagram{
|
||||||
|
& \widehat{B}\widetilde{\otimes}\widehat{\cal G} & \cr
|
||||||
|
\swarrow\nearrow & & \searrow\nwarrow \cr
|
||||||
|
B\otimes_t {\cal G} & & EB \widetilde{\otimes} EG \cr}
|
||||||
|
$$
|
||||||
|
where $\widehat{B}\widetilde{\otimes}\widehat{\cal G}$ and $EB \widetilde{\otimes} EG$ are appropriate
|
||||||
|
strongly twisted tensor products determined by the perturbation lemma: this last homotopy equivalence
|
||||||
|
is obtained by propagating over the previous one, the perturbation to be applied to the differential
|
||||||
|
of $B \otimes {\cal G}$ to obtain the differential of $B \otimes_t {\cal G}$.
|
||||||
|
The homotopy equivalence so obtained is called in {\tt Kenzo} the {\em right Serre homotopy equivalence}.
|
||||||
|
|
||||||
|
\subsection {Assembling the puzzle}
|
||||||
|
|
||||||
|
Let us build now the so-called {\em left Serre homotopy equivalence},
|
||||||
|
$$\diagram{
|
||||||
|
& B\times_\tau{\cal G} & \cr
|
||||||
|
\swarrow\nearrow & & \searrow\nwarrow \cr
|
||||||
|
B\times_\tau {\cal G} & & B\otimes_t {\cal G} \cr}
|
||||||
|
$$
|
||||||
|
where the left reduction is the trivial one and the right reduction is
|
||||||
|
the Brown reduction. We may then compose both Serre homotopy equivalences to obtain
|
||||||
|
what we were looking for:
|
||||||
|
$$\diagram{
|
||||||
|
& B\times_\tau {\cal G} & & &\widehat{B}\otimes_t\widehat{\cal G} & & \cr
|
||||||
|
\rho_1 \swarrow\nearrow & & \searrow\nwarrow \rho_2 & \rho'_1\swarrow\nearrow & & \searrow\nwarrow\rho'_2 & \cr
|
||||||
|
B\times_\tau {\cal G} & &B\otimes_t {\cal G} &B\otimes_t {\cal G} & &EB \otimes_t EG \cr
|
||||||
|
}$$
|
||||||
|
|
||||||
|
\section {The functions for the Serre spectral sequence}
|
||||||
|
|
||||||
|
The following functions are given for information purpose.
|
||||||
|
\vskip 0.35cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt fibration-dtau-d-intr} {\em fibration} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the lisp function corresponding to the difference $d_\tau - d$, where $d$ is the differential
|
||||||
|
in $B \times {\cal G}$ and $d_\tau$ the differential in $B \times_\tau {\cal G}$. This is an internal
|
||||||
|
function and is used in the following one. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt fibration-dtau-d} {\em fibration} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the morphism $d_\tau-d$, which is the perturbation morphism to be added to
|
||||||
|
the differential $d$ of $B \times {\cal G}$ to obtain $d_\tau$,
|
||||||
|
the differential in $B \times_\tau {\cal G}$. We recall that both simplicial sets have
|
||||||
|
the same simplices. The source and the target of this morphism is the total space
|
||||||
|
$B \times_\tau {\cal G}$ and the degree is $-1$. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt Brown-reduction} {\em fibration} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return two values: a) the Brown reduction and b) the perturbation to be applied to the differential of the tensor
|
||||||
|
product $B \otimes {\cal G}$ to obtain the differential of the twisted tensor
|
||||||
|
product $B \otimes_t {\cal G}$. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt left-Serre-efhm} {\em fibration} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the left Serre homotopy equivalence from the argument {\em fibration}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt right-Serre-efhm} {\em fibration} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build the right Serre homotopy equivalence from the argument {\em fibration}. \par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\section {Searching homology for fibration total spaces}
|
||||||
|
|
||||||
|
The comment list of a {\tt Kenzo} object which is the total space of a fibration has the form
|
||||||
|
\index{searching homology!fibration total space}
|
||||||
|
{\tt (fibration-total {\em fibration})}. The {\tt search-efhm} method applied to a simplicial
|
||||||
|
set having this kind of comment list, builds the composition of the left and right Serre homotopy
|
||||||
|
equivalences. The right one needs the homotopy equivalences attached respectively to the
|
||||||
|
base and fiber spaces. This may involve a recursive call of {\tt search-efhm}.
|
||||||
|
If the base space or the fiber space
|
||||||
|
are locally effective, the total space is locally effective and the method
|
||||||
|
cannot compute the homology.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(defmethod SEARCH-EFHM (smst (orgn (eql 'fibration-total)))
|
||||||
|
(declare
|
||||||
|
(type simplicial-set smst))
|
||||||
|
(the homotopy-equivalence
|
||||||
|
(fibration-total-efhm (second (orgn smst)))))
|
||||||
|
|
||||||
|
(defun FIBRATION-TOTAL-EFHM (fibration)
|
||||||
|
(declare (type fibration fibration))
|
||||||
|
(the homotopy-equivalence
|
||||||
|
(cmps (left-serre-efhm fibration)
|
||||||
|
(right-serre-efhm fibration))))
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\subsection* {Examples}
|
||||||
|
|
||||||
|
We begin by some examples similar to examples that we have seen in the fibrations chapter.
|
||||||
|
For the user, the delicate point is to write in Lisp a correct twisting operator. There is no check
|
||||||
|
in this version of {\tt Kenzo} for the coherency of the twisting operator. In the first example
|
||||||
|
we define a fibration $\tau: S^2 \rightarrow K({\Z},1)$ with $\tau(s2)= (2)$, then we build the
|
||||||
|
total space of the fibration, namely $P^3{\R}$, and we compute some known homology groups.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf sph2 (sphere 2)) ==>
|
||||||
|
|
||||||
|
[K1 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf kz1 (k-z-1)) ==>
|
||||||
|
|
||||||
|
[K6 Abelian-Simplicial-Group]
|
||||||
|
|
||||||
|
(setf tw2 (build-smmr
|
||||||
|
:sorc sph2
|
||||||
|
:trgt kz1
|
||||||
|
:degr -1
|
||||||
|
:sintr #'(lambda (dmns gmsm)
|
||||||
|
(unless (= dmns 2)
|
||||||
|
(error "Dimension error for
|
||||||
|
the twisting operator S2-->KZ1"))
|
||||||
|
(absm 0 (list 2)))
|
||||||
|
:orgn '(s2-tw-kz1))) ==>
|
||||||
|
|
||||||
|
[K18 Fibration]
|
||||||
|
|
||||||
|
(? tw2 2 's2) ==>
|
||||||
|
|
||||||
|
<AbSm - (1)>
|
||||||
|
|
||||||
|
(? tw2 0 '*) ==>
|
||||||
|
|
||||||
|
Error: Dimension error for the twisting operator S2-->KZ1
|
||||||
|
|
||||||
|
(setf p3r (fibration-total tw2)) ==>
|
||||||
|
|
||||||
|
[K24 Simplicial-Set]
|
||||||
|
|
||||||
|
(homology p3r 0 10) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Homology in dimension 7 :
|
||||||
|
|
||||||
|
Homology in dimension 8 :
|
||||||
|
|
||||||
|
Homology in dimension 9 :
|
||||||
|
|
||||||
|
--done--
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us do the same kind of computations with $\tau(s2)= (5)$ and $\tau(s2)= (17)$.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf tw5 (build-smmr
|
||||||
|
:sorc sph2
|
||||||
|
:trgt kz1
|
||||||
|
:degr -1
|
||||||
|
:sintr #'(lambda (dmns gmsm)
|
||||||
|
(absm 0 (list 5)))
|
||||||
|
:orgn '(s2-tw-kz1-5))) ==>
|
||||||
|
|
||||||
|
[K110 Fibration]
|
||||||
|
|
||||||
|
(setf total-5 (fibration-total tw5)) ==>
|
||||||
|
|
||||||
|
[K111 Simplicial-Set]
|
||||||
|
|
||||||
|
(homology total-5 0 5)
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z/5Z
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
(setf tw17 (build-smmr
|
||||||
|
:sorc sph2
|
||||||
|
:trgt kz1
|
||||||
|
:degr -1
|
||||||
|
:sintr #'(lambda (dmns gmsm)
|
||||||
|
(absm 0 (list 17)))
|
||||||
|
:orgn '(s2-tw-kz1-17))) ==>
|
||||||
|
|
||||||
|
[K165 Fibration]
|
||||||
|
|
||||||
|
(setf total-17 (fibration-total tw17)) ==>
|
||||||
|
|
||||||
|
[K166 Simplicial-Set]
|
||||||
|
|
||||||
|
(homology total-17 0 4) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Component Z/17Z
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
Using the last total space ({\tt total-17}), it is instructive to enter in the details
|
||||||
|
of the resulting homotopy equivalence that the system builds to compute the homology
|
||||||
|
groups. First, the function {\tt echcm} selects the {\bf effective} chain complex of the homotopy
|
||||||
|
equivalence, value of the slot {\tt efhm} of the simplicial set {\tt total-17}, and we may
|
||||||
|
print some basis of this chain complex. In fact, all basis in dimension above $3$ are null.
|
||||||
|
The presence of the symbol {\tt S1} is due to the fact that the effective chain complex
|
||||||
|
used for the homology of $K({\Z},1)$ is the circle (see the classifying spaces chapter).
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf echcm (echcm total-17)) ==>
|
||||||
|
|
||||||
|
[K205 Chain-Complex]
|
||||||
|
|
||||||
|
(dotimes (i 6) (print (basis echcm i))) ==>
|
||||||
|
|
||||||
|
(<TnPr * *>)
|
||||||
|
(<TnPr * S1>)
|
||||||
|
(<TnPr S2 *>)
|
||||||
|
(<TnPr S2 S1>)
|
||||||
|
NIL
|
||||||
|
NIL
|
||||||
|
\end{verbatim}}
|
||||||
|
The resulting homotopy equivalence built by the system, may be summarized
|
||||||
|
by the diagram:
|
||||||
|
|
||||||
|
$$\diagram{
|
||||||
|
&\widehat{S^2\times_\tau K({\Z},1)} & \cr
|
||||||
|
f\swarrow\nearrow & & \searrow\nwarrow g \cr
|
||||||
|
S^2\times_\tau K({\Z},1) & & [K205\, Chain\, Complex] \cr}
|
||||||
|
$$
|
||||||
|
|
||||||
|
where {\em f} and {\em g} are respectively the {\em descending} and {\em ascending}
|
||||||
|
morphisms of the left and right reductions of the homotopy equivalence. We recall that
|
||||||
|
these morphisms are obtained respectively by the functions {\tt lf} and {\tt rg}. We may
|
||||||
|
compose these morphisms to create a morphism {\tt fg} from $[K205]$ to $S^2\times_\tau K({\Z},1)$ and
|
||||||
|
see how it acts on the basis elements in dimension $1$ and $2$:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf fg (cmps (lf (efhm total-17)) (rg (efhm total-17)))) ==>
|
||||||
|
|
||||||
|
[K220 Morphism (degree 0)]
|
||||||
|
|
||||||
|
(setf gen1 (first (basis echcm 1))) ==>
|
||||||
|
|
||||||
|
<TnPr * S1>
|
||||||
|
|
||||||
|
(? fg 1 gen1) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 1}
|
||||||
|
<-1 * <CrPr 0 * - (1)>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf gen2 (first (basis echcm 2))) ==>
|
||||||
|
|
||||||
|
<TnPr S2 *>
|
||||||
|
|
||||||
|
(setf fg-gen2 (? fg 2 gen2)) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 2}
|
||||||
|
<-1 * <CrPr - S2 1-0 NIL>>
|
||||||
|
<-1 * <CrPr 1-0 * - (1 1)>>
|
||||||
|
<-1 * <CrPr 1-0 * - (1 2)>>
|
||||||
|
<-1 * <CrPr 1-0 * - (1 3)>>
|
||||||
|
<-1 * <CrPr 1-0 * - (1 4)>>
|
||||||
|
<-1 * <CrPr 1-0 * - (1 5)>>
|
||||||
|
<-1 * <CrPr 1-0 * - (1 6)>>
|
||||||
|
<-1 * <CrPr 1-0 * - (1 7)>>
|
||||||
|
<-1 * <CrPr 1-0 * - (1 8)>>
|
||||||
|
<-1 * <CrPr 1-0 * - (1 9)>>
|
||||||
|
<-1 * <CrPr 1-0 * - (1 10)>>
|
||||||
|
<-1 * <CrPr 1-0 * - (1 11)>>
|
||||||
|
<-1 * <CrPr 1-0 * - (1 12)>>
|
||||||
|
<-1 * <CrPr 1-0 * - (1 13)>>
|
||||||
|
<-1 * <CrPr 1-0 * - (1 14)>>
|
||||||
|
<-1 * <CrPr 1-0 * - (1 15)>>
|
||||||
|
<-1 * <CrPr 1-0 * - (1 16)>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
The boundary of this combination in $S^2\times_\tau K({\Z},1)$ is
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(? total-17 *)
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 1}
|
||||||
|
<-17 * <CrPr 0 * - (1)>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
to which corresponds in the effective chain complex, the boundary of the basis
|
||||||
|
element in dimension $2$, $gen2=s2 \otimes *$:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(? echcm 2 gen2) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 1}
|
||||||
|
<17 * <TnPr * S1>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
The printing of the $3$ faces of the $17$ simplices of the combination
|
||||||
|
{\tt fg-gen2} shows the geometrical organisation of the twisted product:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(dolist(iterm (cmbn-list fg-gen2))
|
||||||
|
(dotimes (i 3)(print (face total-17 i 2 (gnrt iterm))))
|
||||||
|
(terpri)) ==>
|
||||||
|
|
||||||
|
<AbSm 0 <CrPr - * - NIL>>
|
||||||
|
<AbSm 0 <CrPr - * - NIL>>
|
||||||
|
<AbSm - <CrPr 0 * - (17)>>
|
||||||
|
|
||||||
|
<AbSm - <CrPr 0 * - (1)>>
|
||||||
|
<AbSm - <CrPr 0 * - (2)>>
|
||||||
|
<AbSm - <CrPr 0 * - (1)>>
|
||||||
|
|
||||||
|
<AbSm - <CrPr 0 * - (2)>>
|
||||||
|
<AbSm - <CrPr 0 * - (3)>>
|
||||||
|
<AbSm - <CrPr 0 * - (1)>>
|
||||||
|
|
||||||
|
<AbSm - <CrPr 0 * - (3)>>
|
||||||
|
<AbSm - <CrPr 0 * - (4)>>
|
||||||
|
<AbSm - <CrPr 0 * - (1)>>
|
||||||
|
|
||||||
|
<AbSm - <CrPr 0 * - (4)>>
|
||||||
|
<AbSm - <CrPr 0 * - (5)>>
|
||||||
|
<AbSm - <CrPr 0 * - (1)>>
|
||||||
|
|
||||||
|
<AbSm - <CrPr 0 * - (5)>>
|
||||||
|
<AbSm - <CrPr 0 * - (6)>>
|
||||||
|
<AbSm - <CrPr 0 * - (1)>>
|
||||||
|
|
||||||
|
<AbSm - <CrPr 0 * - (6)>>
|
||||||
|
<AbSm - <CrPr 0 * - (7)>>
|
||||||
|
<AbSm - <CrPr 0 * - (1)>>
|
||||||
|
|
||||||
|
<AbSm - <CrPr 0 * - (7)>>
|
||||||
|
<AbSm - <CrPr 0 * - (8)>>
|
||||||
|
<AbSm - <CrPr 0 * - (1)>>
|
||||||
|
|
||||||
|
<AbSm - <CrPr 0 * - (8)>>
|
||||||
|
<AbSm - <CrPr 0 * - (9)>>
|
||||||
|
<AbSm - <CrPr 0 * - (1)>>
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
<AbSm - <CrPr 0 * - (9)>>
|
||||||
|
<AbSm - <CrPr 0 * - (10)>>
|
||||||
|
<AbSm - <CrPr 0 * - (1)>>
|
||||||
|
|
||||||
|
<AbSm - <CrPr 0 * - (10)>>
|
||||||
|
<AbSm - <CrPr 0 * - (11)>>
|
||||||
|
<AbSm - <CrPr 0 * - (1)>>
|
||||||
|
|
||||||
|
<AbSm - <CrPr 0 * - (11)>>
|
||||||
|
<AbSm - <CrPr 0 * - (12)>>
|
||||||
|
<AbSm - <CrPr 0 * - (1)>>
|
||||||
|
|
||||||
|
<AbSm - <CrPr 0 * - (12)>>
|
||||||
|
<AbSm - <CrPr 0 * - (13)>>
|
||||||
|
<AbSm - <CrPr 0 * - (1)>>
|
||||||
|
|
||||||
|
<AbSm - <CrPr 0 * - (13)>>
|
||||||
|
<AbSm - <CrPr 0 * - (14)>>
|
||||||
|
<AbSm - <CrPr 0 * - (1)>>
|
||||||
|
|
||||||
|
<AbSm - <CrPr 0 * - (14)>>
|
||||||
|
<AbSm - <CrPr 0 * - (15)>>
|
||||||
|
<AbSm - <CrPr 0 * - (1)>>
|
||||||
|
|
||||||
|
<AbSm - <CrPr 0 * - (15)>>
|
||||||
|
<AbSm - <CrPr 0 * - (16)>>
|
||||||
|
<AbSm - <CrPr 0 * - (1)>>
|
||||||
|
|
||||||
|
<AbSm - <CrPr 0 * - (16)>>
|
||||||
|
<AbSm - <CrPr 0 * - (17)>>
|
||||||
|
<AbSm - <CrPr 0 * - (1)>>
|
||||||
|
\end{verbatim}}
|
||||||
|
\begin{center}
|
||||||
|
---------
|
||||||
|
\end{center}
|
||||||
|
We have seen that for the special case of loop spaces, there is a
|
||||||
|
canonical fibration and that the function {\tt twisted-crts-prdc}
|
||||||
|
builds the total space $X \times_\tau \Omega X$.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf sph3 (sphere 3)) ==>
|
||||||
|
|
||||||
|
[K221 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf tw3 (twisted-crts-prdc sph3)) ==>
|
||||||
|
|
||||||
|
[K243 Simplicial-Set]
|
||||||
|
|
||||||
|
(face tw3 3 3 (crpr 0 's3 7 +null-loop+)) ==>
|
||||||
|
|
||||||
|
<AbSm - <CrPr 1-0 * - <<Loop[S3]>>>>
|
||||||
|
\end{verbatim}}
|
||||||
|
It is of course possible to study, any other fibration, provided one
|
||||||
|
defines a correct fibration $\tau$. In the following example
|
||||||
|
the fibration $\tau: S^3 \longrightarrow \Omega S^3$, is defined
|
||||||
|
by
|
||||||
|
$\tau(s3)= s3^{-2},$ where $s3^{-2}$ is a word in the Kan simplicial version
|
||||||
|
of the first loop space of $S^3$. In Kenzo, this object is created by the
|
||||||
|
statement:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(absm 0 (loop3 0 's3 -2)) ==>
|
||||||
|
|
||||||
|
<AbSm - <<Loop[S3\-2]>>>
|
||||||
|
|
||||||
|
(setf tws3 (build-smmr :sorc sph3
|
||||||
|
:trgt (loop-space sph3)
|
||||||
|
:degr -1
|
||||||
|
:sintr #'(lambda (dmns gmsm) (absm 0 (loop3 0 's3 -2)))
|
||||||
|
:orgn '(s3-tw-lps3))) ==>
|
||||||
|
|
||||||
|
[K248 Fibration]
|
||||||
|
|
||||||
|
(setf total (fibration-total tws3)) ==>
|
||||||
|
|
||||||
|
[K249 Simplicial-Set]
|
||||||
|
|
||||||
|
(homology total 0 7) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Homology in dimension 6 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\subsection* {Lisp files concerned in this chapter}
|
||||||
|
|
||||||
|
{\tt serre.lisp}, {\tt searching-homology.lisp}.
|
||||||
786
doc/doc_src/smgrdoc.tex
Normal file
786
doc/doc_src/smgrdoc.tex
Normal file
@ -0,0 +1,786 @@
|
|||||||
|
\chapter {Simplicial Groups}
|
||||||
|
|
||||||
|
\section {Representation of a simplicial group}
|
||||||
|
|
||||||
|
A simplicial group\index{simplicial group} is an instance\index{class!{\tt SIMPLICIAL-GROUP}}
|
||||||
|
of the class {\tt SIMPLICIAL-GROUP}, subclass of the classes {\tt KAN} and {\tt HOPF-ALGEBRA}.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(DEFCLASS SIMPLICIAL-GROUP (kan hopf-algebra)
|
||||||
|
((grml :type simplicial-mrph :initarg :grml :reader grml1)
|
||||||
|
(grin :type simplicial-mrph :initarg :grin :reader grin1)))
|
||||||
|
\end{verbatim}}
|
||||||
|
We recall that this new class (multi--) inherits from the following classes:
|
||||||
|
{\tt KAN}, {\tt SIMPLICIAL-SET}, {\tt COALGEBRA}, {\tt ALGEBRA} and {\tt CHAIN-COMPLEX}.
|
||||||
|
It has two slots of its own:
|
||||||
|
\begin{description}
|
||||||
|
\item {\tt grml}, an object of type {\tt SIMPLICIAL-MRPH}, defining in the underlying simplicial set $S$,
|
||||||
|
the group operation as a simplicial morphism from $S \times S$ onto $S$,
|
||||||
|
compatible with the face and degeneracy operators in $S$, i.e. the $\partial$'s and $\eta$'s operators are
|
||||||
|
also group morphisms. In dimension $n$, the neutral element is assumed to be the $n$--th degeneracy of
|
||||||
|
the base point of the underlying simplicial set.
|
||||||
|
\item {\tt grin}, an object of type {\tt SIMPLICIAL-MRPH}, defining the inverse of an element of the
|
||||||
|
Kan simplicial set w.r.t. the preceding group law.
|
||||||
|
\end{description}
|
||||||
|
A printing method has been associated to the class {\tt SIMPLICIAL GROUP} and the external representation
|
||||||
|
of an instance is a string like {\tt [K{\em n} Simplicial-Group]}, where {\em n} is the number plate of
|
||||||
|
the Kenzo object.
|
||||||
|
|
||||||
|
\section {Representation of an Abelian simplicial group}
|
||||||
|
|
||||||
|
The class of Abelian simplicial group, {\tt AB-SIMPLICIAL-GROUP}\index{class!{\tt SIMPLICIAL-GROUP}},
|
||||||
|
inherits all the properties of the class {\tt SIMPLICIAL-GROUP} and has not slots of its own, as shown by:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(DEFCLASS AB-SIMPLICIAL-GROUP (simplicial-group) ())
|
||||||
|
\end{verbatim}}
|
||||||
|
The difference is purely mathematical: it is up to the user to provide as slot
|
||||||
|
{\em grml}, a simplicial morphism which is {\bf commutative}. As expected,
|
||||||
|
the external representation of an instance of this class, is a string like
|
||||||
|
{\tt [K{\em n} Abelian-Simplicial-Group]}, where {\em n} is the number plate of
|
||||||
|
the Kenzo object.
|
||||||
|
|
||||||
|
|
||||||
|
\section {The functions build-smgr and build-ab-smrg}
|
||||||
|
|
||||||
|
To\index{function!{\tt build-smgr}} facilitate the construction of instances of
|
||||||
|
the classes {\tt SIMPLICIAL-GROUP} and {\tt AB-SIMPLICIAL-GROUP} and to free the user to call
|
||||||
|
the standard constructor {\tt make-instance}, the software provides the functions
|
||||||
|
{\em build-smrg} and {\em build-ab-smrg}\index{function!{\tt build-ab-smgr}}.
|
||||||
|
\vskip 0.35cm
|
||||||
|
{\tt build-smgr}\par
|
||||||
|
\hspace {0.60cm}{\tt :cmpr} {\em cmpr} {\tt basis} {\em basis} {\tt :bspn} {\em bspn} {\tt :face} {\em face}
|
||||||
|
{\tt :face*} {\em face*} \par
|
||||||
|
\hspace {0.60cm}{\tt :intr-bndr} {\em intr-bndr} {\tt :bndr-strt} {\em bndr-strt} {\tt :intr-dgnl} {\em intr-dgnl} \par
|
||||||
|
\hspace {0.60cm}{\tt :dgnl-strt} {\em dgnl-strt} {\tt :sintr-grml} {\em sintr-grml} {\tt :sintr-grin} {\em sintr-grin} \par
|
||||||
|
\hspace {0.60cm}{\tt :orgn} {\em orgn}
|
||||||
|
\vskip 0.35cm
|
||||||
|
defined with keyword parameters and returning an instance of the class {\tt SIMPLICIAL-GROUP}.
|
||||||
|
The keyword arguments {\em cmpr}, {\em basis}, {\em bspn}, {\em face}, {\em face*}, {\em intr-bndr},
|
||||||
|
{\em bndr-strt}, {\em intr-dgnl} and {\em dgnl-strt} are the arguments provided to build the underlying
|
||||||
|
simplicial set using the function {\tt build-smst}. Let us call it $S$.
|
||||||
|
As usual, an adequate comment list must be provided for the parameter {\tt :orgn}. The only two new arguments are:
|
||||||
|
\begin{itemize}
|
||||||
|
\item[--] {\em sintr-grml}, a lisp function defining the group operation $S \times S \longrightarrow S$. The function
|
||||||
|
{\tt build-smgr} uses this lisp function to build a simplicial morphism of degree $0$ between the cartesian product
|
||||||
|
of the newly created simplicial set $S$ and itself. This new simplicial morphism is the value of the
|
||||||
|
slot {\tt grml} of the simplicial group instance.
|
||||||
|
\item[--] {\em sintr-grin}, a lisp function defining the inverse w.r.t the preceding group law of
|
||||||
|
an element of $S$. The function
|
||||||
|
{\tt build-smgr} uses this lisp function to build a simplicial morphism of degree $0$ between
|
||||||
|
$S$ and itself. This new simplicial morphism is the value of the
|
||||||
|
slot {\tt grin} of the simplicial group instance.
|
||||||
|
\end{itemize}
|
||||||
|
\vskip 0.30cm
|
||||||
|
After a call to {\tt build-smgr}, the simplicial group instance
|
||||||
|
is pushed onto the list of previously constructed ones ({\tt *smgr-list*}).
|
||||||
|
The simplicial group with Kenzo identification $n$, may be retrieved in the {\tt *smgr-list*},
|
||||||
|
by a call to the function {\tt sgmr}
|
||||||
|
as {\tt (sgmr {\em n})}. The list {\tt *smgr-list*} may be cleared by the function {\tt cat-init}.
|
||||||
|
\vskip 0.30cm
|
||||||
|
Up to now the slot {\tt kfll} has not been filled. As long as the user does not make use of the filling
|
||||||
|
function, directly or indirectly, this slot remains unbound. But as soon as it is needed, the {\em slot-unbound}
|
||||||
|
mecanism of CLOS enters in action and the filling function is defined by the system with
|
||||||
|
the help of the functions {\tt face}, {\tt sintr-grml} and {\tt sintr-grin}. The automatic creation
|
||||||
|
of the filling function is possible because mathematically, a simplicial group is always a Kan simplicial set.
|
||||||
|
This is realized by the internal function {\tt smgr-kfll-intr}.\par
|
||||||
|
For the user, the two simplicial morphisms,
|
||||||
|
values of the specific slots of a {\tt SIMPLICIAL-GROUP} are applied via the two following macros:
|
||||||
|
\vskip 0.30cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt grml} {\em smgr dmns crpr} \hfill {\em [Macro]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Apply the simplicial morphism, value of the slot {\tt grml} of the simplicial group instance {\em smgr}
|
||||||
|
to the cartesian product {\em crpr} in dimension {\em dmns}. Mathematically, this realizes the
|
||||||
|
group operation. In principle, the simplicial morphism must
|
||||||
|
accept the {\em crpr} argument on both forms: either a geometric cartesian product or an abstract simplex,
|
||||||
|
the geometric part of which is a geometric cartesian pro\-duct (see the examples). With only one argument
|
||||||
|
({\em smgr}) the macro selects the simplicial morphism instance. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt grin} {\em smgr dmns absm-or-gsm} \hfill {\em [Macro]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Apply the simplicial morphism, value of the slot {\tt grin} of the simplicial group instance {\em smgr}
|
||||||
|
to the element {\em absm-or-gsm} in dimension {\em dmns}. Mathematically this gives the inverse
|
||||||
|
in the group of the e\-le\-ment. As suggested by the name of the parameter, this must work with geometric
|
||||||
|
simplices as well as abstract simplices. With only one argument
|
||||||
|
({\em smgr}) the macro selects the simplicial morphism. \par}
|
||||||
|
}
|
||||||
|
\newpage
|
||||||
|
{\tt build-ab-smgr}\par
|
||||||
|
\hspace {0.60cm}{\tt :cmpr} {\em cmpr} {\tt basis} {\em basis} {\tt :bspn} {\em bspn} {\tt :face} {\em face}
|
||||||
|
{\tt :face*} {\em face*} \par
|
||||||
|
\hspace {0.60cm}{\tt :intr-bndr} {\em intr-bndr} {\tt :bndr-strt} {\em bndr-strt} {\tt :intr-dgnl} {\em intr-dgnl} \par
|
||||||
|
\hspace {0.60cm}{\tt :dgnl-strt} {\em dgnl-strt} {\tt :sintr-grml} {\em sintr-grml} {\tt :sintr-grin} {\em sintr-grin} \par
|
||||||
|
\hspace {0.60cm}{\tt :orgn} {\em orgn}
|
||||||
|
\vskip 0.35cm
|
||||||
|
The description of the parameters is exactly the same as in the previous function, but in this case,
|
||||||
|
the group operation given by the user, (argument {\em sintr-grml}), must be commutative.
|
||||||
|
The lisp definition of {\tt build-ab-smgr} is simply:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(DEFMACRO BUILD-AB-SMGR (&rest rest)
|
||||||
|
`(change-class (build-smgr ,@rest) 'ab-simplicial-group))
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\section {Two important Abelian simplicial groups: $K({\Z}, 1)$ and $K({\Z}_2, 1)$}
|
||||||
|
|
||||||
|
Let us recall the notion of classifying space in the framework of simplicial sets and
|
||||||
|
in the particular case of discrete groups. Given a discrete group $\cal G$, we know that we may build a
|
||||||
|
simplicial set $K({\cal G}, 1)$; in dimension $n$, we have $(K({\cal G}, 1))_n = {\cal G}^n$,
|
||||||
|
the simplices or {\em bar objects} being conventionally represented as sequences of elements of $\cal G$:
|
||||||
|
$$ [g_1 \mid g_2 \mid \ldots \mid g_n]. $$
|
||||||
|
The base point is the void bar object $[\ ]$.
|
||||||
|
Let us note the group law multiplicatively.
|
||||||
|
\par
|
||||||
|
The face operators are defined as follows:
|
||||||
|
\begin{eqnarray*}
|
||||||
|
\partial_0 [g_1 \mid g_2 \mid \ldots \mid g_n] & = & [g_2 \mid g_3 \mid \ldots \mid g_n], \\
|
||||||
|
\partial_1 [g_1 \mid g_2 \mid \ldots \mid g_n] & = & [{\bf g_1g_2} \mid g_3 \mid \ldots \mid g_n], \\
|
||||||
|
\partial_2 [g_1 \mid g_2 \mid \ldots \mid g_n] & = & [g_1 \mid {\bf g_2g_3} \mid \ldots \mid g_n], \\
|
||||||
|
...... & = & ...... \\
|
||||||
|
\partial_{n-1} [g_1 \mid g_2 \mid \ldots \mid g_n] & = & [g_1 \mid g_2 \mid \ldots \mid g_{n-2} \mid {\bf g_{n-1}g_n}], \\
|
||||||
|
\partial_n [g_1 \mid g_2 \mid \ldots \mid g_n] & = & [g_1 \mid g_2 \mid \ldots \mid g_{n-1}].
|
||||||
|
\end{eqnarray*}
|
||||||
|
The degeneracy operators are defined as follows:
|
||||||
|
$$ \eta_i [g_1 \mid \ldots \mid g_{i-1} \mid g_i \mid g_{i+1} \mid \ldots \mid g_n] =
|
||||||
|
[g_1 \mid \ldots \mid g_{i-1} \mid g_i \mid {\bf e} \mid g_{i+1} \mid \ldots \mid g_n],$$
|
||||||
|
where $e$ is the neutral element of $\cal G$.
|
||||||
|
\par
|
||||||
|
If, in addition $\cal G$ is abelian, then $K({\cal G}, 1)$ is itself a {\em simplicial group}, with the
|
||||||
|
following group law, in dimension $n$:
|
||||||
|
$$[a_1 \mid \cdots \mid a_n] . [b_1 \mid \cdots \mid b_n] = [a_1+b_1 \mid \cdots \mid a_n+b_n], $$
|
||||||
|
$$[a_1 \mid \cdots \mid a_n]^{-1}= [-a_1 \mid \cdots \mid -a_n],\quad a,b \in {\cal G}$$
|
||||||
|
In dimension $n$, the neutral element is the bar object constitued by a sequence of $n$ times the neutral $e$ of {\cal G};
|
||||||
|
this is also the $n$--th degeneracy of the base point $[\ ]$ of $K({\cal G}, 1)$.
|
||||||
|
\par
|
||||||
|
The two important simplicial groups $K({\Z}, 1)$ and $K({\Z}_2, 1)$ may be cons\-truc\-ted in {\tt Kenzo}.
|
||||||
|
\vskip 0.30cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt k-z-1} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build\index{$K({\Z}, 1)$} the simplicial group $K({\Z},1)$. In this simplicial group, a simplex in dimension $n$
|
||||||
|
is mathematically represented by a sequence of integers, known as a {\em bar} object:
|
||||||
|
$$ [a_1 \mid a_2 \mid \ldots \mid a_n]. $$
|
||||||
|
The group operation inherits the additive law of $\Z$:
|
||||||
|
$$[a_1 \mid \cdots \mid a_n] + [b_1 \mid \cdots \mid b_n] = [a_1+b_1 \mid \cdots \mid a_n+b_n]$$
|
||||||
|
and the inverse of $[a_1 \mid \ldots \mid a_n]$ is $[-a_1 \mid \ldots \mid -a_n]. $
|
||||||
|
In {\tt Kenzo}, a non-degenerate simplex of $K({\Z},1)$ in dimension $n$ will be simply
|
||||||
|
a list of $n$ non-null integers.
|
||||||
|
The underlying simplicial set is locally effective and its base point is {\tt NIL}, i.e the void bar object
|
||||||
|
$[\ ]$. To be coeherent with the general policy of {\tt Kenzo}, a degenerate simplex must be represented by
|
||||||
|
an abstract simplex of the form {\tt (:absm {\em dgop} . {\em gmsm})} where {\em gmsm} is a non-degenerate
|
||||||
|
simplex, here a list of non-null integers. But, for the computations in the simplicial group, the
|
||||||
|
general form of a bar object, including $0$, is more natural and more convenient. Consequently, two conversion
|
||||||
|
functions are provided (see below). \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt k-z2-1} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build\index{$K({\Z}_2, 1)$} the simplicial group $K({\Z}_2,1)$.
|
||||||
|
Mathematically, in dimension $n$, the only non-degenerate simplex is
|
||||||
|
a sequence of $n$ $1$'s. But one may show that as simplicial set, $K({\Z}_2,1)$ is isomorphic to
|
||||||
|
$P^\infty {\R}$ which may be built by the statement {\tt (R-proj-space)}. This is the representation
|
||||||
|
adopted in {\tt Kenzo}. In dimension $n$, this
|
||||||
|
simplicial set has only one non-degenerate simplex, namely the integer $n$. The formulas for the faces of this
|
||||||
|
non-degenerate simplex $n$ collapse to:
|
||||||
|
\begin{eqnarray*}
|
||||||
|
\partial_0 n & = & n-1, \\
|
||||||
|
\partial_i n & = & \eta_{i-1} (n-2), \quad i \not= 0, i \not=n, \\
|
||||||
|
\partial_n n & = & n-1.
|
||||||
|
\end{eqnarray*}
|
||||||
|
As a group, in dimension $n$, the non--degenerate element $n$
|
||||||
|
is its own inverse and the neutral is the $n$-th degeneracy of $0$. As in $K({\Z}, 1)$ a degenerate simplex
|
||||||
|
must be represented by a valid abstract simplex, but as the computations are more convenient if the
|
||||||
|
general bar objects are represented by a sequence of mixed $0$'s and $1$'s, two conversion functions are
|
||||||
|
provided. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt z-bar-absm} {\em bar} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Transform a general mathematical bar object {\em bar} of $K({\Z}, 1)$,
|
||||||
|
represented by a list of integers (including $0$'s),
|
||||||
|
into a valid abstract simplex (an object of type {\tt ABSM}), {\tt (:absm {\em dgop} . {\em gmsm})},
|
||||||
|
where {\em gmsm} is a sequence of non-null integers representing a non-de\-ge\-ne\-ra\-te bar object of
|
||||||
|
$K({\Z},1)$ and {\em dgop} a coded sequence of degeneracy operators $\eta_i$'s. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt z-absm-bar} {\em absm} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Transform the abstract simplex {\em absm}, {\tt (:absm {\em dgop} . {\em gmsm})}, where
|
||||||
|
{\em gmsm} is a sequence of non-null integers representing a nondegenerate bar object of
|
||||||
|
$K({\Z},1)$ and {\em dgop} a coded sequence of degeneracy operators, into a list of integers
|
||||||
|
representing a bar object, degenerate or not, of $K({\Z},1)$, for more convenience in the
|
||||||
|
internal computations or for more clarity in external printing. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt z2-bar-absm} {\em bar} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Function analogous to {\tt z-bar-absm} but for $K({\Z}_2, 1)$. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt z2-absm-bar} {\em absm} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Function analogous to {\tt z-absm-bar} but for $K({\Z}_2, 1)$. \par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection* {Examples}
|
||||||
|
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf KZ1 (k-z-1)) ==>
|
||||||
|
|
||||||
|
[K10 Abelian-Simplicial-Group]
|
||||||
|
|
||||||
|
(setf simplex '(1 10 100)) ==>
|
||||||
|
|
||||||
|
(1 10 100)
|
||||||
|
|
||||||
|
(face KZ1 0 3 simplex) ==>
|
||||||
|
|
||||||
|
<AbSm - (10 100)>
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us build the list of the four faces and by suppressing successively, each face one after the other
|
||||||
|
in this list, let us verify that we have always a Kan hat (we recall that the lisp function {\tt remove}, works
|
||||||
|
on a copy of the list, i.e. the argument {\tt hat} is not modified). In the forth statement, we
|
||||||
|
verify the property of minimality of this special simplicial group.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf hat (mapcar #'(lambda (i) (face KZ1 i 3 simplex)) (<a-b> 0 3))) ==>
|
||||||
|
|
||||||
|
(<AbSm - (10 100)> <AbSm - (11 100)> <AbSm - (1 110)> <AbSm - (1 10)>)
|
||||||
|
|
||||||
|
(dotimes (i 4)
|
||||||
|
(check-kan k i 3 (remove (nth i hat) hat))) ==>
|
||||||
|
|
||||||
|
---done---
|
||||||
|
---done---
|
||||||
|
---done---
|
||||||
|
---done---
|
||||||
|
|
||||||
|
(setf hat1 (remove (nth 1 hat) hat)) ==>
|
||||||
|
|
||||||
|
(<AbSm - (10 100)> <AbSm - (1 110)> <AbSm - (1 10)>)
|
||||||
|
|
||||||
|
(kfll KZ1 1 3 hat1)
|
||||||
|
|
||||||
|
<AbSm - (1 10 100)>
|
||||||
|
\end{verbatim}}
|
||||||
|
We test now the two macros {\tt grml} and {\tt grin} related to the group operation.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(grml KZ1 3 (crpr 0 simplex 0 simplex)) ==>
|
||||||
|
|
||||||
|
<AbSm - (2 20 200)>
|
||||||
|
|
||||||
|
(setf invsimplex (grin KZ1 3 simplex)) ==>
|
||||||
|
|
||||||
|
<Absm - (-1 -10 -100)>
|
||||||
|
|
||||||
|
(grin KZ1 3 *) ==>
|
||||||
|
|
||||||
|
<Absm - (1 10 100)>
|
||||||
|
|
||||||
|
(grml KZ1 3 (crpr 0 simplex 0 (gmsm invsimplex)))) ==>
|
||||||
|
|
||||||
|
<AbSm 2-1-0 NIL>
|
||||||
|
|
||||||
|
(2absm-acrpr (absm 0 simplex ) (grin KZ1 3 simplex)) ==>
|
||||||
|
|
||||||
|
<AbSm - <CrPr - (1 10 100) - (-1 -10 -100)>>
|
||||||
|
|
||||||
|
(grml KZ1 3 *) ==>
|
||||||
|
|
||||||
|
<AbSm 2-1-0 NIL>
|
||||||
|
|
||||||
|
(setf KZ2 (k-z2-1)) ==>
|
||||||
|
|
||||||
|
[K22 Abelian-Simplicial-Group]
|
||||||
|
|
||||||
|
(grml KZ2 3 (crpr 0 3 0 3)) ==>
|
||||||
|
|
||||||
|
<AbSm 2-1-0 0>
|
||||||
|
|
||||||
|
(grin KZ2 4 4) ==>
|
||||||
|
|
||||||
|
<AbSm - 4>
|
||||||
|
|
||||||
|
(grml KZ2 4 (crpr 0 * 0 *)) ==>
|
||||||
|
|
||||||
|
<AbSm 3-2-1-0 0>
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us show some examples of conversions, between general bar objects and valid abstract simplices:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(z-absm-bar (absm 0 '())) ==>
|
||||||
|
|
||||||
|
NIL
|
||||||
|
|
||||||
|
(z-absm-bar (absm 1 '())) ==>
|
||||||
|
|
||||||
|
(0)
|
||||||
|
|
||||||
|
(z-absm-bar (absm 0 '(2))) ==>
|
||||||
|
|
||||||
|
(2)
|
||||||
|
|
||||||
|
(z2-absm-bar (absm 7 7)) ==>
|
||||||
|
|
||||||
|
(0 0 0 1 1 1 1 1 1 1)
|
||||||
|
|
||||||
|
(z2-absm-bar (absm 0 7)) ==>
|
||||||
|
|
||||||
|
(1 1 1 1 1 1 1)
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us suppose that the value of the symbol {\tt labsms} is a list of
|
||||||
|
abstract simplices built from the simplex {\tt (3 6))} in dimension $1$ of $K({\Z}, 1)$.
|
||||||
|
The application of the function {\tt z-absm-bar} on this list gives the representation
|
||||||
|
of the simplices under the classical mathematical representation. Applying then {\tt z-bar-absm}
|
||||||
|
returns the original list. A similar example is given with the symbol {\tt labsm2} in dimension $0$.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
labsms ==>
|
||||||
|
|
||||||
|
(<AbSm - (3 6)> <AbSm 0 (3 6)> <AbSm 1 (3 6)>
|
||||||
|
<AbSm 1-0 (3 6)> <AbSm 2 (3 6)> <AbSm 2-0 (3 6)>
|
||||||
|
<AbSm 2-1 (3 6)> <AbSm 2-1-0 (3 6)>)
|
||||||
|
|
||||||
|
(mapcar #'z-absm-bar labsms) ==>
|
||||||
|
|
||||||
|
((3 6) (0 3 6) (3 0 6) (0 0 3 6) (3 6 0) (0 3 0 6) (3 0 0 6) (0 0 0 3 6))
|
||||||
|
|
||||||
|
(mapcar #'z-bar-absm *) ==>
|
||||||
|
|
||||||
|
(<AbSm - (3 6)> <AbSm 0 (3 6)> <AbSm 1 (3 6)>
|
||||||
|
<AbSm 1-0 (3 6)> <AbSm 2 (3 6)> <AbSm 2-0 (3 6)>
|
||||||
|
<AbSm 2-1 (3 6)> <AbSm 2-1-0 (3 6)>)
|
||||||
|
|
||||||
|
labsms2 ==>
|
||||||
|
|
||||||
|
(<AbSm - 0> <AbSm - 1> <AbSm - 2> <AbSm - 3>
|
||||||
|
<AbSm 0 0> <AbSm 0 1> <AbSm 0 2> <AbSm 0 3>
|
||||||
|
<AbSm 1-0 0> <AbSm 1-0 1> <AbSm 1-0 2> <AbSm 1-0 3>)
|
||||||
|
|
||||||
|
(mapcar #'z2-absm-bar labsms2) ==>
|
||||||
|
|
||||||
|
(NIL (1) (1 1) (1 1 1) (0) (0 1) (0 1 1) (0 1 1 1) (0 0) (0 0 1) (0 0 1 1)
|
||||||
|
(0 0 1 1 1))
|
||||||
|
|
||||||
|
(mapcar #'z2-bar-absm *) ==>
|
||||||
|
|
||||||
|
(<AbSm - 0> <AbSm - 1> <AbSm - 2> <AbSm - 3>
|
||||||
|
<AbSm 0 0> <AbSm 0 1> <AbSm 0 2> <AbSm 0 3>
|
||||||
|
<AbSm 1-0 0> <AbSm 1-0 1> <AbSm 1-0 2> <AbSm 1-0 3>)
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\section{Simplicial Groups as Algebras}
|
||||||
|
|
||||||
|
If we consider a simplicial group ${\cal G}$, with group operation $\tau$, there is a ca\-no\-ni\-cal
|
||||||
|
product for the algebra
|
||||||
|
$$\varpi : C_*({\cal G}) \otimes C_*({\cal G}) \longrightarrow C_*({\cal G}), $$
|
||||||
|
defined as the composition $\tau \circ {\cal EML}$, where ${\cal EML}$ is the
|
||||||
|
Eilenberg-Mac Lane homomorphism\index{homomorphism!Eilenberg-Mac Lane} or the {\em shuffle homomorphism}
|
||||||
|
(see the Eilenberg-Zilber chapter):
|
||||||
|
$$C_*({\cal G}) \otimes C_*({\cal G}) \buildrel {{\cal EML}} \over \longrightarrow
|
||||||
|
C_*({\cal G} \times {\cal G}) \buildrel {\tau} \over \longrightarrow C_*({\cal G}). $$
|
||||||
|
For instance let us look at the simplicial group $K({\Z}, 1)$:
|
||||||
|
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf kz1 (k-z-1)) ==>
|
||||||
|
|
||||||
|
[K10 Abelian-Simplicial-Group]
|
||||||
|
|
||||||
|
(inspect kz1) ==>
|
||||||
|
|
||||||
|
AB-SIMPLICIAL-GROUP @ #x38c902 = [K10 Abelian-Simplicial-Group]
|
||||||
|
0 Class --------> #<STANDARD-CLASS AB-SIMPLICIAL-GROUP>
|
||||||
|
1 ORGN ---------> (K-Z-1), a proper list with 1 element
|
||||||
|
2 IDNM ---------> fixnum 10 [#x00000028]
|
||||||
|
3 EFHM ---------> The symbol :--UNBOUND--
|
||||||
|
4 GRMD ---------> [K10 Abelian-Simplicial-Group]
|
||||||
|
5 DFFR ---------> [K11 Morphism (degree -1)]
|
||||||
|
6 BSGN ---------> The symbol NIL
|
||||||
|
7 BASIS --------> The symbol :LOCALLY-EFFECTIVE
|
||||||
|
8 CMPR ---------> #<Function K-Z-1-CMPR>
|
||||||
|
-->9 APRD ---------> The symbol :--UNBOUND--
|
||||||
|
10 CPRD ---------> [K14 Morphism (degree 0)]
|
||||||
|
11 FACE ---------> #<Function K-Z-1-FACE>
|
||||||
|
12 KFLL ---------> The symbol :--UNBOUND--
|
||||||
|
13 GRIN ---------> [K21 Simplicial-Morphism]
|
||||||
|
14 GRML ---------> [K20 Simplicial-Morphism]
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
We see that the slot {\tt aprd} has not been filled. As long as the user does not need, directly or indirectly,
|
||||||
|
the product of the algebra, this slot remains unbound. But as soon as it is needed, the {\em slot-unbound}
|
||||||
|
mecanism of CLOS enters in action, the canonical algebra product morphism is defined by the system, and the slot
|
||||||
|
{\tt aprd} is set.\par
|
||||||
|
For instance, let us take the tensor product of two elements of $K({\Z}, 1)$ and apply the
|
||||||
|
product in the algebra:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf tnsrp (tnpr 2 '(1 2) 3 '(7 8 9))) ==>
|
||||||
|
|
||||||
|
<TnPr (1 2) (7 8 9)>
|
||||||
|
|
||||||
|
(aprd kz1 5 tnsrp) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 5}
|
||||||
|
<1 * (1 2 7 8 9)>
|
||||||
|
<-1 * (1 7 2 8 9)>
|
||||||
|
<1 * (1 7 8 2 9)>
|
||||||
|
<-1 * (1 7 8 9 2)>
|
||||||
|
<1 * (7 1 2 8 9)>
|
||||||
|
<-1 * (7 1 8 2 9)>
|
||||||
|
<1 * (7 1 8 9 2)>
|
||||||
|
<1 * (7 8 1 2 9)>
|
||||||
|
<-1 * (7 8 1 9 2)>
|
||||||
|
<1 * (7 8 9 1 2)>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
The system {\tt Kenzo} has automatically created the needed algebra product morphism and
|
||||||
|
this is shown in the slot instance {\tt aprd}:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(inspect kz1) ==>
|
||||||
|
|
||||||
|
AB-SIMPLICIAL-GROUP @ #x419422 = [K10 Abelian-Simplicial-Group]
|
||||||
|
0 Class --------> #<STANDARD-CLASS AB-SIMPLICIAL-GROUP>
|
||||||
|
1 ORGN ---------> (K-Z-1), a proper list with 1 element
|
||||||
|
2 IDNM ---------> fixnum 10 [#x00000028]
|
||||||
|
3 EFHM ---------> The symbol :--UNBOUND--
|
||||||
|
4 GRMD ---------> [K10 Abelian-Simplicial-Group]
|
||||||
|
5 DFFR ---------> [K11 Morphism (degree -1)]
|
||||||
|
6 BSGN ---------> The symbol NIL
|
||||||
|
7 BASIS --------> The symbol :LOCALLY-EFFECTIVE
|
||||||
|
8 CMPR ---------> #<Function K-Z-1-CMPR>
|
||||||
|
-->9 APRD ---------> [K35 Morphism (degree 0)]
|
||||||
|
10 CPRD ---------> [K14 Morphism (degree 0)]
|
||||||
|
11 FACE ---------> #<Function K-Z-1-FACE>
|
||||||
|
12 KFLL ---------> The symbol :--UNBOUND--
|
||||||
|
13 GRIN ---------> [K21 Simplicial-Morphism]
|
||||||
|
14 GRML ---------> [K20 Simplicial-Morphism]
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
An interesting example is to show the associativity of the canonical product of
|
||||||
|
an algebra, by defining in {\tt Kenzo} the morphisms of the following diagram
|
||||||
|
and verifying that this diagram is commutative. In the diagram, $\nabla$ is the
|
||||||
|
algebra product of ${\cal A}$, $1$ is the identity morphism on ${\cal A}$ and
|
||||||
|
{\em assoc}, the morphism
|
||||||
|
$$assoc: ({\cal A}\otimes {\cal A}) \otimes {\cal A} \longrightarrow {\cal A} \otimes ({\cal A}\otimes {\cal A}),$$
|
||||||
|
with:
|
||||||
|
$$assoc((a\otimes b)\otimes c) = a \otimes (b \otimes c).$$
|
||||||
|
|
||||||
|
$$\diagram{
|
||||||
|
& ({\cal A}\otimes {\cal A}) \otimes {\cal A} & \buildrel {assoc} \over \longrightarrow &
|
||||||
|
{\cal A} \otimes ({\cal A}\otimes {\cal A}) \cr
|
||||||
|
& {\scriptstyle \nabla \otimes 1}\downarrow & & \downarrow {\scriptstyle 1 \otimes \nabla} \cr
|
||||||
|
& {\cal A}\otimes {\cal A} & & {\cal A}\otimes {\cal A} \cr
|
||||||
|
& {\scriptstyle \nabla}\searrow & & \swarrow {\scriptstyle \nabla} \cr
|
||||||
|
& & {\cal A} & \cr
|
||||||
|
}$$
|
||||||
|
|
||||||
|
|
||||||
|
Let us define two chain complexes with the two ways to compose two tensorial products:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf kz1 (k-z-1)) ==>
|
||||||
|
|
||||||
|
[K10 Abelian-Simplicial-Group]
|
||||||
|
|
||||||
|
(setf 3-left (tnsr-prdc (tnsr-prdc kz1 kz1) kz1)) ==>
|
||||||
|
|
||||||
|
[K13 Chain-Complex]
|
||||||
|
|
||||||
|
(setf 3-right (tnsr-prdc kz1 (tnsr-prdc kz1 kz1))) ==>
|
||||||
|
|
||||||
|
[K15 Chain Complex]
|
||||||
|
\end{verbatim}}
|
||||||
|
Then we define the morphism {\tt assoc} and test it:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf assoc (build-mrph
|
||||||
|
:sorc 3-left
|
||||||
|
:trgt 3-right
|
||||||
|
:degr 0
|
||||||
|
:intr #'(lambda (degr a2-a)
|
||||||
|
(with-tnpr (degra2 gnrta2 degra gnrta) a2-a
|
||||||
|
(with-tnpr (degr1 gnrt1 degr2 gnrt2) gnrta2
|
||||||
|
(cmbn (+ degr1 degr2 degra)
|
||||||
|
1 (tnpr degr1
|
||||||
|
gnrt1
|
||||||
|
(+ degr2 degra)
|
||||||
|
(tnpr degr2 gnrt2 degra gnrta))))))
|
||||||
|
:strt :gnrt
|
||||||
|
:orgn '(assoc-double-tensor-product))) ==>
|
||||||
|
|
||||||
|
[K17 Morphism (degree 0)]
|
||||||
|
|
||||||
|
(setf *tnpr-with-degrees* t) ==>
|
||||||
|
|
||||||
|
T
|
||||||
|
|
||||||
|
(? assoc 7 (tnpr 4 (tnpr 2 '(1 2) 2 '(2 3)) 3 '(4 5 6))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 7}
|
||||||
|
<1 * <TnPr 2 (1 2) 5 <TnPr 2 (2 3) 3 (4 5 6)>>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
We define now the other morphisms shown in the diagram:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf nabla (aprd kz1)) ==>
|
||||||
|
|
||||||
|
[K35 Morphism (degree 0)]
|
||||||
|
|
||||||
|
(setf idnt (idnt-mrph kz1) ==>
|
||||||
|
|
||||||
|
[K36 Morphism (degree 0)]
|
||||||
|
|
||||||
|
(setf 1-t-nabla (tnsr-prdc idnt nabla)) ==>
|
||||||
|
|
||||||
|
[K39 Morphism (degree 0)]
|
||||||
|
|
||||||
|
(setf nabla-t-1 (tnsr-prdc nabla idnt)) ==>
|
||||||
|
|
||||||
|
[K42 Morphism (degree 0)]
|
||||||
|
\end{verbatim}}
|
||||||
|
Now, if the diagram is commutative, the difference morphism, noted {\tt zero}, between
|
||||||
|
the following morphisms {\tt right} and {\tt left}, must give the null combination if applied to an
|
||||||
|
element of $(K({\Z}, 1) \otimes K({\Z}, 1)) \otimes K({\Z}, 1).$
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf left (cmps nabla nabla-t-1)) ==>
|
||||||
|
|
||||||
|
[K43 Morphism (degree 0)]
|
||||||
|
|
||||||
|
(setf right (i-cmps nabla 1-t-nabla assoc)) ==>
|
||||||
|
|
||||||
|
[K45 Morphism (degree 0)]
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf zero (sbtr left right)) ==>
|
||||||
|
|
||||||
|
[K46 Morphism (degree 0)]
|
||||||
|
|
||||||
|
(? zero 7 (tnpr 4 (tnpr 2 '(1 2) 2 '(2 3)) 3 '(4 5 6))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 7}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? zero 9 (tnpr 7 (tnpr 3 '(2 3 4) 4 '(5 6 7 8)) 2 '(11 12)))
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 9}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
The resulting combination of the rather simple double tensor product has yet
|
||||||
|
140 terms:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(? right 7 (tnpr 4 (tnpr 2 '(1 2) 2 '(2 3)) 3 '(4 5 6))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 7}
|
||||||
|
<1 * (1 2 3 2 4 5 6)>
|
||||||
|
<-1 * (1 2 3 4 2 5 6)>
|
||||||
|
<1 * (1 2 3 4 5 2 6)>
|
||||||
|
<-1 * (1 2 3 4 5 6 2)>
|
||||||
|
<1 * (1 2 4 3 2 5 6)>
|
||||||
|
<-1 * (1 2 4 3 5 2 6)>
|
||||||
|
<1 * (1 2 4 3 5 6 2)>
|
||||||
|
<1 * (1 2 4 5 3 2 6)>
|
||||||
|
<-1 * (1 2 4 5 3 6 2)>
|
||||||
|
<1 * (1 2 4 5 6 3 2)>
|
||||||
|
<-1 * (1 4 2 3 2 5 6)>
|
||||||
|
<1 * (1 4 2 3 5 2 6)>
|
||||||
|
<-1 * (1 4 2 3 5 6 2)>
|
||||||
|
<-1 * (1 4 2 5 3 2 6)>
|
||||||
|
... ... ... ...
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(length (cmbn-list *)) ==>
|
||||||
|
|
||||||
|
140
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\section {Coming back to the Bar of an algebra}
|
||||||
|
|
||||||
|
The\index{bar!of an algebra} existence of a canonical product for the underlying algebra of a simplicial group
|
||||||
|
allows us now to generate the bar of this algebra. Let us use again $K({\Z}, 1).$
|
||||||
|
We begin to test separately the vertical and the horizontal differential.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf kz1 (k-z-1)) ==>
|
||||||
|
|
||||||
|
[K10 Abelian-Simplicial-Group]
|
||||||
|
|
||||||
|
(setf d-vert (bar-intr-vrtc-dffr (dffr kz1)))
|
||||||
|
|
||||||
|
(funcall d-vert 0 (abar))
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN -1}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf abar0 (abar 3 '(1 2) 3 '(-1 -2) 3 '(3 4))) ==>
|
||||||
|
|
||||||
|
<<Abar[3 (1 2)][3 (-1 -2)][3 (3 4)]>>
|
||||||
|
|
||||||
|
(funcall d-vert 9 abar0) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 8}
|
||||||
|
<-1 * <<Abar[2 (1)][3 (-1 -2)][3 (3 4)]>>>
|
||||||
|
<-1 * <<Abar[2 (2)][3 (-1 -2)][3 (3 4)]>>>
|
||||||
|
<1 * <<Abar[2 (3)][3 (-1 -2)][3 (3 4)]>>>
|
||||||
|
<1 * <<Abar[3 (1 2)][2 (-3)][3 (3 4)]>>>
|
||||||
|
<-1 * <<Abar[3 (1 2)][2 (-2)][3 (3 4)]>>>
|
||||||
|
<-1 * <<Abar[3 (1 2)][2 (-1)][3 (3 4)]>>>
|
||||||
|
<-1 * <<Abar[3 (1 2)][3 (-1 -2)][2 (3)]>>>
|
||||||
|
<-1 * <<Abar[3 (1 2)][3 (-1 -2)][2 (4)]>>>
|
||||||
|
<1 * <<Abar[3 (1 2)][3 (-1 -2)][2 (7)]>>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf d-hrz (bar-intr-hrzn-dffr (aprd kz1)))
|
||||||
|
|
||||||
|
(funcall d-hrz 9 abar0) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 8}
|
||||||
|
<-1 * <<Abar[3 (1 2)][5 (-1 -2 3 4)]>>>
|
||||||
|
<1 * <<Abar[3 (1 2)][5 (-1 3 -2 4)]>>>
|
||||||
|
<-1 * <<Abar[3 (1 2)][5 (-1 3 4 -2)]>>>
|
||||||
|
<-1 * <<Abar[3 (1 2)][5 (3 -1 -2 4)]>>>
|
||||||
|
<1 * <<Abar[3 (1 2)][5 (3 -1 4 -2)]>>>
|
||||||
|
<-1 * <<Abar[3 (1 2)][5 (3 4 -1 -2)]>>>
|
||||||
|
<1 * <<Abar[5 (-1 -2 1 2)][3 (3 4)]>>>
|
||||||
|
<-1 * <<Abar[5 (-1 1 -2 2)][3 (3 4)]>>>
|
||||||
|
<1 * <<Abar[5 (-1 1 2 -2)][3 (3 4)]>>>
|
||||||
|
<1 * <<Abar[5 (1 -1 -2 2)][3 (3 4)]>>>
|
||||||
|
<-1 * <<Abar[5 (1 -1 2 -2)][3 (3 4)]>>>
|
||||||
|
<1 * <<Abar[5 (1 2 -1 -2)][3 (3 4)]>>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
We may now construct the bar chain complex of the algebra {\tt kz1} and test
|
||||||
|
the differential, sum of both previous ones:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
|
||||||
|
(setf bara (bar kz1)) ==>
|
||||||
|
|
||||||
|
[K18 Chain-Complex]
|
||||||
|
|
||||||
|
(? bara 9 abar0)
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 8}
|
||||||
|
<-1 * <<Abar[3 (1 2)][5 (-1 -2 3 4)]>>>
|
||||||
|
<1 * <<Abar[3 (1 2)][5 (-1 3 -2 4)]>>>
|
||||||
|
<-1 * <<Abar[3 (1 2)][5 (-1 3 4 -2)]>>>
|
||||||
|
<-1 * <<Abar[3 (1 2)][5 (3 -1 -2 4)]>>>
|
||||||
|
<1 * <<Abar[3 (1 2)][5 (3 -1 4 -2)]>>>
|
||||||
|
<-1 * <<Abar[3 (1 2)][5 (3 4 -1 -2)]>>>
|
||||||
|
<1 * <<Abar[5 (-1 -2 1 2)][3 (3 4)]>>>
|
||||||
|
<-1 * <<Abar[5 (-1 1 -2 2)][3 (3 4)]>>>
|
||||||
|
<1 * <<Abar[5 (-1 1 2 -2)][3 (3 4)]>>>
|
||||||
|
<1 * <<Abar[5 (1 -1 -2 2)][3 (3 4)]>>>
|
||||||
|
<-1 * <<Abar[5 (1 -1 2 -2)][3 (3 4)]>>>
|
||||||
|
<1 * <<Abar[5 (1 2 -1 -2)][3 (3 4)]>>>
|
||||||
|
<-1 * <<Abar[2 (1)][3 (-1 -2)][3 (3 4)]>>>
|
||||||
|
<-1 * <<Abar[2 (2)][3 (-1 -2)][3 (3 4)]>>>
|
||||||
|
<1 * <<Abar[2 (3)][3 (-1 -2)][3 (3 4)]>>>
|
||||||
|
<1 * <<Abar[3 (1 2)][2 (-3)][3 (3 4)]>>>
|
||||||
|
<-1 * <<Abar[3 (1 2)][2 (-2)][3 (3 4)]>>>
|
||||||
|
<-1 * <<Abar[3 (1 2)][2 (-1)][3 (3 4)]>>>
|
||||||
|
<-1 * <<Abar[3 (1 2)][3 (-1 -2)][2 (3)]>>>
|
||||||
|
<-1 * <<Abar[3 (1 2)][3 (-1 -2)][2 (4)]>>>
|
||||||
|
<1 * <<Abar[3 (1 2)][3 (-1 -2)][2 (7)]>>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? bara *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 7}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf abar1 (abar '(5 (7 11 4 -9) 4 (8 3 2) 5 (-1 -2 -3 -4)))) ==>
|
||||||
|
|
||||||
|
<<Abar[5 (7 11 4 -9)][4 (8 3 2)][5 (-1 -2 -3 -4)]>>
|
||||||
|
|
||||||
|
(? bara 14 abar1) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 13}
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][8 (-1 -2 -3 -4 8 3 2)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][8 (-1 -2 -3 8 -4 3 2)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][8 (-1 -2 -3 8 3 -4 2)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][8 (-1 -2 -3 8 3 2 -4)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][8 (-1 -2 8 -3 -4 3 2)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][8 (-1 -2 8 -3 3 -4 2)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][8 (-1 -2 8 -3 3 2 -4)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][8 (-1 -2 8 3 -3 -4 2)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][8 (-1 -2 8 3 -3 2 -4)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][8 (-1 -2 8 3 2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][8 (-1 8 -2 -3 -4 3 2)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][8 (-1 8 -2 -3 3 -4 2)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][8 (-1 8 -2 -3 3 2 -4)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][8 (-1 8 -2 3 -3 -4 2)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][8 (-1 8 -2 3 -3 2 -4)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][8 (-1 8 -2 3 2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][8 (-1 8 3 -2 -3 -4 2)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][8 (-1 8 3 -2 -3 2 -4)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][8 (-1 8 3 -2 2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][8 (-1 8 3 2 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][8 (8 -1 -2 -3 -4 3 2)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][8 (8 -1 -2 -3 3 -4 2)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][8 (8 -1 -2 -3 3 2 -4)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][8 (8 -1 -2 3 -3 -4 2)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][8 (8 -1 -2 3 -3 2 -4)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][8 (8 -1 -2 3 2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][8 (8 -1 3 -2 -3 -4 2)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][8 (8 -1 3 -2 -3 2 -4)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][8 (8 -1 3 -2 2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][8 (8 -1 3 2 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][8 (8 3 -1 -2 -3 -4 2)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][8 (8 3 -1 -2 -3 2 -4)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][8 (8 3 -1 -2 2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][8 (8 3 -1 2 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][8 (8 3 2 -1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[8 (7 8 3 2 11 4 -9)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[8 (7 8 3 11 2 4 -9)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[8 (7 8 3 11 4 -9 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[8 (7 8 3 11 4 2 -9)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[8 (7 8 11 3 2 4 -9)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[8 (7 8 11 3 4 -9 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[8 (7 8 11 3 4 2 -9)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[8 (7 8 11 4 -9 3 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[8 (7 8 11 4 3 -9 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[8 (7 8 11 4 3 2 -9)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[8 (7 11 4 -9 8 3 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[8 (7 11 4 8 -9 3 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[8 (7 11 4 8 3 -9 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[8 (7 11 4 8 3 2 -9)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[8 (7 11 8 3 2 4 -9)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[8 (7 11 8 3 4 -9 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[8 (7 11 8 3 4 2 -9)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[8 (7 11 8 4 -9 3 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[8 (7 11 8 4 3 -9 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[8 (7 11 8 4 3 2 -9)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[8 (8 3 2 7 11 4 -9)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[8 (8 3 7 2 11 4 -9)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[8 (8 3 7 11 2 4 -9)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[8 (8 3 7 11 4 -9 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[8 (8 3 7 11 4 2 -9)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[8 (8 7 3 2 11 4 -9)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[8 (8 7 3 11 2 4 -9)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[8 (8 7 3 11 4 -9 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[8 (8 7 3 11 4 2 -9)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[8 (8 7 11 3 2 4 -9)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[8 (8 7 11 3 4 -9 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[8 (8 7 11 3 4 2 -9)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[8 (8 7 11 4 -9 3 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[8 (8 7 11 4 3 -9 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[8 (8 7 11 4 3 2 -9)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[4 (7 11 -5)][4 (8 3 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[4 (7 11 4)][4 (8 3 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[4 (7 15 -9)][4 (8 3 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[4 (11 4 -9)][4 (8 3 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[4 (18 4 -9)][4 (8 3 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][3 (3 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][3 (8 3)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][3 (8 5)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][3 (11 2)][5 (-1 -2 -3 -4)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][4 (8 3 2)][4 (-3 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][4 (8 3 2)][4 (-2 -3 -4)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][4 (8 3 2)][4 (-1 -5 -4)]>>>
|
||||||
|
<-1 * <<Abar[5 (7 11 4 -9)][4 (8 3 2)][4 (-1 -2 -7)]>>>
|
||||||
|
<1 * <<Abar[5 (7 11 4 -9)][4 (8 3 2)][4 (-1 -2 -3)]>>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(? bara *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 12}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\subsection* {Lisp files concerned in this chapter}
|
||||||
|
|
||||||
|
{\tt simplicial-groups.lisp}, {\tt k-pi-n.lisp}.
|
||||||
|
\par
|
||||||
|
[{\tt classes.lisp }, {\tt macros.lisp}, {\tt various.lisp}].
|
||||||
179
doc/doc_src/smmrdoc.tex
Normal file
179
doc/doc_src/smmrdoc.tex
Normal file
@ -0,0 +1,179 @@
|
|||||||
|
\chapter {Simplicial morphisms}
|
||||||
|
|
||||||
|
The software {\tt Kenzo} implements simplicial morphisms in a way analogous to
|
||||||
|
chain complex morphisms.\index{simplicial morphisms}
|
||||||
|
|
||||||
|
\section {Representation of a simplicial morphism}
|
||||||
|
|
||||||
|
A simplicial morphism is an instance\index{class!{\tt SIMPLICIAL-MRPH}} of the class {\tt SIMPLICIAL-MRPH},
|
||||||
|
subclass of the class {\tt MORPHISM}.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(DEFCLASS SIMPLICIAL-MRPH (morphism)
|
||||||
|
((sintr :type sintr :initarg :sintr :reader sintr)))
|
||||||
|
\end{verbatim}}
|
||||||
|
It has one slot of its own:
|
||||||
|
\begin{description}
|
||||||
|
\item {{\tt sintr}}, an object of type {\tt SINTR}, in fact a lisp function defining the morphism
|
||||||
|
between the source and target simplicial sets. It must have $2$ parameters: a dimension (an integer)
|
||||||
|
and a geometric simplex of this dimension (a generator of any type) .
|
||||||
|
It must return an abstract simplex, image in the target simplicial set of this geometric simplex.
|
||||||
|
\end{description}
|
||||||
|
A printing method has been associated to the class {\tt SIMPLICIAL-MRPH}.
|
||||||
|
A string like {\tt [K{\em n} Simplicial-Morphism]} is the external representation of an instance of
|
||||||
|
such a class, where {\em n} is the number plate of the {\tt Kenzo} object.
|
||||||
|
|
||||||
|
\section {The function build-smmr}
|
||||||
|
|
||||||
|
To\index{function!{\tt build-smmr}} facilitate the construction of instances
|
||||||
|
of the class {\tt SIMPLICIAL-MRPH} and to free the user to call
|
||||||
|
the standard constructor {\tt make-instance}, the software provides the function
|
||||||
|
\vskip 0.35cm
|
||||||
|
{\tt build-smmr :sorc} {\em sorc} {\tt :trgt} {\em trgt} {\tt :degr} {\em degr} {\tt :sintr} {\em sintr}
|
||||||
|
{\tt :intr} {\em intr} \par
|
||||||
|
\hspace*{22.5mm}{\tt :strt} {\em strt} {\tt :orgn} {\em orgn}
|
||||||
|
\vskip 0.35cm
|
||||||
|
defined with keyword parameters and returning an instance of the class {\tt SIMPLICIAL-MRPH}.
|
||||||
|
The keyword arguments of {\tt build-smmr} are:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item [--] {\em sorc}, the source object, an object of type {\tt SIMPLICIAL-SET}.
|
||||||
|
\item [--] {\em trgt}, the target object, an object of type {\tt SIMPLICIAL-SET}.
|
||||||
|
\item [--] {\em degr}, the degree of the morphism, an integer. In this chapter, we consider only the
|
||||||
|
$0$ degree case (the usual one). The case $-1$ is particularly important: it allows to implement the notion
|
||||||
|
of twisting operator defining a fibration (See the chapter Fibration).
|
||||||
|
\item [--] {\em sintr}, the internal lisp function defining the effective mapping between simplicial sets.
|
||||||
|
If the integer {\em degr} is $0$ and if the following keyword argument {\em intr} is omitted, then
|
||||||
|
the function {\tt build-smmr} builds a lisp function implementing the induced mapping between the
|
||||||
|
underlying source and target chain complexes. This function is installed in the slot {\tt intr}.
|
||||||
|
The strategy is then set to {\tt :gnrt}.
|
||||||
|
\item [--] {\em intr}, a user defined morphism for the underlying chain complexes. This argument is optional and
|
||||||
|
taken in account only if the degree is $0$ and in this case, supersedes the previous derived mapping.
|
||||||
|
The strategy is then mandatory.
|
||||||
|
If the degree is not null, the implementor has decided to set the corresponding slot to {\tt NIL}.
|
||||||
|
\item [--] {\em strt}, the strategy, i.e. {\tt :gnrt} or {\tt :cmbn} attached to the previous function.
|
||||||
|
\item [--] {\em orgn}, a relevant comment list.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
After a call to {\tt build-smmr}, the simplicial morphism instance
|
||||||
|
is added to a list of previously constructed ones ({\tt *smmr-list*}).
|
||||||
|
As the other similar lists,
|
||||||
|
the list {\tt *smmr-list*} may be cleared by the function {\tt cat-init}.
|
||||||
|
\par
|
||||||
|
The effective application of a simplicial morphism upon arguments,
|
||||||
|
is re\-a\-li\-zed with the macro {\tt ?} which calls the adequate method
|
||||||
|
defined for this kind of objects.
|
||||||
|
\newpage
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt ? \&rest} {\em args} \hfill {\em [Macro]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Versatile macro for applying a simplicial morphism indifferently
|
||||||
|
as {\tt (? {\em smmr dmns absm-or-gmsm})} or {\tt (? {\em smmr cmbn})}. In the first case, the
|
||||||
|
third argument is either an abstract simplex or a geometric one. In the second case, if the
|
||||||
|
second argument is a combination, {\em smmr} is then considered as a chain complex morphism and
|
||||||
|
it is the function in the slot {\tt intr} which is applied, so that it makes sense
|
||||||
|
only if the degree of the mapping is $0$. \par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection* {Examples}
|
||||||
|
|
||||||
|
In the following examples, we work with $\Delta_3$. We define three simplicial morphisms, {\tt sm1}, {\tt sm2}
|
||||||
|
and {\tt sm3}. In {\tt sm1}, the mapping is the identity mapping and we can see that this identity mapping
|
||||||
|
has been propagated on the underlying chain complex.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf d3 (delta 3)) ==>
|
||||||
|
|
||||||
|
[K1 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf sm1 (build-smmr
|
||||||
|
:sorc d3 :trgt d3 :degr 0
|
||||||
|
:sintr #'(lambda (dmns gmsm)
|
||||||
|
(absm 0 gmsm))
|
||||||
|
:orgn '(identity delta-3))) ==>
|
||||||
|
|
||||||
|
[K6 Simplicial-Morphism]
|
||||||
|
|
||||||
|
(? sm1 2 7) ==>
|
||||||
|
|
||||||
|
<AbSm - 7>
|
||||||
|
|
||||||
|
(? sm1 1 (absm 1 1)) ==>
|
||||||
|
|
||||||
|
<AbSm 0 1>
|
||||||
|
|
||||||
|
(? sm1 (cmbn 2 1 7)) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 2}
|
||||||
|
<1 * 7>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
In the simplicial morphism {\tt sm2}, the mapping is the ``null'' mapping. In
|
||||||
|
fact, it consists in applying any abstract simplex in dimension $n$ upon the $n$--degenerate base point.
|
||||||
|
Of course, in terms of chain complex, the cor\-res\-pon\-ding mapping applies any chain complex element
|
||||||
|
upon the null combination of same degree.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf sm2 (build-smmr
|
||||||
|
:sorc d3 :trgt d3 :degr 0
|
||||||
|
:sintr #'(lambda (dmns gmsm)
|
||||||
|
(absm (mask dmns) 1)) ;;; mask(n)=2^n - 1
|
||||||
|
:orgn '(null delta-3))) ==>
|
||||||
|
|
||||||
|
[K7 Simplicial-Morphism]
|
||||||
|
|
||||||
|
(? sm2 0 4) ==>
|
||||||
|
|
||||||
|
<AbSm - 1>
|
||||||
|
|
||||||
|
(? sm2 2 7) ==>
|
||||||
|
|
||||||
|
<AbSm 1-0 1>
|
||||||
|
|
||||||
|
(? sm2 1 (absm 1 1)) ==>
|
||||||
|
|
||||||
|
<AbSm 0 1>
|
||||||
|
|
||||||
|
(? sm2 3 15) ==>
|
||||||
|
|
||||||
|
<AbSm 2-1-0 1>
|
||||||
|
|
||||||
|
(? sm2 (cmbn 3 2 15)) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
In the simplicial morphism {\tt sm3}, we keep the same ``null'' mapping as in {\tt sm2}
|
||||||
|
but we choose as mapping for the underlying chain complex the opposite of any chain complex
|
||||||
|
element.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf sm3 (build-smmr
|
||||||
|
:sorc d3 :trgt d3 :degr 0
|
||||||
|
:sintr #'(lambda (dmns gmsm)
|
||||||
|
(absm (mask dmns) 1))
|
||||||
|
:intr #'cmbn-opps
|
||||||
|
:strt :cmbn
|
||||||
|
:orgn '(null and opposite delta-3))) ==>
|
||||||
|
|
||||||
|
[K8 Simplicial-Morphism]
|
||||||
|
|
||||||
|
(? sm3 3 15) ==>
|
||||||
|
|
||||||
|
<AbSm 2-1-0 1>
|
||||||
|
|
||||||
|
(? sm3 (cmbn 3 7 15)) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<-7 * 15>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? sm3 (cmbn 3 11 (dlop-ext-int '(0 1 2 3)))) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<-11 * 15>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\subsection* {Lisp files concerned in this chapter}
|
||||||
|
|
||||||
|
{\tt simplicial-mrphs.lisp}.
|
||||||
|
\par
|
||||||
|
[{\tt classes.lisp}, {\tt macros.lisp}, {\tt various.lisp}].
|
||||||
1935
doc/doc_src/ssdoc.tex
Normal file
1935
doc/doc_src/ssdoc.tex
Normal file
File diff suppressed because it is too large
Load Diff
305
doc/doc_src/ssquare.eps
Normal file
305
doc/doc_src/ssquare.eps
Normal file
@ -0,0 +1,305 @@
|
|||||||
|
%!PS-Adobe-2.0 EPSF-2.0
|
||||||
|
%%Title: ssquare.fig
|
||||||
|
%%Creator: fig2dev Version 3.1 Patchlevel 2
|
||||||
|
%%CreationDate: Thu Apr 10 14:21:41 1997
|
||||||
|
%%For: siret@mozart (Yvon Siret)
|
||||||
|
%Magnification: 0.50
|
||||||
|
%%Orientation: Portrait
|
||||||
|
%%BoundingBox: 0 0 303 263
|
||||||
|
%%Pages: 0
|
||||||
|
%%BeginSetup
|
||||||
|
%%IncludeFeature: *PageSize Letter
|
||||||
|
%%EndSetup
|
||||||
|
%%EndComments
|
||||||
|
/$F2psDict 200 dict def
|
||||||
|
$F2psDict begin
|
||||||
|
$F2psDict /mtrx matrix put
|
||||||
|
/col-1 {0 setgray} bind def
|
||||||
|
/col0 {0.000 0.000 0.000 srgb} bind def
|
||||||
|
/col1 {0.000 0.000 1.000 srgb} bind def
|
||||||
|
/col2 {0.000 1.000 0.000 srgb} bind def
|
||||||
|
/col3 {0.000 1.000 1.000 srgb} bind def
|
||||||
|
/col4 {1.000 0.000 0.000 srgb} bind def
|
||||||
|
/col5 {1.000 0.000 1.000 srgb} bind def
|
||||||
|
/col6 {1.000 1.000 0.000 srgb} bind def
|
||||||
|
/col7 {1.000 1.000 1.000 srgb} bind def
|
||||||
|
/col8 {0.000 0.000 0.560 srgb} bind def
|
||||||
|
/col9 {0.000 0.000 0.690 srgb} bind def
|
||||||
|
/col10 {0.000 0.000 0.820 srgb} bind def
|
||||||
|
/col11 {0.530 0.810 1.000 srgb} bind def
|
||||||
|
/col12 {0.000 0.560 0.000 srgb} bind def
|
||||||
|
/col13 {0.000 0.690 0.000 srgb} bind def
|
||||||
|
/col14 {0.000 0.820 0.000 srgb} bind def
|
||||||
|
/col15 {0.000 0.560 0.560 srgb} bind def
|
||||||
|
/col16 {0.000 0.690 0.690 srgb} bind def
|
||||||
|
/col17 {0.000 0.820 0.820 srgb} bind def
|
||||||
|
/col18 {0.560 0.000 0.000 srgb} bind def
|
||||||
|
/col19 {0.690 0.000 0.000 srgb} bind def
|
||||||
|
/col20 {0.820 0.000 0.000 srgb} bind def
|
||||||
|
/col21 {0.560 0.000 0.560 srgb} bind def
|
||||||
|
/col22 {0.690 0.000 0.690 srgb} bind def
|
||||||
|
/col23 {0.820 0.000 0.820 srgb} bind def
|
||||||
|
/col24 {0.500 0.190 0.000 srgb} bind def
|
||||||
|
/col25 {0.630 0.250 0.000 srgb} bind def
|
||||||
|
/col26 {0.750 0.380 0.000 srgb} bind def
|
||||||
|
/col27 {1.000 0.500 0.500 srgb} bind def
|
||||||
|
/col28 {1.000 0.630 0.630 srgb} bind def
|
||||||
|
/col29 {1.000 0.750 0.750 srgb} bind def
|
||||||
|
/col30 {1.000 0.880 0.880 srgb} bind def
|
||||||
|
/col31 {1.000 0.840 0.000 srgb} bind def
|
||||||
|
|
||||||
|
end
|
||||||
|
save
|
||||||
|
-4.0 280.0 translate
|
||||||
|
1 -1 scale
|
||||||
|
|
||||||
|
/cp {closepath} bind def
|
||||||
|
/ef {eofill} bind def
|
||||||
|
/gr {grestore} bind def
|
||||||
|
/gs {gsave} bind def
|
||||||
|
/sa {save} bind def
|
||||||
|
/rs {restore} bind def
|
||||||
|
/l {lineto} bind def
|
||||||
|
/m {moveto} bind def
|
||||||
|
/rm {rmoveto} bind def
|
||||||
|
/n {newpath} bind def
|
||||||
|
/s {stroke} bind def
|
||||||
|
/sh {show} bind def
|
||||||
|
/slc {setlinecap} bind def
|
||||||
|
/slj {setlinejoin} bind def
|
||||||
|
/slw {setlinewidth} bind def
|
||||||
|
/srgb {setrgbcolor} bind def
|
||||||
|
/rot {rotate} bind def
|
||||||
|
/sc {scale} bind def
|
||||||
|
/sd {setdash} bind def
|
||||||
|
/ff {findfont} bind def
|
||||||
|
/sf {setfont} bind def
|
||||||
|
/scf {scalefont} bind def
|
||||||
|
/sw {stringwidth} bind def
|
||||||
|
/tr {translate} bind def
|
||||||
|
/tnt {dup dup currentrgbcolor
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
|
||||||
|
bind def
|
||||||
|
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
|
||||||
|
4 -2 roll mul srgb} bind def
|
||||||
|
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
|
||||||
|
/$F2psEnd {$F2psEnteredState restore end} def
|
||||||
|
%%EndProlog
|
||||||
|
|
||||||
|
$F2psBegin
|
||||||
|
10 setmiterlimit
|
||||||
|
n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
|
||||||
|
0.03000 0.03000 sc
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
n 3000 7200 m 7200 7200 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
[100.0] 0 sd
|
||||||
|
n 3000 7200 m 3000 7800 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[100.0] 0 sd
|
||||||
|
n 3000 7800 m 7200 7200 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[100.0] 0 sd
|
||||||
|
n 7200 7200 m 7200 7800 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
n 2100 6000 m 2100 2100 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
[100.0] 0 sd
|
||||||
|
n 2100 6000 m 1500 6000 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[100.0] 0 sd
|
||||||
|
n 2100 2100 m 1500 2100 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[100.0] 0 sd
|
||||||
|
n 1500 6000 m 2100 2100 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
n 3000 6000 m 7200 6000 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 3000 6000 m 3000 2100 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 7200 6000 m 7200 2100 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 3000 2100 m 7200 2100 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 3000 6000 m 7200 2100 l gs col-1 s gr
|
||||||
|
7.500 slw
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
2827 7512 m 2973 7506 l 2841 7571 l 3022 7525 l 3007 7467 l cp clip
|
||||||
|
n 1800 7800 m 3000 7500 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 2827 7512 m 2973 7506 l 2841 7571 l 2857 7536 l 2827 7512 l cp gs col7 1.00 shd ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
7353 7583 m 7225 7508 l 7372 7526 l 7195 7467 l 7176 7524 l cp clip
|
||||||
|
n 8100 7800 m 7200 7500 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 7353 7583 m 7225 7508 l 7372 7526 l 7339 7546 l 7353 7583 l cp gs col7 1.00 shd ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
3441 7673 m 3453 7526 l 3501 7666 l 3478 7481 l 3418 7489 l cp clip
|
||||||
|
n 3600 8700 m 3450 7500 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 3441 7673 m 3453 7526 l 3501 7666 l 3468 7646 l 3441 7673 l cp gs col7 1.00 shd ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
6699 7666 m 6746 7526 l 6759 7673 l 6782 7489 l 6722 7481 l cp clip
|
||||||
|
n 6750 7500 m 6600 8700 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 6699 7666 m 6746 7526 l 6759 7673 l 6732 7646 l 6699 7666 l cp gs col7 1.00 shd ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
1652 6090 m 1779 6017 l 1691 6135 l 1831 6013 l 1792 5968 l cp clip
|
||||||
|
n 1200 6525 m 1800 6000 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 1652 6090 m 1779 6017 l 1691 6135 l 1689 6097 l 1652 6090 l cp gs col7 1.00 shd ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
1625 1958 m 1705 2080 l 1583 2000 l 1714 2132 l 1757 2089 l cp clip
|
||||||
|
n 1350 1725 m 1725 2100 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 1625 1958 m 1705 2080 l 1583 2000 l 1621 1996 l 1625 1958 l cp gs col7 1.00 shd ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
1631 2588 m 1775 2560 l 1654 2643 l 1825 2572 l 1802 2517 l cp clip
|
||||||
|
n 900 2925 m 1800 2550 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 1631 2588 m 1775 2560 l 1654 2643 l 1664 2607 l 1631 2588 l cp gs col7 1.00 shd ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
1700 5408 m 1780 5530 l 1658 5450 l 1789 5582 l 1832 5539 l cp clip
|
||||||
|
n 1350 5100 m 1800 5550 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 1700 5408 m 1780 5530 l 1658 5450 l 1696 5446 l 1700 5408 l cp gs col7 1.00 shd ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
3127 2657 m 3016 2753 l 3080 2621 l 2967 2769 l 3015 2805 l cp clip
|
||||||
|
n 4200 1200 m 3000 2775 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 3127 2657 m 3016 2753 l 3080 2621 l 3089 2658 l 3127 2657 l cp gs col7 1.00 shd ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
6397 2979 m 6250 2992 l 6380 2922 l 6202 2976 l 6219 3033 l cp clip
|
||||||
|
n 8700 2250 m 6225 3000 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 6397 2979 m 6250 2992 l 6380 2922 l 6366 2957 l 6397 2979 l cp gs col7 1.00 shd ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 150 9300 m 150 600 l 10200 600 l 10200 9300 l 150 9300 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
[15 50.0] 50.0 sd
|
||||||
|
n 7200 6000 m 7200 7200 l 7200 7200 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[15 50.0] 50.0 sd
|
||||||
|
n 3000 6000 m 3000 7200 l 3075 7200 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[15 50.0] 50.0 sd
|
||||||
|
n 2100 6000 m 3000 6000 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[15 50.0] 50.0 sd
|
||||||
|
n 2100 2100 m 3000 2100 l gs col-1 s gr [] 0 sd
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
[100.0] 0 sd
|
||||||
|
n 3000 7800 m 7200 7800 l gs col-1 s gr [] 0 sd
|
||||||
|
% Polyline
|
||||||
|
[100.0] 0 sd
|
||||||
|
n 1500 6000 m 1500 2025 l gs col-1 s gr [] 0 sd
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
1725 8100 m
|
||||||
|
gs 1 -1 sc (\(0 \(0\)\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
8175 7950 m
|
||||||
|
gs 1 -1 sc (\(0\(1\)\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
4800 7050 m
|
||||||
|
gs 1 -1 sc (\(0 1\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
3225 9000 m
|
||||||
|
gs 1 -1 sc (\(0 \(0 1\)\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
6375 9000 m
|
||||||
|
gs 1 -1 sc (\(1 \(0 1\)\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
1950 6375 m
|
||||||
|
gs 1 -1 sc (\(0\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2175 4200 m
|
||||||
|
gs 1 -1 sc (\(0 1\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2025 1950 m
|
||||||
|
gs 1 -1 sc (\(1\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
750 6825 m
|
||||||
|
gs 1 -1 sc (\(0 \(0\)\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
975 1650 m
|
||||||
|
gs 1 -1 sc (\(0\(1\)\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
375 5100 m
|
||||||
|
gs 1 -1 sc (\(0 \(0 1\)\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
300 3300 m
|
||||||
|
gs 1 -1 sc (\(1 \(0 1\)\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2925 1800 m
|
||||||
|
gs 1 -1 sc ([0,1]) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
7200 1875 m
|
||||||
|
gs 1 -1 sc ([1,1]) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
4500 1950 m
|
||||||
|
gs 1 -1 sc ([\(0 1\), 0\(1\)]) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
7500 3975 m
|
||||||
|
gs 1 -1 sc ([0\(1\), \(0 1\)]) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
8700 2100 m
|
||||||
|
gs 1 -1 sc ([\(0 1\), \(0 1\)]) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
3900 1050 m
|
||||||
|
gs 1 -1 sc ([0\(0\), \(0 1\)]) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
4200 6300 m
|
||||||
|
gs 1 -1 sc ([\(0 1\), 0\(0\)]) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
3300 3600 m
|
||||||
|
gs 1 -1 sc ([0\(0 1\), 1\(0 1\)]) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
5100 4950 m
|
||||||
|
gs 1 -1 sc ([1\(0 1\), 0\(0 1\)]) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 300.00 scf sf
|
||||||
|
4875 8250 m
|
||||||
|
gs 1 -1 sc (X) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 300.00 scf sf
|
||||||
|
1125 4200 m
|
||||||
|
gs 1 -1 sc (Y) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 300.00 scf sf
|
||||||
|
4800 2850 m
|
||||||
|
gs 1 -1 sc (XY) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
3150 6300 m
|
||||||
|
gs 1 -1 sc ([0,0]) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
6825 7050 m
|
||||||
|
gs 1 -1 sc (\(1\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
3075 7050 m
|
||||||
|
gs 1 -1 sc (\(0\)) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
7350 6225 m
|
||||||
|
gs 1 -1 sc ([1,0]) col-1 sh gr
|
||||||
|
$F2psEnd
|
||||||
|
rs
|
||||||
172
doc/doc_src/torus2.eps
Normal file
172
doc/doc_src/torus2.eps
Normal file
@ -0,0 +1,172 @@
|
|||||||
|
%!PS-Adobe-2.0 EPSF-2.0
|
||||||
|
%%Title: torus2.fig
|
||||||
|
%%Creator: fig2dev Version 3.1 Patchlevel 2
|
||||||
|
%%CreationDate: Wed Jun 26 17:03:53 1996
|
||||||
|
%%For: siret@puccini (Yvon Siret)
|
||||||
|
%Magnification: 0.60
|
||||||
|
%%Orientation: Portrait
|
||||||
|
%%BoundingBox: 0 0 174 175
|
||||||
|
%%Pages: 0
|
||||||
|
%%BeginSetup
|
||||||
|
%%IncludeFeature: *PageSize Letter
|
||||||
|
%%EndSetup
|
||||||
|
%%EndComments
|
||||||
|
/$F2psDict 200 dict def
|
||||||
|
$F2psDict begin
|
||||||
|
$F2psDict /mtrx matrix put
|
||||||
|
/col-1 {0 setgray} bind def
|
||||||
|
/col0 {0.000 0.000 0.000 srgb} bind def
|
||||||
|
/col1 {0.000 0.000 1.000 srgb} bind def
|
||||||
|
/col2 {0.000 1.000 0.000 srgb} bind def
|
||||||
|
/col3 {0.000 1.000 1.000 srgb} bind def
|
||||||
|
/col4 {1.000 0.000 0.000 srgb} bind def
|
||||||
|
/col5 {1.000 0.000 1.000 srgb} bind def
|
||||||
|
/col6 {1.000 1.000 0.000 srgb} bind def
|
||||||
|
/col7 {1.000 1.000 1.000 srgb} bind def
|
||||||
|
/col8 {0.000 0.000 0.560 srgb} bind def
|
||||||
|
/col9 {0.000 0.000 0.690 srgb} bind def
|
||||||
|
/col10 {0.000 0.000 0.820 srgb} bind def
|
||||||
|
/col11 {0.530 0.810 1.000 srgb} bind def
|
||||||
|
/col12 {0.000 0.560 0.000 srgb} bind def
|
||||||
|
/col13 {0.000 0.690 0.000 srgb} bind def
|
||||||
|
/col14 {0.000 0.820 0.000 srgb} bind def
|
||||||
|
/col15 {0.000 0.560 0.560 srgb} bind def
|
||||||
|
/col16 {0.000 0.690 0.690 srgb} bind def
|
||||||
|
/col17 {0.000 0.820 0.820 srgb} bind def
|
||||||
|
/col18 {0.560 0.000 0.000 srgb} bind def
|
||||||
|
/col19 {0.690 0.000 0.000 srgb} bind def
|
||||||
|
/col20 {0.820 0.000 0.000 srgb} bind def
|
||||||
|
/col21 {0.560 0.000 0.560 srgb} bind def
|
||||||
|
/col22 {0.690 0.000 0.690 srgb} bind def
|
||||||
|
/col23 {0.820 0.000 0.820 srgb} bind def
|
||||||
|
/col24 {0.500 0.190 0.000 srgb} bind def
|
||||||
|
/col25 {0.630 0.250 0.000 srgb} bind def
|
||||||
|
/col26 {0.750 0.380 0.000 srgb} bind def
|
||||||
|
/col27 {1.000 0.500 0.500 srgb} bind def
|
||||||
|
/col28 {1.000 0.630 0.630 srgb} bind def
|
||||||
|
/col29 {1.000 0.750 0.750 srgb} bind def
|
||||||
|
/col30 {1.000 0.880 0.880 srgb} bind def
|
||||||
|
/col31 {1.000 0.840 0.000 srgb} bind def
|
||||||
|
|
||||||
|
end
|
||||||
|
save
|
||||||
|
-21.0 185.0 translate
|
||||||
|
1 -1 scale
|
||||||
|
|
||||||
|
/cp {closepath} bind def
|
||||||
|
/ef {eofill} bind def
|
||||||
|
/gr {grestore} bind def
|
||||||
|
/gs {gsave} bind def
|
||||||
|
/sa {save} bind def
|
||||||
|
/rs {restore} bind def
|
||||||
|
/l {lineto} bind def
|
||||||
|
/m {moveto} bind def
|
||||||
|
/rm {rmoveto} bind def
|
||||||
|
/n {newpath} bind def
|
||||||
|
/s {stroke} bind def
|
||||||
|
/sh {show} bind def
|
||||||
|
/slc {setlinecap} bind def
|
||||||
|
/slj {setlinejoin} bind def
|
||||||
|
/slw {setlinewidth} bind def
|
||||||
|
/srgb {setrgbcolor} bind def
|
||||||
|
/rot {rotate} bind def
|
||||||
|
/sc {scale} bind def
|
||||||
|
/sd {setdash} bind def
|
||||||
|
/ff {findfont} bind def
|
||||||
|
/sf {setfont} bind def
|
||||||
|
/scf {scalefont} bind def
|
||||||
|
/sw {stringwidth} bind def
|
||||||
|
/tr {translate} bind def
|
||||||
|
/tnt {dup dup currentrgbcolor
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
|
||||||
|
bind def
|
||||||
|
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
|
||||||
|
4 -2 roll mul srgb} bind def
|
||||||
|
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
|
||||||
|
/$F2psEnd {$F2psEnteredState restore end} def
|
||||||
|
%%EndProlog
|
||||||
|
|
||||||
|
$F2psBegin
|
||||||
|
10 setmiterlimit
|
||||||
|
n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
|
||||||
|
0.03600 0.03600 sc
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
n 1200 900 m 4800 900 l 4800 4500 l 1200 4500 l 1200 900 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 1200 2100 m 2700 2100 l 1200 900 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 2400 900 m 2700 2100 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 3600 900 m 2700 2100 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 4800 3300 m 3300 3300 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 4800 4500 m 3300 3300 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 3600 4500 m 3300 3300 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 2400 4500 m 3300 3300 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 1200 3300 m 2400 4500 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 1200 2100 m 2400 4500 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 1200 2100 m 3300 3300 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 2700 2100 m 3300 3300 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 3600 900 m 4800 2100 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 3600 900 m 4800 3300 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 4800 3300 m 2700 2100 l gs col-1 s gr
|
||||||
|
7.500 slw
|
||||||
|
% Polyline
|
||||||
|
n 600 300 m 5400 300 l 5400 5100 l 600 5100 l 600 300 l gs col-1 s gr
|
||||||
|
/Times-Bold ff 210.00 scf sf
|
||||||
|
1200 750 m
|
||||||
|
gs 1 -1 sc (0) col-1 sh gr
|
||||||
|
/Times-Bold ff 210.00 scf sf
|
||||||
|
2325 750 m
|
||||||
|
gs 1 -1 sc (1) col-1 sh gr
|
||||||
|
/Times-Bold ff 210.00 scf sf
|
||||||
|
3525 750 m
|
||||||
|
gs 1 -1 sc (2) col-1 sh gr
|
||||||
|
/Times-Bold ff 210.00 scf sf
|
||||||
|
4800 750 m
|
||||||
|
gs 1 -1 sc (0) col-1 sh gr
|
||||||
|
/Times-Bold ff 210.00 scf sf
|
||||||
|
3525 4800 m
|
||||||
|
gs 1 -1 sc (2) col-1 sh gr
|
||||||
|
/Times-Bold ff 210.00 scf sf
|
||||||
|
4725 4800 m
|
||||||
|
gs 1 -1 sc (0) col-1 sh gr
|
||||||
|
/Times-Bold ff 210.00 scf sf
|
||||||
|
975 3375 m
|
||||||
|
gs 1 -1 sc (3) col-1 sh gr
|
||||||
|
/Times-Bold ff 210.00 scf sf
|
||||||
|
4950 3300 m
|
||||||
|
gs 1 -1 sc (3) col-1 sh gr
|
||||||
|
/Times-Bold ff 210.00 scf sf
|
||||||
|
4950 2100 m
|
||||||
|
gs 1 -1 sc (4) col-1 sh gr
|
||||||
|
/Times-Bold ff 210.00 scf sf
|
||||||
|
2475 2325 m
|
||||||
|
gs 1 -1 sc (5) col-1 sh gr
|
||||||
|
/Times-Bold ff 210.00 scf sf
|
||||||
|
3450 3150 m
|
||||||
|
gs 1 -1 sc (6) col-1 sh gr
|
||||||
|
/Times-Bold ff 210.00 scf sf
|
||||||
|
975 2175 m
|
||||||
|
gs 1 -1 sc (4) col-1 sh gr
|
||||||
|
/Times-Bold ff 210.00 scf sf
|
||||||
|
1125 4800 m
|
||||||
|
gs 1 -1 sc (0) col-1 sh gr
|
||||||
|
/Times-Bold ff 210.00 scf sf
|
||||||
|
2400 4800 m
|
||||||
|
gs 1 -1 sc (1) col-1 sh gr
|
||||||
|
$F2psEnd
|
||||||
|
rs
|
||||||
201
doc/doc_src/toruss.eps
Normal file
201
doc/doc_src/toruss.eps
Normal file
@ -0,0 +1,201 @@
|
|||||||
|
%!PS-Adobe-2.0 EPSF-2.0
|
||||||
|
%%Title: toruss.fig
|
||||||
|
%%Creator: fig2dev Version 3.1 Patchlevel 2
|
||||||
|
%%CreationDate: Wed Jun 26 17:00:02 1996
|
||||||
|
%%For: siret@puccini (Yvon Siret)
|
||||||
|
%Magnification: 0.60
|
||||||
|
%%Orientation: Portrait
|
||||||
|
%%BoundingBox: 0 0 218 164
|
||||||
|
%%Pages: 0
|
||||||
|
%%BeginSetup
|
||||||
|
%%IncludeFeature: *PageSize Letter
|
||||||
|
%%EndSetup
|
||||||
|
%%EndComments
|
||||||
|
/$F2psDict 200 dict def
|
||||||
|
$F2psDict begin
|
||||||
|
$F2psDict /mtrx matrix put
|
||||||
|
/col-1 {0 setgray} bind def
|
||||||
|
/col0 {0.000 0.000 0.000 srgb} bind def
|
||||||
|
/col1 {0.000 0.000 1.000 srgb} bind def
|
||||||
|
/col2 {0.000 1.000 0.000 srgb} bind def
|
||||||
|
/col3 {0.000 1.000 1.000 srgb} bind def
|
||||||
|
/col4 {1.000 0.000 0.000 srgb} bind def
|
||||||
|
/col5 {1.000 0.000 1.000 srgb} bind def
|
||||||
|
/col6 {1.000 1.000 0.000 srgb} bind def
|
||||||
|
/col7 {1.000 1.000 1.000 srgb} bind def
|
||||||
|
/col8 {0.000 0.000 0.560 srgb} bind def
|
||||||
|
/col9 {0.000 0.000 0.690 srgb} bind def
|
||||||
|
/col10 {0.000 0.000 0.820 srgb} bind def
|
||||||
|
/col11 {0.530 0.810 1.000 srgb} bind def
|
||||||
|
/col12 {0.000 0.560 0.000 srgb} bind def
|
||||||
|
/col13 {0.000 0.690 0.000 srgb} bind def
|
||||||
|
/col14 {0.000 0.820 0.000 srgb} bind def
|
||||||
|
/col15 {0.000 0.560 0.560 srgb} bind def
|
||||||
|
/col16 {0.000 0.690 0.690 srgb} bind def
|
||||||
|
/col17 {0.000 0.820 0.820 srgb} bind def
|
||||||
|
/col18 {0.560 0.000 0.000 srgb} bind def
|
||||||
|
/col19 {0.690 0.000 0.000 srgb} bind def
|
||||||
|
/col20 {0.820 0.000 0.000 srgb} bind def
|
||||||
|
/col21 {0.560 0.000 0.560 srgb} bind def
|
||||||
|
/col22 {0.690 0.000 0.690 srgb} bind def
|
||||||
|
/col23 {0.820 0.000 0.820 srgb} bind def
|
||||||
|
/col24 {0.500 0.190 0.000 srgb} bind def
|
||||||
|
/col25 {0.630 0.250 0.000 srgb} bind def
|
||||||
|
/col26 {0.750 0.380 0.000 srgb} bind def
|
||||||
|
/col27 {1.000 0.500 0.500 srgb} bind def
|
||||||
|
/col28 {1.000 0.630 0.630 srgb} bind def
|
||||||
|
/col29 {1.000 0.750 0.750 srgb} bind def
|
||||||
|
/col30 {1.000 0.880 0.880 srgb} bind def
|
||||||
|
/col31 {1.000 0.840 0.000 srgb} bind def
|
||||||
|
|
||||||
|
end
|
||||||
|
save
|
||||||
|
-64.0 217.0 translate
|
||||||
|
1 -1 scale
|
||||||
|
|
||||||
|
/cp {closepath} bind def
|
||||||
|
/ef {eofill} bind def
|
||||||
|
/gr {grestore} bind def
|
||||||
|
/gs {gsave} bind def
|
||||||
|
/sa {save} bind def
|
||||||
|
/rs {restore} bind def
|
||||||
|
/l {lineto} bind def
|
||||||
|
/m {moveto} bind def
|
||||||
|
/rm {rmoveto} bind def
|
||||||
|
/n {newpath} bind def
|
||||||
|
/s {stroke} bind def
|
||||||
|
/sh {show} bind def
|
||||||
|
/slc {setlinecap} bind def
|
||||||
|
/slj {setlinejoin} bind def
|
||||||
|
/slw {setlinewidth} bind def
|
||||||
|
/srgb {setrgbcolor} bind def
|
||||||
|
/rot {rotate} bind def
|
||||||
|
/sc {scale} bind def
|
||||||
|
/sd {setdash} bind def
|
||||||
|
/ff {findfont} bind def
|
||||||
|
/sf {setfont} bind def
|
||||||
|
/scf {scalefont} bind def
|
||||||
|
/sw {stringwidth} bind def
|
||||||
|
/tr {translate} bind def
|
||||||
|
/tnt {dup dup currentrgbcolor
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||||
|
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
|
||||||
|
bind def
|
||||||
|
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
|
||||||
|
4 -2 roll mul srgb} bind def
|
||||||
|
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
|
||||||
|
/$F2psEnd {$F2psEnteredState restore end} def
|
||||||
|
%%EndProlog
|
||||||
|
|
||||||
|
$F2psBegin
|
||||||
|
10 setmiterlimit
|
||||||
|
n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
|
||||||
|
0.03600 0.03600 sc
|
||||||
|
15.000 slw
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
4458 2040 m 4746 2100 l 4458 2160 l 4830 2160 l 4830 2040 l cp clip
|
||||||
|
n 2400 2100 m 4800 2100 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 4458 2040 m 4746 2100 l 4458 2160 l 4506 2100 l 4458 2040 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
2340 3642 m 2400 3354 l 2460 3642 l 2460 3270 l 2340 3270 l cp clip
|
||||||
|
n 2400 4500 m 2400 3300 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 2340 3642 m 2400 3354 l 2460 3642 l 2400 3594 l 2340 3642 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 2400 3375 m 2400 2100 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 2400 4425 m 2400 4800 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
4458 4740 m 4746 4800 l 4458 4860 l 4830 4860 l 4830 4740 l cp clip
|
||||||
|
n 2400 4800 m 4800 4800 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 4458 4740 m 4746 4800 l 4458 4860 l 4506 4800 l 4458 4740 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 4800 4800 m 7200 4800 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
7140 3642 m 7200 3354 l 7260 3642 l 7260 3270 l 7140 3270 l cp clip
|
||||||
|
n 7200 4800 m 7200 3300 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 7140 3642 m 7200 3354 l 7260 3642 l 7200 3594 l 7140 3642 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 7200 3300 m 7200 2100 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
n 4800 2100 m 7200 2100 l gs col-1 s gr
|
||||||
|
% Polyline
|
||||||
|
gs clippath
|
||||||
|
4772 3414 m 5052 3326 l 4830 3519 l 5155 3338 l 5097 3233 l cp clip
|
||||||
|
n 2400 4800 m 5100 3300 l gs col-1 s gr gr
|
||||||
|
|
||||||
|
% arrowhead
|
||||||
|
n 4772 3414 m 5052 3326 l 4830 3519 l 4843 3443 l 4772 3414 l cp gs 0.00 setgray ef gr col-1 s
|
||||||
|
% Polyline
|
||||||
|
n 5100 3300 m 7200 2100 l gs col-1 s gr
|
||||||
|
7.500 slw
|
||||||
|
% Polyline
|
||||||
|
n 1800 1500 m 7800 1500 l 7800 6000 l 1800 6000 l 1800 1500 l gs col-1 s gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2025 3525 m
|
||||||
|
gs 1 -1 sc (e0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
3600 3150 m
|
||||||
|
gs 1 -1 sc (t0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
5700 3975 m
|
||||||
|
gs 1 -1 sc (t1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
6975 2550 m
|
||||||
|
gs 1 -1 sc (2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2250 5175 m
|
||||||
|
gs 1 -1 sc (v0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
7125 5100 m
|
||||||
|
gs 1 -1 sc (v0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
4800 1950 m
|
||||||
|
gs 1 -1 sc (e1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
7350 3525 m
|
||||||
|
gs 1 -1 sc (e0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2550 2400 m
|
||||||
|
gs 1 -1 sc (1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2550 4575 m
|
||||||
|
gs 1 -1 sc (0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
3075 4725 m
|
||||||
|
gs 1 -1 sc (0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
6975 4650 m
|
||||||
|
gs 1 -1 sc (1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
6375 2400 m
|
||||||
|
gs 1 -1 sc (2) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
7125 1950 m
|
||||||
|
gs 1 -1 sc (v0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
2325 1950 m
|
||||||
|
gs 1 -1 sc (v0) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 240.00 scf sf
|
||||||
|
4725 5100 m
|
||||||
|
gs 1 -1 sc (e1) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
4200 5700 m
|
||||||
|
gs 1 -1 sc (Torus) col-1 sh gr
|
||||||
|
/Helvetica-Bold ff 225.00 scf sf
|
||||||
|
4650 3300 m
|
||||||
|
gs 1 -1 sc (e2) col-1 sh gr
|
||||||
|
$F2psEnd
|
||||||
|
rs
|
||||||
362
doc/doc_src/tprdoc.tex
Normal file
362
doc/doc_src/tprdoc.tex
Normal file
@ -0,0 +1,362 @@
|
|||||||
|
\chapter{Tensor product of chain complexes}
|
||||||
|
|
||||||
|
\section{Introduction}
|
||||||
|
|
||||||
|
One knows that the homology groups of a cartesian product of two spaces
|
||||||
|
$K$ and $L$ may be obtained by considering a chain complex derived from
|
||||||
|
respective chain complexes of $K$ and $L$ by taking their {\em tensor product}.
|
||||||
|
But this is only one of the numerous uses of tensor products of chain complexes
|
||||||
|
in algebraic topology, so the {\tt Kenzo} software provides the handling of such
|
||||||
|
an important tool.
|
||||||
|
\par
|
||||||
|
Let us recall that chain complexes are free $\Z$--modules with distinguished basis.
|
||||||
|
A tensor product\index{tensor product!of chain complexes} of chain complexes
|
||||||
|
is itself a free $\Z$--module with a natural basis
|
||||||
|
formed by the tensor product of the generators of the chain complex factors.
|
||||||
|
The program conforms to that rule.
|
||||||
|
|
||||||
|
\section{Tensor product of generators and combinations}
|
||||||
|
|
||||||
|
An elementary tensor product\index{tensor product!of generators}
|
||||||
|
of two generators is represented, in the software,
|
||||||
|
by a structured list in which we may find $4$ items for the description of the two generators
|
||||||
|
together with their respective degree. The internal representation of $gnrt1 \otimes gnrt2$ has
|
||||||
|
the form:
|
||||||
|
\begin{center}
|
||||||
|
{\tt (:tnpr ({\em degr1}.{\em gnrt1}).({\em degr2}.{\em gnrt2}))}
|
||||||
|
\end{center}
|
||||||
|
where,
|
||||||
|
\begin{enumerate}
|
||||||
|
\item {\em degr1} is an integer, the degree of the generator {\em gnrt1}.
|
||||||
|
\item {\em gnrt1} is the first generator of the pair.
|
||||||
|
\item {\em degr2} is an integer, the degree of the generator {\em gnrt2}.
|
||||||
|
\item {\em gnrt2} is the second generator of the pair.
|
||||||
|
\end{enumerate}
|
||||||
|
To construct such an object, one may use the macro {\tt tnpr}. The cor\-res\-pon\-ding type is {\tt TNPR}.
|
||||||
|
The printing method prints the tensor product under the form:
|
||||||
|
\begin{center}
|
||||||
|
{\tt <TnPr {\em gnrt1 gnrt2}>} or {\tt <TnPr {\em degr1 gnrt1 degr2 gnrt2}>}
|
||||||
|
\end{center}
|
||||||
|
according to the boolean value, {\tt NIL} (default) or {\tt T} of the system variable
|
||||||
|
{\tt *tnpr-with-degrees*} (see the examples).
|
||||||
|
|
||||||
|
\subsection {Simple functions for the tensor product}
|
||||||
|
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt tnpr} {\em degr1 gnrt1 degr2 gnrt2} \hfill {\em [Macro]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build a tensor product $gnrt1 \otimes gnrt2$. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt tnpr-p} {\em object} \hfill {\em [Predicate]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Test if {\em object} is of type {\tt TNPR}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt degr1} {\em tnpr} \hfill {\em [Macro]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Select the degree of the first generator in the tensor product {\em tnpr}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt gnrt1} {\em tnpr} \hfill {\em [Macro]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Select the first generator from the object {\em tnpr}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt degr2} {\em tnpr} \hfill {\em [Macro]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Select the degree of the second generator in the tensor product {\em tnpr}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt gnrt2} {\em tnpr} \hfill {\em [Macro]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Select the second generator from the object {\em tnpr}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt 2cmbn-tnpr} {\em cmbn1 cmbn2} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Create, from two combinations {\em cmbn1} and {\em cmbn2} with respective degree {\em degr1} and {\em degr2},
|
||||||
|
a combination of degree $dgr1 + dgr2$ by applying the tensorial distributive law on the two sums of terms
|
||||||
|
of the combinations. \par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection* {Example}
|
||||||
|
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(tnpr 1 'a 2 'b) ==>
|
||||||
|
|
||||||
|
<TnPr A B>
|
||||||
|
|
||||||
|
(tnpr-p *) ==>
|
||||||
|
|
||||||
|
T
|
||||||
|
|
||||||
|
(tnpr-p (cmbn 0 1 'a 2 'b)) ==>
|
||||||
|
|
||||||
|
NIL
|
||||||
|
|
||||||
|
(setf *tnpr-with-degrees* t) ==>
|
||||||
|
|
||||||
|
T
|
||||||
|
|
||||||
|
(2cmbn-tnpr (cmbn 2 3 'a 4 'b -5 'c) (cmbn 3 4 'x -3 'y 2 'z)) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 5}
|
||||||
|
<12 * <TnPr 2 A 3 X>>
|
||||||
|
<-9 * <TnPr 2 A 3 Y>>
|
||||||
|
<6 * <TnPr 2 A 3 Z>>
|
||||||
|
<16 * <TnPr 2 B 3 X>>
|
||||||
|
<-12 * <TnPr 2 B 3 Y>>
|
||||||
|
<8 * <TnPr 2 B 3 Z>>
|
||||||
|
<-20 * <TnPr 2 C 3 X>>
|
||||||
|
<15 * <TnPr 2 C 3 Y>>
|
||||||
|
<-10 * <TnPr 2 C 3 Z>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf *tnpr-with-degrees* nil) ==>
|
||||||
|
|
||||||
|
NIL
|
||||||
|
|
||||||
|
** ==> ;;; ** is the last but one result
|
||||||
|
----------------------------------------------------------------------{CMBN 5}
|
||||||
|
<12 * <TnPr A X>>
|
||||||
|
<-9 * <TnPr A Y>>
|
||||||
|
<6 * <TnPr A Z>>
|
||||||
|
<16 * <TnPr B X>>
|
||||||
|
<-12 * <TnPr B Y>>
|
||||||
|
<8 * <TnPr B Z>>
|
||||||
|
<-20 * <TnPr C X>>
|
||||||
|
<15 * <TnPr C Y>>
|
||||||
|
<-10 * <TnPr C Z>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\section{Tensor product of chain complexes}
|
||||||
|
|
||||||
|
The\index{tensor product!of chain complexes} software implements the tensor product of chain complexes according to
|
||||||
|
the classical following definition. Let $C$ and $C'$ two chain complexes. The
|
||||||
|
tensor product $C\otimes C'$ is the chain complex $D$ such that:
|
||||||
|
$$ D_p=\bigoplus_{m+n=p}C_m\otimes C_n',$$
|
||||||
|
$C_m\otimes C_n'$ being the tensor product of the two modules $C_m$ and $C_n'$.
|
||||||
|
A basis for $D_p$ is the union of the basis of $C_m\otimes C_n'$, with $m+n=p$.
|
||||||
|
\par
|
||||||
|
The boundary operator $d^{\otimes}$ is defined, according to the Koszul rule, by:
|
||||||
|
$$d^{\otimes}(c_m\otimes c_n')=d(c_m)\otimes c_n' +(-1)^m c_m\otimes d'(c_n'),$$
|
||||||
|
with $c_m\in C_m,\ c_n'\in C_n'$ and $d$, $d'$ being the respective boundary operators
|
||||||
|
of $C$ and $C'$.
|
||||||
|
\par
|
||||||
|
In the software, this is realized by the function {\tt tnsr-prdc}.
|
||||||
|
\vskip 0.40cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt tnsr-prdc} {\em chcm1 chcm2} \hfill {\em [Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Build a chain complex, tensor product of the two chain complexes {\em chcm1} and {\em chcm2}. The elements
|
||||||
|
of this new chain complex are integer combinations of generators of {\tt TNPR} type. The creation of this
|
||||||
|
new chain complex is done
|
||||||
|
by a call to the function {\tt build-chcm} with actual parameters
|
||||||
|
defined from the constituting elements of {\em chcm1} and {\em chcm2}, according to the
|
||||||
|
mathematical definitions above. If both arguments are {\em effective}, the function
|
||||||
|
constructs an {\em effective} chain complex. On the other hand, if at least one of the chain complex
|
||||||
|
is {\em locally effective}, the tensor product is also {\em locally effective}. In fact, the construction
|
||||||
|
is correct only if both chain complexes are null in negative degrees, otherwise the result
|
||||||
|
is undefined.
|
||||||
|
\par}}
|
||||||
|
|
||||||
|
\subsection* {Examples}
|
||||||
|
|
||||||
|
Let us take the standard $2$--simplex, $\Delta^2$ and let us build $C_*(\Delta^2) \otimes C_*(\Delta^2)$. To build
|
||||||
|
the corresponding chain complex, we use the function {\tt cdelta}, defined in a previous chapter.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf triangle (cdelta 2)) ==>
|
||||||
|
|
||||||
|
[K1 Chain-Complex]
|
||||||
|
|
||||||
|
(basis triangle 1) ==>
|
||||||
|
|
||||||
|
((0 1) (0 2) (1 2))
|
||||||
|
|
||||||
|
(setf tpr-triangles (tnsr-prdc triangle triangle)) ==>
|
||||||
|
|
||||||
|
[K3 Chain-Complex]
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us inspect some basis of this newly created chain complex.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(basis tpr-triangles 0) ==>
|
||||||
|
|
||||||
|
(<TnPr (0) (0)> <TnPr (0) (1)> <TnPr (0) (2)> <TnPr (1) (0)> <TnPr (1) (1)>
|
||||||
|
<TnPr (1) (2)> <TnPr (2) (0)> <TnPr (2) (1)> <TnPr (2) (2)>)
|
||||||
|
|
||||||
|
(basis tpr-triangles 1) ==>
|
||||||
|
|
||||||
|
(<TnPr (0) (0 1)> <TnPr (0) (0 2)> <TnPr (0) (1 2)> <TnPr (1) (0 1)>
|
||||||
|
<TnPr (1) (0 2)> <TnPr (1) (1 2)> <TnPr (2) (0 1)> <TnPr (2) (0 2)>
|
||||||
|
<TnPr (2) (1 2)> <TnPr (0 1) (0)> <TnPr (0 1) (1)> <TnPr (0 1) (2)>
|
||||||
|
<TnPr (0 2) (0)> <TnPr (0 2) (1)> <TnPr (0 2) (2)> <TnPr (1 2) (0)>
|
||||||
|
<TnPr (1 2) (1)> <TnPr (1 2) (2)>)
|
||||||
|
|
||||||
|
(basis tpr-triangles 2) ==>
|
||||||
|
|
||||||
|
(<TnPr (0) (0 1 2)> <TnPr (1) (0 1 2)> <TnPr (2) (0 1 2)> <TnPr (0 1) (0 1)>
|
||||||
|
<TnPr (0 1) (0 2)> <TnPr (0 1) (1 2)> <TnPr (0 2) (0 1)> <TnPr (0 2) (0 2)>
|
||||||
|
<TnPr (0 2) (1 2)> <TnPr (1 2) (0 1)> <TnPr (1 2) (0 2)> <TnPr (1 2) (1 2)>
|
||||||
|
<TnPr (0 1 2) (0)> <TnPr (0 1 2) (1)> <TnPr (0 1 2) (2)>)
|
||||||
|
|
||||||
|
(basis tpr-triangles 3) ==>
|
||||||
|
|
||||||
|
(<TnPr (0 1) (0 1 2)> <TnPr (0 2) (0 1 2)> <TnPr (1 2) (0 1 2)>
|
||||||
|
<TnPr (0 1 2) (0 1)> <TnPr (0 1 2) (0 2)> <TnPr (0 1 2) (1 2)>)
|
||||||
|
|
||||||
|
(basis tpr-triangles 4) ==>
|
||||||
|
|
||||||
|
(<TnPr (0 1 2) (0 1 2)>)
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
Let us consider now the chain complex, $ccn$, that we used in the chain complex chapter.
|
||||||
|
The basis in any degree are decades produced by the function {\tt <a-b<}. We build $ccn\otimes ccn$
|
||||||
|
and we verify the fundamental property of the associated boundary operator:
|
||||||
|
$$d^\otimes \circ d^\otimes=0.$$
|
||||||
|
\newpage
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf ccn-boundary #'(lambda (dgr gnr)
|
||||||
|
(if (evenp (+ dgr gnr))
|
||||||
|
(cmbn (1- dgr) 1 (- gnr 10))
|
||||||
|
(cmbn (1- dgr)))))
|
||||||
|
|
||||||
|
(setf ccn (build-chcm :cmpr #'f-cmpr
|
||||||
|
:basis #'(lambda (n) (<a-b< (* 10 n) (* 10 (1+ n))))
|
||||||
|
:intr-dffr ccn-boundary
|
||||||
|
:strt :gnrt
|
||||||
|
:orgn '(ccn) )) ==>
|
||||||
|
|
||||||
|
[K5 Chain-Complex]
|
||||||
|
|
||||||
|
(basis ccn 3) ==>
|
||||||
|
|
||||||
|
(30 31 32 33 34 35 36 37 38 39)
|
||||||
|
|
||||||
|
(setf tpr-ccn-ccn (tnsr-prdc ccn ccn)) ==>
|
||||||
|
|
||||||
|
[K7 Chain-Complex]
|
||||||
|
|
||||||
|
(setf comb2 (cmbn 2 1 21 5 25 9 29)) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 2}
|
||||||
|
<1 * 21>
|
||||||
|
<5 * 25>
|
||||||
|
<9 * 29>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf comb3 (cmbn 3 2 32 3 33 -4 34 -6 36)) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
<2 * 32>
|
||||||
|
<3 * 33>
|
||||||
|
<-4 * 34>
|
||||||
|
<-6 * 36>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(setf tcmb (2cmbn-tnpr comb2 comb3)) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 5}
|
||||||
|
<2 * <TnPr 21 32>>
|
||||||
|
<3 * <TnPr 21 33>>
|
||||||
|
<-4 * <TnPr 21 34>>
|
||||||
|
<-6 * <TnPr 21 36>>
|
||||||
|
<10 * <TnPr 25 32>>
|
||||||
|
<15 * <TnPr 25 33>>
|
||||||
|
<-20 * <TnPr 25 34>>
|
||||||
|
<-30 * <TnPr 25 36>>
|
||||||
|
<18 * <TnPr 29 32>>
|
||||||
|
<27 * <TnPr 29 33>>
|
||||||
|
<-36 * <TnPr 29 34>>
|
||||||
|
<-54 * <TnPr 29 36>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? tpr-ccn-ccn *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 4}
|
||||||
|
<3 * <TnPr 21 23>>
|
||||||
|
<15 * <TnPr 25 23>>
|
||||||
|
<27 * <TnPr 29 23>>
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(? tpr-ccn-ccn *) ==>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------{CMBN 3}
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
\end{verbatim}}
|
||||||
|
\newpage
|
||||||
|
\section{Tensor product of morphisms, reductions, homotopy equivalences.}
|
||||||
|
|
||||||
|
Let\index{tensor product!of morphisms}
|
||||||
|
$f:A_1 \longrightarrow A_2$ and $g:B_1 \longrightarrow B_2$ two morphisms between
|
||||||
|
two chain complexes. The tensor product $f \otimes g$ is the morphism
|
||||||
|
$$f\otimes g : A_1\otimes B_1 \longrightarrow A_2\otimes B_2$$
|
||||||
|
defined by the following formula respecting the Koszul rule:
|
||||||
|
$$ (f\otimes g) (a_1 \otimes b_1)= (-1)^{deg(g)*deg(a1)}f(a_1) \otimes g(b_1).$$
|
||||||
|
|
||||||
|
The method {\tt tnsr-prdc} already defined for chain complexes, may be also used for that purpose.
|
||||||
|
\vskip 0.45cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt tnsr-prdc} {\em mrph1 mrph2} \hfill {\em [Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return the morphism, tensor product of the two morphisms {\em mrph1} and {\em mrph2}. The source
|
||||||
|
and target of this new morphism are res\-pec\-ti\-ve\-ly the tensor product of the chain complexes source
|
||||||
|
and target of {\em mrph1} and {\em mrph2}. The degree is the sum of the degrees of the parameters
|
||||||
|
and the lisp function (the {\tt :pure} keyword argument of the function {\tt build-mrph})
|
||||||
|
conforms to the mathematical definition above. The strategy is by generator, i.e. the morphism
|
||||||
|
is designed to work with $2$ arguments: a degree and a generator which must be
|
||||||
|
an object of type {\tt TNPR}. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt tnsr-prdc} {\em rdct1 rdct2} \hfill {\em [Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return the reduction\index{tensor product!of reductions},
|
||||||
|
tensor product of the two reductions {\em rdct1} and {\em rdct2}. The
|
||||||
|
algorithm consists essentially in defining
|
||||||
|
$$f=f1 \otimes f2,\, g=g1 \otimes g2,\, h= h1 \otimes (g2 \circ g2) + Id_{tcc1} \otimes h2,$$
|
||||||
|
where $Id_{tcc1}$ is the identity morphism in the top chain complex of the reduction {\em rdct1}.
|
||||||
|
The returned reduction is then built by a call to the method {\tt build-rdct}.
|
||||||
|
This defines completely the chain complexes involved in the reduction. \par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt tnsr-prdc} {\em hmeq1 hmeq2} \hfill {\em [Method]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return\index{tensor product!of homotopy equivalence}
|
||||||
|
the homotopy equivalence, tensor product of the two homotopy equivalence {\em heqm1} and {\em heqm2}.
|
||||||
|
This is a homotopy equivalence where the new reductions are the tensor products of the arguments reductions
|
||||||
|
(See the lisp definition just below). \par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection {Searching homology for tensor products}
|
||||||
|
|
||||||
|
The\index{searching homology!tensor products} comment list of a tensor product of two chain complexes has the form
|
||||||
|
{\tt (TNSR-PRDC {\em chcm1} {\em chcm2})}.
|
||||||
|
The {\tt search-efhm} method applied to a tensor product, looks for the value of the
|
||||||
|
respective {\tt efhm} slots of the chain complexes {\em chcm1} and {\em chcm2}, (i.e. two homotopy equivalences) or tries
|
||||||
|
to settle these slots if they are still unbound.
|
||||||
|
Then it builds the tensor product of both homotopy equivalences, as shown in the following lisp listing. At its turn,
|
||||||
|
the resulting homotopy equivalence will become the value of the {\tt efhm} slot of the initial tensor product
|
||||||
|
chain complex.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(defmethod SEARCH-EFHM (chcm (orgn (eql 'tnsr-prdc)))
|
||||||
|
(declare (type chain-complex chcm))
|
||||||
|
(the homotopy-equivalence
|
||||||
|
(tnsr-prdc (efhm (second (orgn chcm)))
|
||||||
|
(efhm (third (orgn chcm))))))
|
||||||
|
|
||||||
|
(defmethod TNSR-PRDC ((hmeq1 homotopy-equivalence)
|
||||||
|
(hmeq2 homotopy-equivalence))
|
||||||
|
(the homotopy-equivalence
|
||||||
|
(build-hmeq
|
||||||
|
:lrdct (tnsr-prdc (lrdct hmeq1) (lrdct hmeq2))
|
||||||
|
:rrdct (tnsr-prdc (rrdct hmeq1) (rrdct hmeq2))
|
||||||
|
:orgn `(tnsr-prdc ,hmeq1 ,hmeq2))))
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\subsection* {Lisp file concerned in this chapter}
|
||||||
|
|
||||||
|
{\tt tensor-products.lisp}, {\tt searching-homology.lisp}.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
531
doc/doc_src/whithdoc.tex
Normal file
531
doc/doc_src/whithdoc.tex
Normal file
@ -0,0 +1,531 @@
|
|||||||
|
\chapter {Computing homotopy groups}
|
||||||
|
|
||||||
|
\section {Mathematical aspects}
|
||||||
|
|
||||||
|
The\index{computing homotopy groups} method used here to compute the homotopy groups is known as the {\bf Whitehead tower}.
|
||||||
|
We recall some mathematical points:
|
||||||
|
|
||||||
|
\subsection* {1) The Hurewicz theorem.}
|
||||||
|
|
||||||
|
{\bf Theorem.}
|
||||||
|
{\em Let X be a $1$--connected space such that all its homology groups $H_r(X)$ are null
|
||||||
|
for $0<r<n$, then $\pi_n(X)\simeq H_n(X)$.}
|
||||||
|
|
||||||
|
\subsection* {2) The properties of the classifying spaces.}
|
||||||
|
|
||||||
|
Let $X$ such that $\pi_r(X)=0$ for $0<r<n$. From now on, we shall denote $\pi_n(X)$ simply by $\pi$.
|
||||||
|
Let us consider the universal coefficients exact sequence:
|
||||||
|
$$ 0 \longrightarrow Ext(H_{n-1}(X), \pi) \longrightarrow H^n(X,\pi) \longrightarrow Hom(H_n(X),\pi) \longrightarrow 0.$$
|
||||||
|
Here $H_{n-1}(X)=0$, so that a canonical isomorphism is given:
|
||||||
|
$$H^n(X,\pi) \buildrel {\simeq} \over \longrightarrow Hom(H_n(X),\pi),$$
|
||||||
|
but $H_n(X) \simeq \pi$ and this gives us a canonical element $h \in H^n(X, \pi)$
|
||||||
|
which is the fundamental $n$--th cohomology class in this context. A cocycle $\chi$ representing $h$ is constructed as
|
||||||
|
follows. In the chain complex
|
||||||
|
$$ \cdots \rightarrow C_{n+1} \buildrel {d_{n+1}} \over \longrightarrow C_n
|
||||||
|
\buildrel {d_n} \over \longrightarrow C_{n-1} \longrightarrow \cdots,$$
|
||||||
|
the kernel $Z_n$ of $d_n$ is a summand of $C_n(X)$:
|
||||||
|
$$ C_n = Z_n \oplus S$$
|
||||||
|
and such a decomposition induces a projection $p:C_n(X) \longrightarrow Z_n$.
|
||||||
|
Finally, we have also the canonical projection $p':Z_n \longrightarrow H_n=\pi$.
|
||||||
|
Then, $\chi$ can be defined by $\chi = p' \circ p$ and $\chi$ {\em is a cocycle}. If another
|
||||||
|
$p$ is chosen, another $\chi$ is obtained but the cohomology class
|
||||||
|
is the same.
|
||||||
|
\par
|
||||||
|
Let us fix now a choice for the cocycle $\chi: C_n(X) \longrightarrow \pi$. This cocycle induces in turn
|
||||||
|
a simplicial map:
|
||||||
|
$$ \varphi_\chi: C_n(X) \longrightarrow K(\pi,n), $$
|
||||||
|
where $K(\pi,n)$ is the classifying group $K(\pi_n(X),n)$ of the group $\pi_n(X)=\pi$.
|
||||||
|
If $\chi'$ is another choice for the cocycle then $\varphi_{\chi'}$ is homotopic to $\varphi_\chi$.
|
||||||
|
We recall that the space $K(\pi,n)$ has the following properties:
|
||||||
|
\begin{enumerate}
|
||||||
|
\item $H_r(K(\pi,n))=0$ for $0 < r < n$,
|
||||||
|
\item $\pi_r(K(\pi,n))=0$ for $r \not= n$,
|
||||||
|
\item $\pi_n(K(\pi,n))=H_n(K(\pi,n)= \pi$.
|
||||||
|
\end{enumerate}
|
||||||
|
On the other hand, a canonical fibration of base space $K(\pi, n)$ and fibre space
|
||||||
|
$K(\pi, n-1)$ is deduced from a canonical twisting operator $$\tau: K(\pi, n) \longrightarrow K(\pi, n-1)$$
|
||||||
|
$$\diagram{
|
||||||
|
K(\pi, n-1) \cr
|
||||||
|
\downarrow \cr
|
||||||
|
K(\pi, n) \times_\tau K(\pi, n-1) \cr
|
||||||
|
\downarrow \cr
|
||||||
|
K(\pi,n) }
|
||||||
|
$$
|
||||||
|
|
||||||
|
So, if a simplicial map $\varphi_\chi: X \longrightarrow K(\pi,n)$ is given,
|
||||||
|
it is then possible to construct a fibration of base space $X$ and fibre space $K(\pi, n-1)$,
|
||||||
|
the twisting operator being then defined by: $\tau_\chi = \tau \circ \varphi_\chi $, according to the diagram:
|
||||||
|
$$\diagram{
|
||||||
|
K(\pi, n-1) & \buildrel {=} \over \longrightarrow & K(\pi, n-1) \cr
|
||||||
|
\downarrow & & \downarrow \cr
|
||||||
|
X'=X \times_{\tau_\chi} K(\pi, n-1) & \buildrel {\psi_\chi} \over \longrightarrow & K(\pi,n) \times_\tau K(\pi, n-1) \cr
|
||||||
|
\downarrow & & \downarrow \cr
|
||||||
|
X & \buildrel \varphi_\chi \over \longrightarrow & K(\pi,n) }
|
||||||
|
$$
|
||||||
|
|
||||||
|
\subsection* {3) The Serre exact sequence of the homotopy groups of fibrations.}
|
||||||
|
|
||||||
|
Let us consider the fibration
|
||||||
|
$$ F \quad \hookrightarrow\quad T=X \otimes_\tau F \hskip 1.2em \longrightarrow \hskip -1.2em \longrightarrow
|
||||||
|
\quad X,$$
|
||||||
|
The Serre exact sequence establishes a connection between the homotopy groups of the $3$ spaces,
|
||||||
|
in any dimension:
|
||||||
|
$$\cdots \longrightarrow \pi_{n+1}(F) \longrightarrow \pi_{n+1}(T) \longrightarrow \pi_{n+1}(X)
|
||||||
|
\longrightarrow \pi_n(F) \longrightarrow$$
|
||||||
|
$$\longrightarrow \pi_n(T) \longrightarrow \pi_n(X) \longrightarrow \pi_{n-1}(F) \longrightarrow \cdots $$
|
||||||
|
In our special case, where the fibration is:
|
||||||
|
$$ K(\pi, n-1) \quad \hookrightarrow\quad X' \hskip 1.2em \longrightarrow \hskip -1.2em \longrightarrow
|
||||||
|
\quad X,$$
|
||||||
|
the Serre sequence may be written:
|
||||||
|
$$\cdots \longrightarrow \pi_{n+1}(K(\pi, n-1)) \longrightarrow \pi_{n+1}(X') \longrightarrow \pi_{n+1}(X)
|
||||||
|
\longrightarrow $$
|
||||||
|
$$ \longrightarrow \pi_n(K(\pi, n-1)) \longrightarrow \pi_n(X') \longrightarrow \pi_n(X)
|
||||||
|
\longrightarrow \pi_{n-1}(K(\pi, n-1)) \longrightarrow 0. $$
|
||||||
|
But we know that $\pi_i(K(\pi,n))=0$ for $i \not= n$ and that $\pi_n(K(\pi, n))=\pi,$
|
||||||
|
so the exact sequence may be re-written:
|
||||||
|
$$ 0 \rightarrow \pi_{n+1}(X') \rightarrow \pi_{n+1}(X) \rightarrow 0 \rightarrow \pi_n(X')
|
||||||
|
\rightarrow \pi_n(X) \rightarrow \pi \rightarrow 0. $$
|
||||||
|
The subsequence:
|
||||||
|
$$ 0 \longrightarrow \pi_n(X') \longrightarrow \pi_n(X)
|
||||||
|
\longrightarrow \pi \longrightarrow 0. $$
|
||||||
|
is exact; furthermore, the cocycle $\chi$ is such that the connection morphism
|
||||||
|
$\partial: \pi_n(X) \rightarrow \pi$ is the identity; so that
|
||||||
|
we deduce that $ \pi_n (X')=0 $.
|
||||||
|
\par
|
||||||
|
On the other hand, from the exactness of the subsequence
|
||||||
|
$$ 0 \longrightarrow \pi_{n+1}(X') \longrightarrow \pi_{n+1}(X)
|
||||||
|
\longrightarrow 0 $$
|
||||||
|
we deduce that $ \pi_{n+1}(X') \simeq \pi_{n+1}(X)$
|
||||||
|
and more generally $ \pi_r(X') \simeq \pi_r(X)$ for $r \not= n.$
|
||||||
|
In particular, $\pi_r(X')=0$ for $r \leq n+1$ and the Hurewicz theorem gives again:
|
||||||
|
$$ H_{n+1}(X') \simeq \pi_{n+1}(X') \simeq \pi_{n+1}(X).$$
|
||||||
|
So, if we know how to compute $H_{n+1}(X')$ then we have obtained $\pi_{n+1}(X).$
|
||||||
|
|
||||||
|
\subsection* {4) The Whitehead tower}
|
||||||
|
|
||||||
|
Let\index{Whitehead tower} us denote for a reason which will be clear in a moment the space $X'$ by
|
||||||
|
$X^{(n+1)}$.
|
||||||
|
Due to the properties of $X^{(n+1)}$, we may iterate the process,
|
||||||
|
namely, build the following fibrations, where $\pi_{n+1}(X^{(n+1)})$ is denoted simply by
|
||||||
|
$\pi'$:
|
||||||
|
$$\diagram{
|
||||||
|
K(\pi', n) &\buildrel {=} \over \longrightarrow & K(\pi', n) \cr
|
||||||
|
\downarrow & & \downarrow \cr
|
||||||
|
X^{(n+2)}=X^{(n+1)} \times_{\tau_\chi} K(\pi', n) & \buildrel {\psi_\chi} \over \longrightarrow &
|
||||||
|
K(\pi',n+1) \times_\tau K(\pi', n) \cr
|
||||||
|
\downarrow & & \downarrow \cr
|
||||||
|
X^{(n+1)} & \buildrel \varphi_\chi \over \longrightarrow & K(\pi',n+1) }
|
||||||
|
$$
|
||||||
|
where $X^{(n+2)}= X^{(n+1)} \times_{\tau_\chi} K(\pi', n)$ has the property
|
||||||
|
$$H_{n+2}(X^{(n+2)}) \simeq \pi_{n+2}(X^{(n+2)}) \simeq \pi_{n+2}(X^{(n+1)}) \simeq \pi_{n+2}(X). $$
|
||||||
|
This construction is known as the Whitehead tower.
|
||||||
|
|
||||||
|
\section {The functions for computing homotopy groups}
|
||||||
|
|
||||||
|
\subsection* {An important remark}
|
||||||
|
|
||||||
|
In this version of Kenzo, only the case where the first non--null
|
||||||
|
homology group (in non--null dimension) is ${\Z}$ or ${\Z}/{2 {\Z}}$ can be processed; however if this
|
||||||
|
homology group is a direct sum of several copies of ${\Z}$ or ${\Z}/{2 {\Z}}$, then the corresponding
|
||||||
|
stage of the Whitehead tower may also be constructed step by step.
|
||||||
|
\vskip 0.35cm
|
||||||
|
{\parindent=0mm
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt chml-clss} {\em chcm first} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return a ``fundamental'' cohomology class, more precisely a cocycle $\chi$ defining it.
|
||||||
|
The first argument {\em chcm} must be a chain complex $C_*$ with effective homology; in particular,
|
||||||
|
an effective chain complex $EC_*$ is a by--product of the machine object $C_*$. The second argument ``{\em first}''
|
||||||
|
is an integer $n$, namely the first non--null dimension from which the chain complex
|
||||||
|
{\em chcm} has a non--null homology group, which {\bf must be isomorphic to ${\Z}$} or ${\Z}/{2 {\Z}}$.
|
||||||
|
The reader may be amazed that this argument ``{\em first}'' must be provided, since it is a consequence
|
||||||
|
of the given $C_*$. But in fact, the same function {\tt chml-class} may also be used in different contexts, for example,
|
||||||
|
the Postnikov tower; in such a case, the argument {\em first} is not redundant. The returned cocycle $\chi$
|
||||||
|
is in any case a chain complex morphism $\chi: EC_* \longrightarrow {\Z}$, where ${\Z}$ is the unit chain complex
|
||||||
|
created by the function {\tt z-chcm}. The degree of the morphism is $- n$.
|
||||||
|
It is important to note that the chain complex involved in the source of the morphism
|
||||||
|
is the {\bf effective} chain complex of the homotopy equivalence value of the slot {\tt efhm} of
|
||||||
|
the object {\em chcm}. See the section {\em The general method for computing homology} in the Homology chapter.
|
||||||
|
Finally, if $H_n(C_*)={\Z}/{2 {\Z}}$, the actual cohomology class hoped by the user is the composition
|
||||||
|
$p \circ \chi$, where $p$ is the canonical projection ${\Z} \longrightarrow {\Z}/{2 {\Z}}$. But nevertheless,
|
||||||
|
the {\tt chml-clss} lisp function returns $\chi$ and not $p \circ \chi$.
|
||||||
|
\par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt z-whitehead} {\em smst chml-clss} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return a fibration over the simplicial set {\em smst} (the first argument), canonically associated
|
||||||
|
to the ``cohomology class'' {\em chml-clss} (the second argument). The simplicial set $X$, i.e. {\em smst}, is
|
||||||
|
reduced; its homotopy groups $\pi_r(X)$ are null for $0 \leq r \leq n-1$. The first non null homotopy group
|
||||||
|
$\pi_n(X)$ is assumed to be ${\Z}$, i.e. $\pi_n(X)= H_n(X)= {\Z}$. The previous function {\tt chml-clss}, in
|
||||||
|
this situation, returns a cocycle $\chi$, which may be used as the second argument {\em chml-clss} of the function
|
||||||
|
{\tt z-whitehead}. The integer $n$ is determined by the absolute value of the degree of the
|
||||||
|
cohomology class {\em chcm-clss}. As explained in the previous section, a canonical fibration
|
||||||
|
is induced by $\chi$ and it is this fibration which is returned by {\tt z-whitehead}. The slot {\tt sintr} of the
|
||||||
|
fibration is set by the internal function {\tt z-whitehead-sintr} which builds
|
||||||
|
in an efficient way the lisp function implementing the twisting operator $\tau \circ \varphi_\chi$.
|
||||||
|
\par}
|
||||||
|
{\leftskip=5mm
|
||||||
|
{\tt z2-whitehead} {\em smst chcm-clss} \hfill {\em [Function]} \par}
|
||||||
|
{\leftskip=15mm
|
||||||
|
Return a fibration over the simplicial set {\em smst} (the first argument), canonically associated
|
||||||
|
to the ``cohomology class'' {\em chml-clss} (the second argument). The simplicial set $X$, i.e. {\em smst}, is
|
||||||
|
reduced; its homotopy groups $\pi_r(X)$ are null for $0 \leq r \leq n-1$. The first non null homotopy group
|
||||||
|
$\pi_n(X)$ is assumed to be ${\Z}/2{\Z}$, i.e. $\pi_n(X)= H_n(X)= {\Z}/2{\Z}$. The previous function {\tt chml-clss}, in
|
||||||
|
this situation, returns a ``cocycle'' $\chi$, which may be used as the second argument {\em chml-clss} of the function
|
||||||
|
{\tt z2-whitehead}. The integer $n$ is determined by the absolute value of the degree of the
|
||||||
|
cohomology class {\em chcm-clss}. In this ${\Z}/2{\Z}$ case, $\chi$ is even not a cocycle. The actual cocycle is
|
||||||
|
obtained by the composition $p \circ \chi$, $p$ being the canonical projection
|
||||||
|
${\Z} \longrightarrow {\Z}/{2 {\Z}}$. But the user is not concerned by these technicalities, because the function
|
||||||
|
{\tt z2-whitehead} makes itself the necessary conversion. The slot {\tt sintr} of the
|
||||||
|
fibration is set by the internal function {\tt z2-whitehead-sintr} which builds
|
||||||
|
in an efficient way the lisp function implementing the twisting operator $\tau \circ \varphi_\chi$.
|
||||||
|
\par}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection* {Examples}
|
||||||
|
|
||||||
|
Let us retrieve some known facts about $S^3$, in particular $\pi_4(S^3) \simeq {\Z}/{2 {\Z}}$.
|
||||||
|
We follow the theoritical method exposed above, namely build the fibration
|
||||||
|
$$ K({\Z},2) \quad \hookrightarrow\quad S^3 \times_{\tau_\chi} K({\Z},2) \hskip 1.2em
|
||||||
|
\longrightarrow \hskip -1.2em \longrightarrow \quad S^3,$$
|
||||||
|
and get the homology group in dimension $4$ of the total space.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf s3 (sphere 3)) ==>
|
||||||
|
|
||||||
|
[K1 Simplicial-Set]
|
||||||
|
|
||||||
|
(homology s3 0 4) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
(setf s3-chml-clss (chml-clss s3 3)) ==>
|
||||||
|
|
||||||
|
[K12 Cohomology-Class (degree 3)]
|
||||||
|
|
||||||
|
(setf s3-fibr (z-whitehead s3 s3-chml-clss)) ==>
|
||||||
|
|
||||||
|
[K37 Fibration]
|
||||||
|
|
||||||
|
(setf s3-total (fibration-total s3-fibr)) ==>
|
||||||
|
|
||||||
|
[K43 Simplicial-Set]
|
||||||
|
|
||||||
|
(homology s3-total 0 6)
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
Let us show a similar example with the space $Moore(2,4)$. As $H_4 \simeq {\Z}/{2 {\Z}}$, the function
|
||||||
|
for building the fibration is {\tt z2-whitehead}.
|
||||||
|
We verify that $\pi_5(Moore(2,4))\simeq {\Z}/{2 {\Z}}$
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf m24 (moore 2 4)) ==>
|
||||||
|
|
||||||
|
[K1 Simplicial-Set]
|
||||||
|
|
||||||
|
(show-structure m24 6) ==>
|
||||||
|
|
||||||
|
Dimension = 0 :
|
||||||
|
|
||||||
|
Vertices : (*)
|
||||||
|
|
||||||
|
Dimension = 1 :
|
||||||
|
|
||||||
|
Dimension = 2 :
|
||||||
|
|
||||||
|
Dimension = 3 :
|
||||||
|
|
||||||
|
Dimension = 4 :
|
||||||
|
|
||||||
|
Simplex : M4
|
||||||
|
|
||||||
|
Faces : (<AbSm 2-1-0 *> <AbSm 2-1-0 *> <AbSm 2-1-0 *>
|
||||||
|
<AbSm 2-1-0 *> <AbSm 2-1-0 *>)
|
||||||
|
Dimension = 5 :
|
||||||
|
|
||||||
|
Simplex : N5
|
||||||
|
|
||||||
|
Faces : (<AbSm - M4> <AbSm 3-2-1-0 *> <AbSm - M4> <AbSm 3-2-1-0 *>
|
||||||
|
<AbSm 3-2-1-0 *> <AbSm 3-2-1-0 *>)
|
||||||
|
|
||||||
|
Dimension = 6 :
|
||||||
|
|
||||||
|
NIL
|
||||||
|
|
||||||
|
(homology m24 0 5) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
(setf m24-chml-clss (chml-clss m24 4)) ==>
|
||||||
|
|
||||||
|
[K12 Cohomology-Class (degree 4)]
|
||||||
|
|
||||||
|
(setf m24-fibr (z2-whitehead m24 m24-chml-clss)) ==>
|
||||||
|
|
||||||
|
[K49 Fibration]
|
||||||
|
|
||||||
|
(setf m24-total (fibration-total m24-fibr)) ==>
|
||||||
|
|
||||||
|
[K55 Simplicial-Set]
|
||||||
|
|
||||||
|
(homology m24-total 0 6) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
We may even verify that, up to $9$, the homotopy groups of the classifying group $K({\Z},5)$, for instance,
|
||||||
|
are null except $\pi_5$. This is a far-fetched method to verify this well known result, but
|
||||||
|
it proves that the software is coherent.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf k5 (k-z 5)) ==>
|
||||||
|
|
||||||
|
[K49 Abelian-Simplicial-Group]
|
||||||
|
|
||||||
|
(setf k5-chml-clss (chml-clss k5 5)) ==>
|
||||||
|
|
||||||
|
[K576 Cohomology-Class (degree 5)]
|
||||||
|
|
||||||
|
(setf k5-fibr (z-whitehead k5 k5-chml-clss)) ==>
|
||||||
|
|
||||||
|
[K579 Fibration]
|
||||||
|
|
||||||
|
(setf k5-total (fibration-total k5-fibr)) ==>
|
||||||
|
|
||||||
|
[K580 Kan-Simplicial-Set]
|
||||||
|
|
||||||
|
(homology k5-total 0 10) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Homology in dimension 6 :
|
||||||
|
|
||||||
|
Homology in dimension 7 :
|
||||||
|
|
||||||
|
Homology in dimension 8 :
|
||||||
|
|
||||||
|
Homology in dimension 9 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
Let us show now the iteration of the process, to get for instance
|
||||||
|
$\pi_5(S^3)$ and $\pi_6(S^3)$:
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf s3 (sphere 3)) ==>
|
||||||
|
|
||||||
|
[K1 Simplicial-Set]
|
||||||
|
|
||||||
|
(setf s3-chml-clss (chml-clss s3 3)) ==>
|
||||||
|
|
||||||
|
[K12 Cohomology-Class (degree 3)]
|
||||||
|
|
||||||
|
(setf s3-fibration (z-whitehead s3 s3-chml-clss)) ==>
|
||||||
|
|
||||||
|
[K37 Fibration]
|
||||||
|
|
||||||
|
(setf s3-4 (fibration-total s3-fibration)) ==>
|
||||||
|
|
||||||
|
[K43 Simplicial-Set]
|
||||||
|
|
||||||
|
(homology s3-4 4) ==>
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
(setf s3-4-chml-clss (chml-clss s3-4 4)) ==>
|
||||||
|
|
||||||
|
[K253 Cohomology-Class (degree 4)]
|
||||||
|
|
||||||
|
(setf s3-4-fibration (z2-whitehead s3-4 s3-4-chml-clss)) ==>
|
||||||
|
|
||||||
|
[K292 Fibration]
|
||||||
|
|
||||||
|
(setf s3-5 (fibration-total s3-4-fibration)) ==>
|
||||||
|
|
||||||
|
[K298 Simplicial-Set]
|
||||||
|
|
||||||
|
(homology s3-5 5) ==>
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
---done---
|
||||||
|
|
||||||
|
(setf s3-5-chml-clss (chml-clss s3-5 5)) ==>
|
||||||
|
|
||||||
|
[K609 Cohomology-Class (degree 5)]
|
||||||
|
|
||||||
|
(setf s3-5-fibration (z2-whitehead s3-5 s3-5-chml-clss)) ==>
|
||||||
|
|
||||||
|
[K624 Fibration]
|
||||||
|
|
||||||
|
(setf s3-6 (fibration-total s3-5-fibration)) ==>
|
||||||
|
|
||||||
|
[K630 Simplicial-Set]
|
||||||
|
|
||||||
|
(homology s3-6 6) ==>
|
||||||
|
|
||||||
|
Component Z/12Z
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
An interesting example is given by the real projective space $P^\infty{\R}/P^1{\R}$ which may be built in
|
||||||
|
{\tt Kenzo} by the function {\tt r-proj-space}. We list its first homotopy groups.
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf x (r-proj-space 2)) ==>
|
||||||
|
|
||||||
|
[K1 Simplicial-Set]
|
||||||
|
|
||||||
|
(homology x 0 10) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 6 :
|
||||||
|
|
||||||
|
Homology in dimension 7 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
Homology in dimension 8 :
|
||||||
|
|
||||||
|
Homology in dimension 9 :
|
||||||
|
|
||||||
|
Component Z/2Z
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
Using the machinery described in this chapter, we find that the total space of the fibration
|
||||||
|
has the same homology groups as $S^3$. It has been effectively proved that this space is homotopic
|
||||||
|
to $S^3$.
|
||||||
|
|
||||||
|
{\footnotesize\begin{verbatim}
|
||||||
|
(setf ch (chml-clss x 2)) ==>
|
||||||
|
|
||||||
|
[K12 Cohomology-Class (degree 2)]
|
||||||
|
|
||||||
|
(setf f2 (z-whitehead x ch)) ==>
|
||||||
|
|
||||||
|
[K25 Fibration]
|
||||||
|
|
||||||
|
(setf x3 (fibration-total f2)) ==>
|
||||||
|
|
||||||
|
[K31 Simplicial-Set]
|
||||||
|
|
||||||
|
(homology x3 0 10) ==>
|
||||||
|
|
||||||
|
Homology in dimension 0 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 1 :
|
||||||
|
|
||||||
|
Homology in dimension 2 :
|
||||||
|
|
||||||
|
Homology in dimension 3 :
|
||||||
|
|
||||||
|
Component Z
|
||||||
|
|
||||||
|
Homology in dimension 4 :
|
||||||
|
|
||||||
|
Homology in dimension 5 :
|
||||||
|
|
||||||
|
Homology in dimension 6 :
|
||||||
|
|
||||||
|
Homology in dimension 7 :
|
||||||
|
|
||||||
|
---done---
|
||||||
|
\end{verbatim}}
|
||||||
|
|
||||||
|
\subsection* {Lisp files concerned in this chapter}
|
||||||
|
|
||||||
|
{\tt whitehead.lisp}, {\tt smith.lisp}.
|
||||||
Loading…
Reference in New Issue
Block a user