%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 . %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \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}