%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%    pst-coxeter_parameter\pst-coxeterp_doc.tex
%    Authors:      J.-G. Luque and M. Luque
%    Purpose:      Documentation for the library pst-coxcoor
%    Created:      02/02/2008
%    License:      LGPL
%    Project:      PST-Cox V1.00
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Copyright © 2008 Jean-Gabriel Luque, Manuel Luque.
% This work may be distributed and/or modified  under the condition of
% the Lesser GPL.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% This file is part of PST-Cox V1.00.
%
%    PST-Cox V1.00 is free software: you can redistribute it and/or modify
%    it under the terms of the Lesser GNU General Public License as published by
%    the Free Software Foundation, either version 3 of the License, or
%    (at your option) any later version.
%
%    PST-Cox V1.00 is distributed in the hope that it will be useful,
%    but WITHOUT ANY WARRANTY; without even the implied warranty of
%    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%    Lesser GNU General Public License for more details.
%
%    You should have received a copy of the Lesser GNU General Public License
%    along with PST-Cox V1.00.  If not, see <http://www.gnu.org/licenses/>.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[a4paper]{article}
\usepackage[latin1]{inputenc}%
\usepackage[margin=2cm]{geometry}
\usepackage{pst-coxeterp}
\usepackage{multido}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{graphics}
% d\'emonstration
% JG Luque 12 août 2003
\newtheorem{example}{Example}[section]
\newcount\ChoicePolytope
\def\C{{\mathbb C}}

\title{The Library {\tt pst-coxeterp}}
\author{Jean-Gabriel \textsc{Luque}\footnote{Universit\'e Paris-Est, Laboratoire d'informatique
de l'Institut-Gaspard Monge, Jean-Gabriel.Luque@univ-mlv.fr}  and
Manuel
 \textsc{Luque}\footnote{mluque5130@aol.com}}
\begin{document}
\maketitle
 \begin{abstract}
 We describe the {\tt LaTex} library {\tt pst-coxeterp} devoted to
 draw regular complex polytopes belonging in the infinite series.
 \end{abstract}
 \section{Introduction}
 Inspired by the dissertation of G.C. Shephard \cite{Sh}, Coxeter
 toke twenty years to write his most famous book {\em Regular Complex Polytopes} \cite{Cox}. But its
 interest for the polytope dates from the beginning of his career as
 shown his numerous publications on the subject (reader can refer to
 \cite{Reg} or \cite{Kalei}). According to the preface of
 \cite{Cox}, the term of complex polytopes is due to D.M.Y.
 Sommerville \cite{Som}. A complex polytope may have more than two
 vertices on an edge (and in particular the polygons may have more
 than two edges at a vertice). It is a finite set of flags of subspaces in $\C^n$
 with certain constraints
  which will be not explain here \footnote{For a precise
  definition, see \cite{Cox} Ch12}.
  In fact, a complex polytope can be generated  from one vertice by a finite number of pseudo-reflections.
 More precisely, as for the classical solids, it
 can be constructed from an arrangement of mirrors,
 considering a point in the intersection of all but one the mirrors
 and computing the orbit of this point by the pseudo-reflections generated by the mirrors. In the
 case of the real polytopes, one uses classical reflections which are
 involutions. It is not the case for general complex polytopes, since
 a reflection may include a component which is a rotation.
The classification of the complex polytopes is due to G.C. Shephard
\cite{Sh} and is closely related to the classification of the
complex unitary reflection groups \cite{ST}. This classification
includes four infinite series of polytopes: the well-known real
polygons (including the starry polygon) which have two parameters,
the series of simplices (triangle, tetrahedron, pentatope, sextatope
etc...) which have only one parameter, the dimension and to
reciprocal series $\gamma_n^p$ and $\beta_n^p$. The library
described here is a {\tt LaTex} package for drawing the polytopes of
these infinite series.
\section{Install {\tt pst-coxeterp}}
The package contains two files: A latex style file {\tt
pst-coxeterp.sty} which call the latex file {\tt pst-coxeterp.tex}
containing the description of the macros. The installation is very
simple. It suffices to copy the files {\tt pst-coxeterp.sty} and
{\tt pst-coxeterp.tex} in the appropriate directories.
\begin{example}\rm
The file {\tt pst-coxeterp.sty} may be copy in the directory \\ {\tt
c:/texmf/tex/latex/pst-coxeterp},\\
 the file {\tt pst-coxeterp.tex} in\\
{\tt c:/texmf/tex/generic/pst-coxeterp}
\end{example}
To use the package add the code
\begin{verbatim}
\usepackage{pst-coxeterp}
%\end{verbatim}
in the beginning of your LaTex-file.
\begin{example}\rm
\begin{verbatim}
\documentclass[a4paper]{article}
...
\usepackage{pst-coxeterp}
....
\end{verbatim}
\end{example}
The library needs the packages {\tt PSTrick} and {\tt pst-xkey}.%

\section{The different families}
This library contains six macros for drawing polytopes belonging in
a infinite series.\\
The first macro, {\tt Polygon}, draws real (starry or not) polygon.
The polygon is defined by two parameters {\tt P} and {\tt Q} which
defines the angle $2\frac QP\Pi $ between the segment from the
center to the first vertices and the segment from the center to the
second vertices. By default the value of {\tt Q} is $1$.
\begin{example}
\begin{pspicture}(-2,-2)(2,2)
\Polygon[P=11,Q=1] %
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
\Polygon[P=11,Q=3]
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
 \Polygon[P=11,Q=4]
\end{pspicture}
\begin{verbatim}
\begin{pspicture}(-2,-2)(2,2)
\Polygon[P=11,Q=1] %
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
\Polygon[P=11,Q=3]
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
 \Polygon[P=11,Q=4]
\end{pspicture}
\end{verbatim}
\end{example}

The macro {\tt Simplex} draws simplices in dimension $n$. The
simplices are the real polytopes whose automorphism groups are the
symmetric groups. The dimension of the polytope can be chosen using
the parameter {\tt dimension}.
\begin{example}
\begin{pspicture}(-2,-2)(2,2)
\Simplex[dimension=2] %
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
\Simplex[dimension=3]
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
 \Simplex[dimension=5]
\end{pspicture}
\begin{verbatim}
\begin{pspicture}(-2,-2)(2,2)
\Simplex[dimension=2] %
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
\Simplex[dimension=3]
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
 \Simplex[dimension=5]
\end{pspicture}
\end{verbatim}
\end{example}

The  polytopes $\gamma_n^p$ forms a two parameters family which
contains as special case the hypercubes.  The parameter $n$ is the
dimension of the polytope and the parameter $p$ is the number of
vertices per edge. Use the macro {\tt gammapn} and the parameters
{\tt dimension} and {\tt P} to chose the characteristics of the
polytope.
\begin{example}
\begin{pspicture}(-2,-2)(2,2)
\gammapn[dimension=2,P=4] %
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
\gammapn[dimension=3,P=3,unit=0.7cm]
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
 \gammapn[dimension=5,P=2,unit=0.55cm]
\end{pspicture}
\begin{verbatim}
\begin{pspicture}(-2,-2)(2,2)
\gammapn[dimension=2,P=4] %
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
\gammapn[dimension=3,P=3,unit=0.7cm]
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
 \gammapn[dimension=5,P=2,unit=0.55cm]
\end{pspicture}
\end{verbatim}
\end{example}

The  polytopes $\beta_n^p$ forms a two parameters family which
contains as special case the hyperoctahedra.  The parameter $n$ is
the dimension of the polytope and the parameter $p$ is the number of
cells of dimension $n-1$ containing a cell of dimension $n-2$. Use
the macro {\tt betapn} and the parameters {\tt dimension} and {\tt
P} to chose the characteristics of the polytope.
\begin{example}
\begin{pspicture}(-2,-2)(2,2)
\betapn[dimension=2,P=4] %
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
\betapn[dimension=3,P=3]
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
 \betapn[dimension=5,P=2]
\end{pspicture}
\begin{verbatim}
\begin{pspicture}(-2,-2)(2,2)
\betapn[dimension=2,P=4] %
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
\betapn[dimension=3,P=3]
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
 \betapn[dimension=5,P=2]
\end{pspicture}
\end{verbatim}
\end{example}

The macro {\tt gammaptwo} draw the regular complex polytope
$\gamma_2^p$ which is a special case of  $\gamma_n^p$ for an other
projection. Use the parameter {\tt P} for setting the number of
vertices by edge.
\begin{example}
\begin{pspicture}(-2,-2)(2,2)
\gammaptwo[P=3] %
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
\gammaptwo[P=4]
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
 \gammaptwo[P=5]
\end{pspicture}
\begin{verbatim}
\begin{pspicture}(-2,-2)(2,2)
\gammaptwo[P=3] %
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
\gammaptwo[P=4]
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
 \gammaptwo[P=5]
\end{pspicture}
\end{verbatim}
\end{example}

The macro {\tt betaptwo} draw the regular complex polytope
$\beta_2^p$ which is a special case of  $\beta_n^p$ for an other
projection (the same than for {\tt gammaptwo}). Use the parameter
{\tt P} for setting the number of vertices by edge.
\begin{example}
\begin{pspicture}(-2,-2)(2,2)
\betaptwo[P=3] %
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
\betaptwo[P=4]
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
 \betaptwo[P=5]
\end{pspicture}
\begin{verbatim}
\begin{pspicture}(-2,-2)(2,2)
\betaptwo[P=3] %
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
\betaptwo[P=4]
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
 \betaptwo[P=5]
\end{pspicture}
\end{verbatim}
\end{example}

\section{Graphical parameters}
\subsection{The components of a polytope}
 The library {\tt pst-coxeterrep.sty} contains  macros for
drawing the vertices, the edges and the centers of the edges of
polytopes of the infinite series of regular complex polytopes.

It is possible to choice which components of the polytope will be
drawn. It suffices to use the boolean parameters {\tt drawedges},
{\tt drawvertices} and  {\tt drawcenters}.

 By default the values of the parameters {\tt
drawedges}, {\tt drawvertices}, {\tt drawcenters} are set to {\tt
true}.
\begin{example}
\rm
\[
\begin{pspicture}(-2,-2)(2,2)
\Polygon[P=5,Q=2,drawcenters=false] %
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
\Simplex[dimension=3,drawvertices=false] %
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
\psset{unit=0.5}
 \gammapn[P=4,dimension=4,drawedges=false]
\end{pspicture}
\]
\begin{verbatim}
\begin{pspicture}(-2,-2)(2,2)
\Polygon[P=5,Q=2,drawcenters=false] %
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
\Simplex[dimension=3,drawvertices=false] %
\end{pspicture}
\begin{pspicture}(-2,-2)(2,2)
\psset{unit=0.5}
 \gammapn[P=4,dimension=4,drawedges=false]
\end{pspicture}\end{verbatim}
\end{example}
\section{Graphical properties}
It is possible to change the graphical characteristics of a
polytope.\\
The size of the polytope depends on the parameter {\tt unit}.
\begin{example}
\rm
 \[
  \begin{pspicture}(-1,-1)(1,1)
\gammaptwo[P=4,unit=0.5cm] %
\end{pspicture}
 \begin{pspicture}(-2,-2)(2,2)
\gammaptwo[P=4,unit=1cm] %
\end{pspicture}
 \begin{pspicture}(-4,-4)(4,4)
\gammaptwo[P=4,unit=2cm] %
\end{pspicture}
\]
\begin{verbatim}
 \begin{pspicture}(-1,-1)(1,1)
\gammaptwo[P=4,unit=0.5cm] %
\end{pspicture}
 \begin{pspicture}(-2,-2)(2,2)
\gammaptwo[P=4,unit=1cm] %
\end{pspicture}
 \begin{pspicture}(-4,-4)(4,4)
\gammaptwo[P=4,unit=2cm] %
\end{pspicture}
\end{verbatim}
\end{example}
Classically, one can modify the color and the width of the edges
using the parameter {\tt linecolor} and {\tt linewidth}.
\begin{example}
\rm
 \[
\begin{pspicture}(-2,-2)(2,2)
\psset{unit=0.8,linewidth=0.01,linecolor=red}
\betaptwo[P=5] %
\end{pspicture}
 \begin{pspicture}(-2,-2)(2,2)
\betaptwo[P=5] %
\end{pspicture}
\]
\begin{verbatim}
\begin{pspicture}(-2,-2)(2,2)
\psset{unit=0.8,linewidth=0.01,linecolor=red}
\betaptwo[P=5] %
\end{pspicture}
 \begin{pspicture}(-2,-2)(2,2)
\betaptwo[P=5] %
\end{pspicture}
\end{verbatim}
\end{example}
The color, the style and the size of the vertices can be modify
using the parameters {\tt colorVertices}, {\tt styleVertices} and
{\tt sizeVertices}. The style of the vertices can be chosen in the
classical dot styles.
\begin{example}
\rm
 \[
\begin{pspicture}(-2,-2)(2,2)
\psset{unit=1.5cm,colorVertices=blue,styleVertices=pentagon,sizeVertices=0.2}
\betapn[P=5,dimension=4] %
\end{pspicture}
 \begin{pspicture}(-2,-2)(2,2)
\psset{unit=1.5cm,colorVertices=magenta,sizeVertices=0.1,styleVertices=triangle} %
\betapn[P=5,dimension=4]
\end{pspicture}
 \begin{pspicture}(-2,-2)(2,2)
\psset{unit=1.5cm,colorVertices=red,styleVertices=+,sizeVertices=0.2} %
\betapn[P=5,dimension=4]
\end{pspicture}
\]
\begin{verbatim}
\begin{pspicture}(-2,-2)(2,2)
\psset{unit=1.5cm,colorVertices=blue,styleVertices=pentagon,sizeVertices=0.2}
\betapn[P=5,dimension=4] %
\end{pspicture}
 \begin{pspicture}(-2,-2)(2,2)
\psset{unit=1.5cm,colorVertices=magenta,sizeVertices=0.1,styleVertices=triangle} %
\betapn[P=5,dimension=4]
\end{pspicture}
 \begin{pspicture}(-2,-2)(2,2)
\psset{unit=1.5cm,colorVertices=red,styleVertices=+,sizeVertices=0.2} %
\betapn[P=5,dimension=4]
\end{pspicture}
\end{verbatim}
\end{example}
The color, the style and the size of the centers of the edges can be
modify using the parameters {\tt colorCenters}, {\tt styleCenters}
and {\tt sizeCenters}.
\begin{example}
\rm
 \[
\begin{pspicture}(-2,-2)(2,2)
\psset{unit=0.5cm,colorCenters=blue,styleCenters=pentagon,sizeCenters=0.2} %
\gammapn[P=5,dimension=4] %
\end{pspicture}
 \begin{pspicture}(-2,-2)(2,2)
\psset{unit=0.5cm,colorCenters=magenta,sizeCenters=0.1,styleCenters=triangle} %
\gammapn[P=5,dimension=4] %
\end{pspicture}
 \begin{pspicture}(-2,-2)(2,2)
\psset{unit=0.5cm,colorCenters=red,styleCenters=+,sizeCenters=0.2} %
\gammapn[P=5,dimension=4] %
\end{pspicture}
\]
\begin{verbatim}
\begin{pspicture}(-2,-2)(2,2)
\psset{unit=0.5cm,colorCenters=blue,styleCenters=pentagon,sizeCenters=0.2} %
\gammapn[P=5,dimension=4] %
\end{pspicture}
 \begin{pspicture}(-2,-2)(2,2)
\psset{unit=0.5cm,colorCenters=magenta,sizeCenters=0.1,styleCenters=triangle} %
\gammapn[P=5,dimension=4] %
\end{pspicture}
 \begin{pspicture}(-2,-2)(2,2)
\psset{unit=0.5cm,colorCenters=red,styleCenters=+,sizeCenters=0.2} %
\gammapn[P=5,dimension=4] %
\end{pspicture}
\end{verbatim}
\end{example}

 \begin{thebibliography}{ABC}

\bibitem{Reg} H. S. M. Coxeter, {\em Regular polytopes}, Third
Edition, Dover Publication Inc., New-York, 1973.
%
\bibitem{Cox}
H. S. M. Coxeter, {\em Regular Complex Polytopes}, Second Edition,
Cambridge University Press, 1991 .
%
\bibitem{Kalei}
 H.S.M. Coxeter, {\em Kaleidoscopes, selected writing of H.S.M.
 Coxeter by F.A. Sherk, P. McMullen, A.C. Thompson, A. Ivi\'c Weiss}, Canadian Mathematical Society Series of Monographs and
 Advanced texts, Published in conjunction with the fiftieth anniversary of
 the canadian mathematical society, J. M. Borwein and P. B. Borwein
 Ed., A Wiley-Interscience publication, 1995.
%
\bibitem{Sh} G.C. Shephard, {\em Regular Complex Polytopes},
Proceeding of the London Mathermatical Society (3), 2 82-97.
%
\bibitem{ST} G.C. Shephard and J.A. Todd, {\it Finite unitary
reflection groups}, Canadian Journal of Mathematics 6, 274-304,
1954.
%
\bibitem{Som} M.Y. Sommerville, {\it Geometry of $n$ dimension},
Methuen, Lodon, 1929.
\end{thebibliography}

 \end{document}
