%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % polygonesCoordinate\pst-coxcoor_doc.tex % 7 Authors: J.-G. Luque and M. Luque % 8 Purpose: Documentation for pst-coxcoor % 9 Created: 02/02/2008 % 10 License: LGPL % 11 Project: PST-Cox V1.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % polygonesCoordinate\Gallery.tex % Authors: J.-G. Luque and M. Luque % Purpose: Demonstration of 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-coxcoor} \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-coxcoor}} \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-coxcoor} devoted to draw regular complex polytopes. \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 developed 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}. Many of these groups are fundamental in geometry. For example, the polytope Hessian is a $3$-dimensional polytope whose symmetry group is generated by $3$ pseudo-reflections $s_1$, $s_2$ and $s_3$ verifying $s_1^3=s_2^3=s_3^3=Id$, $s_1s_2s_1=s_2s_1s_2$, $s_2s_3s_2=s_3s_2s_3$ and $s_1s_3=s_3s_1$ and which is related to the determination of the nine inflection points of a cubic curve and the 27 lines in a cubic plane.\\ The library described here is a {\tt LaTex} package for drawing two dimensional projections of regular complex polytopes. The coordinates of the vertices, edges, faces... of the projections have been pre-calculated using a formal computer system.\\ The polytopes considered are exceptional polytopes, for drawing infinite series use the package {\it pst-coxeterp}.\\ Note that this package have already been used by one of the author to illustrate an article \cite{qutrit} in collaboration with E. Briand, J.-Y. Thibon and F. Verstraete and in his ``{\it habilitation \`a diriger les recherches}'' \cite{Luque}. \section{Install {\tt pst-coxcoor}} The package contains three files: A latex style file {\tt pst-coxcoor.sty} which call the latex file {\tt pst-coxcoor.tex} containing the description of the macro {\tt $\setminus$CoxeterCoordinates} and a data file {\tt pst-coxcoor.pro} which contains the list of the coordinates of each polytope.\\ The installation is very simple. It suffices to copy the files {\tt pst-coxcoor.sty}, {\tt pst-coxcoor.tex} and\\ {\tt pst-coxcoor.pro} in the appropriate directories. \begin{example}\rm The file {\tt pst-coxcoor.sty} may be copy in the directory \\ {\tt c:/texmf/tex/latex/pst-coxcoor},\\ the file {\tt pst-coxcoor.tex} in\\ {\tt c:/texmf/tex/generic/pst-coxcoor}\\ and the file {\tt pst-coxcoor.pro} in\\ {\tt c:/texmf/tex/dvips/pst-coxcoor}. \end{example} To use the package add the code \begin{verbatim} \usepackage{pst-coxcoor}} \end{verbatim} in the beginning of your LaTex-file. \begin{example}\rm \begin{verbatim} \documentclass[a4paper]{article} ... \usepackage{pst-coxcoor} .... \end{verbatim} \end{example} The library needs the packages {\tt PSTrick} and {\tt pst-xkey}. \section{Characteristics of the polytopes} The polytope considered here are two, three or four ($\C$)-dimensional objects which generalizes the classical platonic solids. They are constituted of vertices, edges, faces and cells (four dimensional faces). The package contains only one macro {\tt $\setminus$CoxeterCoordinates} which draws the vertices, the edges, the centers of the edges\footnote{In general, for a complex polytope, the edges are polygonal.}, the centers of the faces and the centers of the cells. All the coordinates of the polytopes have been pre-computed and stored in the file {\tt pst-coxcoor.pro}. \subsection{List of the polytopes} The parameter {\tt ichoice} contains the number identifying the polytope. \begin{example} \rm Setting {\tt choice=9} makes the macro draw the (3 dimensional) Hessian polytope which has $27$ vertices, $72$ triangular edges and $27$ faces. \[ \begin{pspicture}(-4,-4)(4,4) \psset{unit=1.5cm,linewidth=0.01mm} \CoxeterCoordinates[choice=9] % \end{pspicture} \] \begin{verbatim} \begin{pspicture}(-4,-4)(4,4) \psset{unit=1.5cm,linewidth=0.01mm} \CoxeterCoordinates[choice=9] % \end{pspicture} \end{verbatim} \end{example} There is $80$ pre-calculated polytopes in the file {\tt pst-coxcoor.pro}. Almost all the complex regular polytopes up to the dimension four have been computed. Only some starry polytopes in dimension $4$ are not in the list. The following tableau contains the list of the polytopes with their names in the notation of Coxeter \cite{Cox}. \[ \begin{array}{|c|c|c|} \hline 2\{3\}3&3\{3\}3&3\{3\}3\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm,linewidth=0.01mm} \CoxeterCoordinates[choice=1] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm,linewidth=0.01mm} \CoxeterCoordinates[choice=2] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm,linewidth=0.01mm} \CoxeterCoordinates[choice=3] % \end{pspicture}\\\hline {\tt choice=1}&{\tt choice=2}&{\tt choice=3}\\\hline \end{array}\] %%%% \[ \begin{array}{|c|c|c|}\hline 3\{4\}2&3\{4\}4&3\{4\}3\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.8cm,linewidth=0.01mm} \CoxeterCoordinates[choice=4] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.6cm,linewidth=0.01mm} \CoxeterCoordinates[choice=5] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm,linewidth=0.01mm} \CoxeterCoordinates[choice=6] % \end{pspicture}\\\hline {\tt choice=4}&{\tt choice=5}&{\tt choice=6}\\\hline %%%% \end{array}\] %%%% \[ \begin{array}{|c|c|c|}\hline 4\{3\}4&2\{4\}3\{3\}3&3\{3\}3\{3\}3\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm,linewidth=0.01mm} \CoxeterCoordinates[choice=7] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.8cm,linewidth=0.01mm} \CoxeterCoordinates[choice=8] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm,linewidth=0.01mm} \CoxeterCoordinates[choice=9] % \end{pspicture}\\\hline {\tt choice=7}&{\tt choice=8}&{\tt choice=9}\\\hline \end{array} \] %%% \[ \begin{array}{|c|c|c|}\hline 3\{3\}3\{4\}2&3\{3\}3\{3\}3\{3\}3&3\{8\}2\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm,linewidth=0.01mm} \CoxeterCoordinates[choice=10] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.6cm,linewidth=0.01mm} \CoxeterCoordinates[choice=11,drawcenters=false] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=0.4cm,linewidth=0.01mm} \CoxeterCoordinates[choice=12] % \end{pspicture}\\\hline {\tt choice=10}&{\tt choice=11}&{\tt choice=12}\\\hline \end{array} \] %%%% %%%% \[ \begin{array}{|c|c|c|}\hline 2\{8\}3&3\{5\}3&4\{4\}3\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.4cm,linewidth=0.01mm} \CoxeterCoordinates[choice=13] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.6cm,linewidth=0.01mm} \CoxeterCoordinates[choice=14] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm,linewidth=0.01mm} \CoxeterCoordinates[choice=15] % \end{pspicture}\\\hline {\tt choice=13}&{\tt choice=14}&{\tt choice=15}\\\hline \end{array} \] %%% %%% \[ \begin{array}{|c|c|c|}\hline 4\{3\}2&2\{3\}4&2\{6\}4\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm,linewidth=0.01mm} \CoxeterCoordinates[choice=16] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.6cm,linewidth=0.01mm} \CoxeterCoordinates[choice=17] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm,linewidth=0.01mm} \CoxeterCoordinates[choice=18] % \end{pspicture}\\\hline {\tt choice=16}&{\tt choice=17}&{\tt choice=18}\\\hline \end{array} \] %%%%% \[ \begin{array}{|c|c|c|}\hline 4\{6\}2&5\{3\}5&2\{10\}3\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm,linewidth=0.01mm} \CoxeterCoordinates[choice=19] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.6cm,linewidth=0.01mm} \CoxeterCoordinates[choice=20] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm,linewidth=0.01mm} \CoxeterCoordinates[choice=21] % \end{pspicture}\\\hline {\tt choice=19}&{\tt choice=20}&{\tt choice=21}\\\hline \end{array} \] %%%%% \[ \begin{array}{|c|c|c|}\hline 3\{10\}2&2\{5\}3&3\{5\}2\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm,linewidth=0.01mm} \CoxeterCoordinates[choice=22] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.5cm,linewidth=0.01mm} \CoxeterCoordinates[choice=23] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=0.6cm,linewidth=0.01mm} \CoxeterCoordinates[choice=24] % \end{pspicture}\\\hline {\tt choice=22}&{\tt choice=23}&{\tt choice=24}\\\hline \end{array} \] %%%% \[ \begin{array}{|c|c|c|}\hline 2\{4\}3&2\{3\}2\{4\}3&3\{4\}2\{3\}2\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm,linewidth=0.01mm} \CoxeterCoordinates[choice=25] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.8cm,linewidth=0.01mm} \CoxeterCoordinates[choice=26] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm,linewidth=0.01mm} \CoxeterCoordinates[choice=27] % \end{pspicture}\\\hline {\tt choice=25}&{\tt choice=26}&{\tt choice=27}\\\hline \end{array} \] %%%% \[ \begin{array}{|c|c|c|}\hline 3\{4\}2\{3\}2\{3\}2&2\{3\}2\{3\}2\{4\}3&2\{3\}2\{5\}2\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.6cm,linewidth=0.01mm} \CoxeterCoordinates[choice=28] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=1.3cm,linewidth=0.01mm} \CoxeterCoordinates[choice=29] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm,linewidth=0.01mm} \CoxeterCoordinates[choice=30] % \end{pspicture}\\\hline {\tt choice=28}&{\tt choice=29}&{\tt choice=30}\\\hline \end{array} \] %%%% \[ \begin{array}{|c|c|c|}\hline 2\{5\}2\{3\}2&2\{3\}2\{3\}2\{4\}2&2\{4\}2\{3\}2\{3\}2\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm,linewidth=0.01mm} \CoxeterCoordinates[choice=31] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm,linewidth=0.01mm} \CoxeterCoordinates[choice=32] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm,linewidth=0.01mm} \CoxeterCoordinates[choice=33] % \end{pspicture}\\\hline {\tt choice=31}&{\tt choice=32}&{\tt choice=33}\\\hline \end{array} \] %%%% \[ \begin{array}{|c|c|c|}\hline 2\{3\}2\{4\}2\{3\}2&2\{3\}2\{3\}2\{5\}2&2\{5\}2\{3\}2\{3\}2\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm,linewidth=0.01mm} \CoxeterCoordinates[choice=34] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=1.3cm,linewidth=0.01mm} \CoxeterCoordinates[choice=35,drawcenters=false] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=1.3cm,linewidth=0.01mm} \CoxeterCoordinates[choice=36,drawcenters=false] % \end{pspicture}\\\hline {\tt choice=34}&{\tt choice=35}&{\tt choice=36}\\\hline \end{array} \] %%%% %%%% %%%%% \[ \begin{array}{|c|c|c|}\hline 3\{\frac52\}3&5\{\frac52\}5&2\{\frac52\}3\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.5cm,linewidth=0.01mm} \CoxeterCoordinates[choice=37] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm,linewidth=0.01mm} \CoxeterCoordinates[choice=38] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=0.8cm,linewidth=0.01mm} \CoxeterCoordinates[choice=39] % \end{pspicture}\\\hline {\tt choice=37}&{\tt choice=38}&{\tt choice=39}\\\hline \end{array} \] %%%%% \[ \begin{array}{|c|c|c|}\hline 3\{\frac52\}2&3\{\frac{10}3\}2&2\{\frac{103}\}3\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm,linewidth=0.01mm} \CoxeterCoordinates[choice=40] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=1.4cm,linewidth=0.01mm} \CoxeterCoordinates[choice=41] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=1.2cm,linewidth=0.01mm} \CoxeterCoordinates[choice=42] % \end{pspicture}\\\hline {\tt choice=40}&{\tt choice=41}&{\tt choice=42}\\\hline \end{array} \] %%%%% \[ \begin{array}{|c|c|c|}\hline 3\{\frac83\}2&2\{\frac83\}3&5\{6\}2\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=1.1 cm,linewidth=0.01mm} \CoxeterCoordinates[choice=43] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=1.2cm,linewidth=0.01mm} \CoxeterCoordinates[choice=44] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=1.7cm,linewidth=0.01mm} \CoxeterCoordinates[choice=45] % \end{pspicture}\\\hline {\tt choice=43}&{\tt choice=44}&{\tt choice=45}\\\hline \end{array} \] %%%%% \[ \begin{array}{|c|c|c|}\hline 2\{6\}5&4\{\frac83\}3&3\{\frac83\}4\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm,linewidth=0.01mm} \CoxeterCoordinates[choice=46] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=1.2cm,linewidth=0.01mm} \CoxeterCoordinates[choice=47] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=1.2cm,linewidth=0.01mm} \CoxeterCoordinates[choice=48] % \end{pspicture}\\\hline {\tt choice=46}&{\tt choice=47}&{\tt choice=48}\\\hline \end{array} \] %%%%% \[ \begin{array}{|c|c|c|}\hline 5\{5\}2&2\{5\}5&5\{\frac{10}3\}2\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm,linewidth=0.01mm} \CoxeterCoordinates[choice=49] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=1.2cm,linewidth=0.01mm} \CoxeterCoordinates[choice=50] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm,linewidth=0.01mm} \CoxeterCoordinates[choice=51] % \end{pspicture}\\\hline {\tt choice=49}&{\tt choice=50}&{\tt choice=51}\\\hline \end{array} \] %%%%% \[ \begin{array}{|c|c|c|}\hline 2\{\frac{10}3\}5&5\{3\}2&2\{3\}5\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.6cm,linewidth=0.01mm} \CoxeterCoordinates[choice=52] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.5cm,linewidth=0.01mm} \CoxeterCoordinates[choice=53] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm,linewidth=0.01mm} \CoxeterCoordinates[choice=54] % \end{pspicture}\\\hline {\tt choice=52}&{\tt choice=53}&{\tt choice=54}\\\hline \end{array} \] %%% %%%%% \[ \begin{array}{|c|c|c|}\hline 5\{4\}2&2\{4\}5&5\{\frac{10}3\}3\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.8cm,linewidth=0.01mm} \CoxeterCoordinates[choice=55] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm,linewidth=0.01mm} \CoxeterCoordinates[choice=56] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=1.3cm,linewidth=0.01mm} \CoxeterCoordinates[choice=57] % \end{pspicture}\\\hline {\tt choice=55}&{\tt choice=56}&{\tt choice=57}\\\hline \end{array} \] %%%% %%%%% \[ \begin{array}{|c|c|c|}\hline 3\{\frac{10}3\}5&5\{4\}3&3\{4\}5\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.6cm,linewidth=0.01mm} \CoxeterCoordinates[choice=58] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.6cm,linewidth=0.01mm} \CoxeterCoordinates[choice=59] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=0.25cm,linewidth=0.01mm} \CoxeterCoordinates[choice=60] % \end{pspicture}\\\hline {\tt choice=58}&{\tt choice=59}&{\tt choice=60}\\\hline \end{array} \] %%%%% \[ \begin{array}{|c|c|c|}\hline 5\{3\}3&3\{3\}5&5\{\frac52\}3\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=1.2cm,linewidth=0.01mm} \CoxeterCoordinates[choice=61] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm,linewidth=0.01mm} \CoxeterCoordinates[choice=62] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=0.6cm,linewidth=0.01mm} \CoxeterCoordinates[choice=63] % \end{pspicture}\\\hline {\tt choice=61}&{\tt choice=62}&{\tt choice=63}\\\hline \end{array} \] %%%%% \[ \begin{array}{|c|c|c|}\hline 3\{\frac52\}5&2\{\frac52\}2\{3\}2&2\{3\}2\{\frac52\}2\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm,linewidth=0.01mm} \CoxeterCoordinates[choice=64] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=2cm,linewidth=0.01mm} \CoxeterCoordinates[choice=65] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=3cm,linewidth=0.01mm} \CoxeterCoordinates[choice=66] % \end{pspicture}\\\hline {\tt choice=64}&{\tt choice=65}&{\tt choice=66}\\\hline \end{array} \] %%%%% \[ \begin{array}{|c|c|c|}\hline 2\{\frac52\}2\{3\}2&2\{5\}2\{\frac52\}2&2\{6\}3\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=2.5cm,linewidth=0.01mm} \CoxeterCoordinates[choice=67] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=5cm,linewidth=0.01mm} \CoxeterCoordinates[choice=68] % \end{pspicture} &\begin{pspicture}(-2,-2)(2,2) \psset{unit=2.5cm,linewidth=0.01mm} \CoxeterCoordinates[choice=69] % \end{pspicture}\\\hline {\tt choice=67}&{\tt choice=68}&{\tt choice=69}\\\hline \end{array} \] %%%%% \[ \begin{array}{|c|c|c|}\hline 3\{6\}2&2\{\frac52\}2\{3\}2\{3\}2&2\{3\}2\{3\}2\{\frac52\}2\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=1.5cm,linewidth=0.01mm} \CoxeterCoordinates[choice=70] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.17cm,linewidth=0.01mm} \CoxeterCoordinates[choice=71] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=1.4cm,linewidth=0.01mm} \CoxeterCoordinates[choice=72] % \end{pspicture}\\ \hline {\tt choice=70}&{\tt choice=71}&{\tt choice=72}\\\hline \end{array} \] \[ \begin{array}{|c|c|c|}\hline 2\{3\}2\{\frac52\}2\{5\}2&2\{3\}2\{5\}2\{\frac52\}2&2\{\frac52\}2\{3\}2\{5\}2\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.4cm,linewidth=0.01mm} \CoxeterCoordinates[choice=73] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=1.3cm,linewidth=0.01mm} \CoxeterCoordinates[choice=74] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm,linewidth=0.01mm} \CoxeterCoordinates[choice=75] % \end{pspicture}\\ \hline {\tt choice=73}&{\tt choice=74}&{\tt choice=75}\\\hline \end{array} \] % \[ \begin{array}{|c|c|c|}\hline 2\{\frac52\}2\{5\}2\{3\}2&2\{5\}2\{3\}2\{\frac52\}2&2\{5\}2\{\frac52\}2\{3\}2\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm,linewidth=0.01mm} \CoxeterCoordinates[choice=76] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=1.3cm,linewidth=0.01mm} \CoxeterCoordinates[choice=77] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=1.3cm,linewidth=0.01mm} \CoxeterCoordinates[choice=78] % \end{pspicture}\\ \hline {\tt choice=76}&{\tt choice=77}&{\tt choice=78}\\\hline \end{array} \] \[ \begin{array}{|c|c|c|}\hline 2\{5\}2\{\frac52\}2\{5\}2&2\{\frac525\}2\{5\}2\{\frac52\}2\\\hline \begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm,linewidth=0.01mm} \CoxeterCoordinates[choice=79] % \end{pspicture}& \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.4cm,linewidth=0.01mm} \CoxeterCoordinates[choice=80] % \end{pspicture}\\ \hline {\tt choice=79}&{\tt choice=80}\\\hline \end{array} \] \subsection{The components of a polytope} The library {\tt pst-coxcoor.sty} contains a macro for drawing the vertices, the edges, the centers of the edges, the centers of the faces and the centers of the cells of many pre-calculated 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}, {\tt drawcenters}, {\tt drawcentersface}, and {\tt drawcenterscells}. By default the values of the parameters {\tt drawedges}, {\tt drawvertices}, {\tt drawcenters} are set to {\tt true} and the values of {\tt drawcentersface} and {\tt drawcenterscells} are set to {\tt false}. \begin{example} \rm By default, the vertices, the edges and the centers of the edges are drawn but not the centers of the faces and the cells. \[ \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm} \CoxeterCoordinates[choice=28] % \end{pspicture} \] \begin{verbatim} \begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm} \CoxeterCoordinates[choice=28] \end{pspicture} \end{verbatim} The macro does not draw the edges \[ \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm} \CoxeterCoordinates[choice=28,drawedges=false] % \end{pspicture} \] \begin{verbatim} \begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm} \CoxeterCoordinates[choice=28,drawedges=false] \end{pspicture} \end{verbatim} or the vertices \[ \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm} \CoxeterCoordinates[choice=28,drawvertices=false] % \end{pspicture} \] \begin{verbatim} \begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm} \CoxeterCoordinates[choice=28,drawvertices=false] \end{pspicture} \end{verbatim} or the centers of the edges. \[ \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm} \CoxeterCoordinates[choice=28,drawcenters=false] % \end{pspicture} \] \begin{verbatim} \begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm} \CoxeterCoordinates[choice=28,drawcenters=false] \end{pspicture} \end{verbatim} Furthermore, one can draw the centers of the faces (when the dimension of the polytope is at least 3) \[ \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm} \CoxeterCoordinates[choice=28,drawvertices=false,drawcenters=false,drawcentersfaces=true] % \end{pspicture} \] \begin{verbatim} \begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm} \CoxeterCoordinates[choice=28,drawvertices=false,drawcenters=false,drawcentersfaces=true] \end{pspicture} \end{verbatim} and the centers of the cells (when the dimension of the polytope is at least 4). \[ \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.7cm} \CoxeterCoordinates[choice=28,drawvertices=false,drawcenters=false,drawcenterscells=true] % \end{pspicture} \] \begin{verbatim} \begin{pspicture}(-2,-2)(2,2) \psset{unit=1cm} \CoxeterCoordinates[choice=28,drawvertices=false,drawcenters=false,drawcenterscells=true] \end{pspicture} \end{verbatim} \end{example} \section{Graphical parameters} 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) \CoxeterCoordinates[choice=4,unit=0.3cm] % \end{pspicture} \begin{pspicture}(-2,-2)(2,2) \CoxeterCoordinates[choice=4,unit=0.8cm] % \end{pspicture} \begin{pspicture}(-4,-4)(4,4) \CoxeterCoordinates[choice=4,unit=2cm] % \end{pspicture} \] \begin{verbatim} \begin{pspicture}(-1,-1)(1,1) \CoxeterCoordinates[choice=4,unit=0.3cm] % \end{pspicture} \begin{pspicture}(-2,-2)(2,2) \CoxeterCoordinates[choice=4,unit=0.8cm] % \end{pspicture} \begin{pspicture}(-4,-4)(4,4) \CoxeterCoordinates[choice=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 {\it linewidth}. \begin{example} \rm \[ \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.8,linewidth=0.01,linecolor=red} \CoxeterCoordinates[choice=4] % \end{pspicture} \begin{pspicture}(-2,-2)(2,2) \CoxeterCoordinates[choice=4,linewidth=0.1] % \end{pspicture} \] \begin{verbatim} \begin{pspicture}(-2,-2)(2,2) \psset{unit=0.8,linewidth=0.01,linecolor=red} \CoxeterCoordinates[choice=4] % \end{pspicture} \begin{pspicture}(-2,-2)(2,2) \CoxeterCoordinates[choice=4,linewidth=0.1] % \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) \CoxeterCoordinates[choice=4,colorVertices=blue,styleVertices=pentagon,sizeVertices=0.2] % \end{pspicture} \begin{pspicture}(-2,-2)(2,2) \CoxeterCoordinates[choice=4,colorVertices=magenta,sizeVertices=0.1,styleVertices=triangle] % \end{pspicture} \begin{pspicture}(-2,-2)(2,2) \CoxeterCoordinates[choice=4,colorVertices=red,styleVertices=+,sizeVertices=0.2] % \end{pspicture} \] \begin{verbatim} \begin{pspicture}(-2,-2)(2,2) \CoxeterCoordinates[choice=4,colorVertices=blue,styleVertices=pentagon,sizeVertices=0.2] % \end{pspicture} \begin{pspicture}(-2,-2)(2,2) \CoxeterCoordinates[choice=4,colorVertices=magenta,sizeVertices=0.1,styleVertices=triangle] % \end{pspicture} \begin{pspicture}(-2,-2)(2,2) \CoxeterCoordinates[choice=4,colorVertices=red,styleVertices=+,sizeVertices=0.2] % \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) \CoxeterCoordinates[choice=4,colorCenters=blue,styleCenters=pentagon,sizeCenters=0.2] % \end{pspicture} \begin{pspicture}(-2,-2)(2,2) \CoxeterCoordinates[choice=4,colorCenters=magenta,sizeCenters=0.1,styleCenters=triangle] % \end{pspicture} \begin{pspicture}(-2,-2)(2,2) \CoxeterCoordinates[choice=4,colorCenters=red,styleCenters=+,sizeCenters=0.2] % \end{pspicture} \] \begin{verbatim} \begin{pspicture}(-2,-2)(2,2) \CoxeterCoordinates[choice=4,colorCenters=blue,styleCenters=pentagon,sizeCenters=0.2] % \end{pspicture} \begin{pspicture}(-2,-2)(2,2) \CoxeterCoordinates[choice=4,colorCenters=magenta,sizeCenters=0.1,styleCenters=triangle] % \end{pspicture} \begin{pspicture}(-2,-2)(2,2) \CoxeterCoordinates[choice=4,colorCenters=red,styleCenters=+,sizeCenters=0.2] % \end{pspicture} \end{verbatim} \end{example} The color, the style and the size of the centers of the faces can be modify using the parameters {\tt colorCentersFaces}, {\tt styleCentersFaces} and {\tt sizeCentersFaces}. \begin{example} \rm \[\psset{unit=0.8cm,drawcentersfaces=true} \begin{pspicture}(-3,-3)(3,3) \CoxeterCoordinates[choice=33,styleCentersFaces=pentagon,sizeCentersFaces=0.2] % \end{pspicture} \begin{pspicture}(-3,-3)(3,3) \CoxeterCoordinates[choice=33,colorCentersFaces=magenta,sizeCentersFaces=0.1] % \end{pspicture} \begin{pspicture}(-3,-3)(3,3) \CoxeterCoordinates[choice=33,colorCentersFaces=red,styleCentersFaces=+] % \end{pspicture} \] \begin{verbatim} \psset{unit=0.8cm,drawcentersfaces=true} \begin{pspicture}(-3,-3)(3,3) \CoxeterCoordinates[choice=33,styleCentersFaces=pentagon,sizeCentersFaces=0.2] % \end{pspicture} \begin{pspicture}(-3,-3)(3,3) \CoxeterCoordinates[choice=33,colorCentersFaces=magenta,sizeCentersFaces=0.1] % \end{pspicture} \begin{pspicture}(-3,-3)(3,3) \CoxeterCoordinates[choice=33,colorCentersFaces=red,styleCentersFaces=+] % \end{pspicture}\end{verbatim} \end{example} The color, the style and the size of the centers of the cells can be modify using the parameters {\tt colorCentersCells}, {\tt styleCentersCells} and {\tt sizeCentersCells}. \begin{example} \rm \[\psset{unit=0.8cm,drawcenterscells=true,drawcentersfaces=false} \begin{pspicture}(-3,-3)(3,3) \CoxeterCoordinates[choice=33,styleCentersCells=pentagon,sizeCentersCells=0.2] % \end{pspicture} \begin{pspicture}(-3,-3)(3,3) \CoxeterCoordinates[choice=33,colorCentersCells=magenta,sizeCentersCells=0.1] % \end{pspicture} \begin{pspicture}(-3,-3)(3,3) \CoxeterCoordinates[choice=33,colorCentersCells=red,styleCentersCells=+] % \end{pspicture} \] \begin{verbatim} \psset{unit=0.8cm,drawcenterscells=true,drawcentersfaces=false} \begin{pspicture}(-3,-3)(3,3) \CoxeterCoordinates[choice=33,styleCentersCells=pentagon,sizeCentersCells=0.2] % \end{pspicture} \begin{pspicture}(-3,-3)(3,3) \CoxeterCoordinates[choice=33,colorCentersCells=magenta,sizeCentersCells=0.1] % \end{pspicture} \begin{pspicture}(-3,-3)(3,3) \CoxeterCoordinates[choice=33,colorCentersCells=red,styleCentersCells=+] % \end{pspicture}\end{verbatim} \end{example} \section{How to modify or add a polytope to the Library} The polytopes described in this library are the regular complex polytopes as considered by Coxeter \cite{Cox}. But, in fact, the same library can be used to draw any kind of polytopes (not necessarily regular) if the user add the datas corresponding to the vertices, the edges, the faces and the cells of the polytopes. To add a polytope, one has to modify the file {\tt pst-coxeterp.pro}. This file contains the list of the polytopes which can be drawn with the macro {\tt CoxeterCoordinates}. For each polytope, the datas are organized as follows \begin{verbatim} /cox+name+datas{% The name of the Polytope /ListePoints [ % List of the edges ] def /ListeFaces [ % List of the centers of the faces ] def /ListeCells [ % List of the centers of the cells ] def /NbrFaces nf def % nb of faces /NbrCells nc def % nb of cells /NbrEdges ne def % nb of edges /NbrVerticesInAnEdge nv def % nb of vertices per edge } def \end{verbatim} The list {\tt /ListePoints} contains the description of the edges of the polytope. The variable {\tt /NbrEdges} contains the number of edges and the variables {\tt /NbrVerticesInAnEdges} contains the number of vertices by edges. An edge is defined by its {\tt /NbrVerticesInAnEdges} vertices. The list {\tt /ListePoints} of the edges is the list of all edges described by the sequence of their vertices. \begin{example}\rm Let us explain the structure on the example of the complex polytope $3\{4\}2$. \begin{verbatim} /cox342datas{% /ListePoints [ [-1.054405725 .6087614291] [-1.717232873 -.9914448614] [0 -.7653668647] [1.054405725 .6087614291] [1.717232873 -.9914448614] [0 -.7653668647] [-.6628271482 .3826834323] [0 -1.217522858] [-1.717232873 -.9914448614] [0 1.982889723] [.6628271482 .3826834323] [-1.054405725 .6087614291] [.6628271482 .3826834323] [0 -1.217522858] [1.717232873 -.9914448614] [0 1.982889723] [-.6628271482 .3826834323] [1.054405725 .6087614291] ] def /ListeFaces [ [0 0] ] def /NbrFaces 1 def /ListeCells [ [0 0] ] def /NbrCells 1 def /NbrEdges 6 def /NbrVerticesInAnEdge 3 def } def \end{verbatim} This is a complex polygon and the number $3$ indicates that each edges is triangular and contains $3$ vertices. Hence, the list {\tt /ListePoints} is a sequence of triplet of points. For example, the first edge is constituted by the three vertices {\tt [-1.054405725 .6087614291] [-1.717232873 -.9914448614] [0 -.7653668647]}. Here, since there is $6$ edges of $3$ vertices, the list {\tt /ListePoints} contains $18$ points with two coordinates.\\ Note that, since $3\{4\}2$ is a polygon, it has neither faces nor cells. In such a case, the variables {\tt ListeFaces} and {\tt ListeCells} must contain only one point {\tt [0 0]} and the variables {\tt /NbrFaces} and {\tt /NbrCells} contain $1$. \end{example} When the polytope has more than two dimensions, it has faces. The number of faces is given by the variable {\tt /NbrFaces} and the variable {\tt /ListeFaces} contains the list of the centers of the faces.\\ If the polytope has four dimensions, it has cells. The number of cells is given by the variable {\tt /NbrCells} and the variable {\tt /ListeCells} contains the list of the centers of the cells.\\ \\ To add a polytope, add the datas in the files {\tt pst-coxeter.pro} and modify the file {\tt pst-coxeter.tex} as follows. Change the numbers of the polytopes at the line 26 of the file \begin{verbatim} %%% Parameter choice. Allows to choice the polytope. To each integer %%% 080 \typeout{choice < or = 80 and not `\the\pst@cntg'. Value 1 forced.} \pst@cntg=1 \fi \edef\psk@pstCoxeter@choice{#1}} \end{verbatim} Here, the number of polytope is $80$, if your add other datas you must increase this number. \begin{verbatim} %%% Parameter choice. Allows to choice the polytope. To each integer %%% 081 \typeout{choice < or = 81 and not `\the\pst@cntg'. Value 1 forced.} \pst@cntg=1 \fi \edef\psk@pstCoxeter@choice{#1}} \end{verbatim} Hence, you must add the polytope to the list of polytopes (line 169 - 251 of the file {\tt pst-coxcoor.tex}. \begin{verbatim} /choice \the\pst@cntg\space def choice 1 eq {cox233datas} if ... choice 78 eq {cox362datas} if choice 79 eq {cox25223232datas} if choice 80 eq {cox23232522datas} if %%% <-- add new polytope here \end{verbatim} For example, add the line \begin{verbatim} choice 81 eq {coxNEWdatas} if \end{verbatim} \begin{thebibliography}{ABC} \bibitem{qutrit} E. Briand, J.-G. Luque, J.-Y. Thibon and F. Verstrate, {\it the moduli space of the three qutrit states},Journal of Mathematical Physics, vol. 45, num. 12, pp. 4855--4867, 2004. % \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{Luque} J.-G. Luque, {\em Invariants des hypermatrices}, habilitation \`a diriger les recherches, Université Paris-Est, Décembre 2007. % \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}