  
  [1m[4m[31m8. Library and I/O[0m
  
  
  [1m[4m[31m8.1 Simplicial complex library[0m
  
  [1msimpcomp[0m contains a library of simplicial complexes on few vertices, most of
  them  (combinatorial)  triangulations  of manifolds. The user can load these
  known  triangulations from the library in order to study their properties or
  to  construct  new triangulations out of the known ones. For exmaple, a user
  could  determine  the topological type of a given triangulation -- which can
  be  quite  tedious  if done by hand -- by establishing a PL equivalence to a
  complex in the library.
  
  Among  other  known  triangulations,  the library contains all of the vertex
  transitive  triangulations  of d-manifolds, d <= 11 with few (n<= 13 and n<=
  15 for d=2,3,9,10,11) vertices classified by Frank Lutz that can be found on
  his   ``Manifold   Page''  [34mhttp://www.math.tu-berlin.de/diskregeom/stellar/[0m,
  along  with  some  triangulations  of  sphere  bundles and vertex transitive
  triangulations of pseudomanifolds.
  
  See  [1m[34mSCLib[0m  ([1m8.1-2[0m)  for  a naming convention used for the global library of
  [1msimpcomp[0m.
  
  [1m[4m[31m8.1-1 SCIsLibRepository[0m
  
  [1m[34m> SCIsLibRepository( [0m[22m[34mobject[0m[1m[34m ) ________________________________________[0mfilter
  [1mReturns:[0m  [22m[32mtrue[0m / [22m[32mfalse[0m upon success, [22m[32mfail[0m otherwise.
  
  Filter  for  the  category of a library repository [22m[32mSCIsLibRepository[0m used by
  the  [1msimpcomp[0m  library.  The  category  [22m[32mSCLibRepository[0m  is derived from the
  category [22m[32mSCPropertyObject[0m.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m gap> SCIsLibRepository(SCLib); #the global library is stored in SCLib[0m
    [22m[35m true[0m
    [22m[35m [0m
  [22m[35m------------------------------------------------------------------[0m
  
  [1m[4m[31m8.1-2 SCLib[0m
  
  [1m[34m> SCLib______________________________________________________[0mglobal variable
  
  The  global variable [22m[32mSCLib[0m contains the library object of the global library
  of  [1msimpcomp[0m  through which the user can access the library. The path to the
  global library is [22m[32mGAPROOT/pkg/simpcomp/complexes[0m.
  
  The  naming convention in the global library is the following: complexes are
  usually named by their topological type. As usual, `S^d' denotes a d-sphere,
  `T'  a torus, `x' the cartesian product, `~' the twisted product and `#' the
  connected sum. The Klein Bottle is denoted by `K' or `K^2'.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m gap> SCLib;[0m
    [22m[35m [Simplicial complex library. Properties:[0m
    [22m[35m  CalculateIndexAttributes=true[0m
    [22m[35m  Number of complexes in library=689[0m
    [22m[35m  IndexAttributes=["Name", "Date", "Dim", "F", "G", "H", "Chi", "Homology"][0m
    [22m[35m  Loaded=true[0m
    [22m[35m  Path="GAPROOT/pkg/simpcomp/complexes/"[0m
    [22m[35m ][0m
    [22m[35m gap> SCLib.Size;[0m
    [22m[35m 689[0m
    [22m[35m gap> SCLib.SearchByName("S^4~");[0m
    [22m[35m [ [ 204, "S^4~S^1 (VT)" ], [ 339, "S^4~S^1 (VT)" ], [ 341, "S^4~S^1 (VT)" ], [0m
    [22m[35m   [ 438, "S^4~S^1 (VT)" ], [ 493, "S^4~S^1 (VT)" ], [ 494, "S^4~S^1 (VT)" ], [0m
    [22m[35m   [ 495, "S^4~S^1 (VT)" ], [ 496, "S^4~S^1 (VT)" ], [ 497, "S^4~S^1 (VT)" ], [0m
    [22m[35m   [ 500, "S^4~S^1 (VT)" ], [ 501, "S^4~S^1 (VT)" ], [ 502, "S^4~S^1 (VT)" ] ][0m
    [22m[35m gap> SCLib.Load(204);          [0m
    [22m[35m [SimplicialComplex[0m
    [22m[35m [0m
    [22m[35m  Properties known: AltshulerSteinberg, Boundary, Chi, ConnectedComponents, [0m
    [22m[35m                    Dim, DualGraph, F, Faces, Facets, G, H, HasBoundary, [0m
    [22m[35m                    HasInterior, Homology, Interior, IsConnected, [0m
    [22m[35m                    IsEulerianManifold, IsOrientable, IsPM, IsPure, [0m
    [22m[35m                    MinimalNonFaces, Name, Neighborliness, Orientation, [0m
    [22m[35m                    Reference, StronglyConnected, VertexLabels, Vertices.[0m
    [22m[35m [0m
    [22m[35m  Name="S^4~S^1 (VT)"[0m
    [22m[35m  Dim=5[0m
    [22m[35m  Chi=0[0m
    [22m[35m  F=[ 13, 78, 195, 260, 195, 65 ][0m
    [22m[35m  G=[ 6, 21, -35 ][0m
    [22m[35m  H=[ 7, 28, -7, 28, 7, 1 ][0m
    [22m[35m  HasBoundary=false[0m
    [22m[35m  HasInterior=true[0m
    [22m[35m  Homology=[ [ 0, [ ] ], [ 1, [ ] ], [ 0, [ ] ], [ 0, [ ] ], [ 0, [ 2 ] ], [ 0,\[0m
    [22m[35m  [ ] ] ][0m
    [22m[35m  IsConnected=true[0m
    [22m[35m  IsEulerianManifold=true[0m
    [22m[35m  IsOrientable=false[0m
    [22m[35m  IsPM=true[0m
    [22m[35m  IsPure=true[0m
    [22m[35m  Neighborliness=2[0m
    [22m[35m [0m
    [22m[35m /SimplicialComplex][0m
    [22m[35m [0m
    [22m[35m [0m
  [22m[35m------------------------------------------------------------------[0m
  
  [1m[4m[31m8.1-3 SCLibAdd[0m
  
  [1m[34m> SCLibAdd( [0m[22m[34mrepository, complex[, name][0m[1m[34m ) __________________________[0mfunction
  [1mReturns:[0m  [22m[32mtrue[0m upon success, [22m[32mfail[0m otherwise.
  
  Adds  a  given complex [22m[34mcomplex[0m to a given repository [22m[34mrepository[0m. The complex
  is  saved to a file with suffix [22m[32m.sc[0m in the repositories base path, where the
  file  name  is either formed from the optional argument [22m[34mname[0m and the current
  time or taken fom the name of the complex, if it is named.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m gap> myRepository:=SCLibInit("~/myrepository");[0m
    [22m[35m #I  SCLibInit: made directory "~/myrepository/" for user library.[0m
    [22m[35m #I  SCIntFunc.SCLibInit: index not found -- trying to reconstruct it.[0m
    [22m[35m #I  SCLibUpdate: rebuilding index for ~/myrepository/.[0m
    [22m[35m #I  SCLibUpdate: rebuilding index done.[0m
    [22m[35m gap> complex:=SCBdCrossPolytope(4);;[0m
    [22m[35m gap> SCLibAdd(myRepository,complex);[0m
    [22m[35m #I  SCLibAdd: saving complex to file "complex_Bd(beta4)_2009-10-29_17-12-36.sc\[0m
    [22m[35m ".[0m
    [22m[35m true[0m
    [22m[35m gap> myRepository.Add(complex);; # alternative syntax[0m
    [22m[35m [0m
  [22m[35m------------------------------------------------------------------[0m
  
  [1m[4m[31m8.1-4 SCLibAllComplexes[0m
  
  [1m[34m> SCLibAllComplexes( [0m[22m[34mrepository[0m[1m[34m ) __________________________________[0mfunction
  [1mReturns:[0m  list   of  entries  of  the  form  [22m[32m[ID,NAME][0m  upon  success,  [22m[32mfail[0m
            otherwise.
  
  Returns  a  list  with entries of the form [22m[32m[ID,NAME][0m of all the complexes in
  the given repository [22m[34mrepository[0m.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m gap> all:=SCLibAllComplexes(SCLib);;[0m
    [22m[35m gap> all[1];[0m
    [22m[35m [ 1, "Moebius Strip" ][0m
    [22m[35m gap> Length(all);[0m
    [22m[35m 689[0m
    [22m[35m [0m
  [22m[35m------------------------------------------------------------------[0m
  
  [1m[4m[31m8.1-5 SCLibDelete[0m
  
  [1m[34m> SCLibDelete( [0m[22m[34mrepository, id[0m[1m[34m ) ____________________________________[0mfunction
  [1mReturns:[0m  [22m[32mtrue[0m upon success, [22m[32mfail[0m otherwise.
  
  Deletes  the  simplicial  complex  with  the  given  id  [22m[34mid[0m  from  the given
  repository  [22m[34mrepository[0m.  Apart from deleting the complexes' index entry, the
  associated [22m[32m.sc[0m file is also deleted.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m gap> myRepository:=SCLibInit("~/myrepository");[0m
    [22m[35m #I  SCLibInit: made directory "~/myrepository/" for user library.[0m
    [22m[35m #I  SCIntFunc.SCLibInit: index not found -- trying to reconstruct it.[0m
    [22m[35m #I  SCLibUpdate: rebuilding index for ~/myrepository/.[0m
    [22m[35m #I  SCLibUpdate: rebuilding index done.[0m
    [22m[35m gap> SCLibDelete(myRepository,1);[0m
    [22m[35m true[0m
    [22m[35m [0m
  [22m[35m------------------------------------------------------------------[0m
  
  [1m[4m[31m8.1-6 SCLibDetermineTopologicalType[0m
  
  [1m[34m> SCLibDetermineTopologicalType( [0m[22m[34m[repository,] complex[0m[1m[34m ) ___________[0mfunction
  [1mReturns:[0m  a  simplicial complex or a list of items integer ids upon success,
            [22m[32mfail[0m otherwise.
  
  Tries  to determine the topological type of a given complex [22m[34mcomplex[0m by first
  looking  for  complexes  with  matching  homology  in the library repository
  [22m[34mrepository[0m (if no repository is passed, the global repository [22m[32mSCLib[0m is used)
  and  either  returns  a  simplicial  complex object (that is combinatorially
  isomorphic  to  the  complex given) or a list of library ids of complexes in
  the library with the same homology as the complex provided.
  The  ids obtained in this way can then be used to compare the complexes with
  [22m[34mcomplex[0m by [1m[34mSCEquivalent[0m ([1m6.2-2[0m).
  If  no  complexes  with  matching  homology  can  be found, the empty set is
  returned.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m gap> c:=SCFromFacets([[1,2,3],[1,2,6],[1,3,5],[1,4,5],[1,4,6],[0m
    [22m[35m                       [2,3,4],[2,4,5],[2,5,6],[3,4,6],[3,5,6]]);;[0m
    [22m[35m gap> SCLibDetermineTopologicalType(c);[0m
    [22m[35m [SimplicialComplex[0m
    [22m[35m [0m
    [22m[35m  Properties known: AltshulerSteinberg, AutomorphismGroup, [0m
    [22m[35m                    AutomorphismGroupSize, AutomorphismGroupStructure, [0m
    [22m[35m                    AutomorphismGroupTransitivity, Boundary, Chi, [0m
    [22m[35m                    ConnectedComponents, Dim, DualGraph, F, Faces, Facets, G, [0m
    [22m[35m                    Generators, H, HasBoundary, HasInterior, Homology, [0m
    [22m[35m                    Interior, IsCentrallySymmetric, IsConnected, [0m
    [22m[35m                    IsEulerianManifold, IsOrientable, IsPM, IsPure, [0m
    [22m[35m                    MinimalNonFaces, Name, Neighborliness, Orientation, [0m
    [22m[35m                    Reference, StronglyConnected, VertexLabels, Vertices.[0m
    [22m[35m [0m
    [22m[35m  Name="RP^2 (VT)"[0m
    [22m[35m  Dim=2[0m
    [22m[35m  AutomorphismGroupSize=60[0m
    [22m[35m  AutomorphismGroupStructure="A5"[0m
    [22m[35m  AutomorphismGroupTransitivity=2[0m
    [22m[35m  Chi=1[0m
    [22m[35m  F=[ 6, 15, 10 ][0m
    [22m[35m  G=[ 2 ][0m
    [22m[35m  H=[ 3, 6, 0 ][0m
    [22m[35m  HasBoundary=false[0m
    [22m[35m  HasInterior=true[0m
    [22m[35m  Homology=[ [ 0, [ ] ], [ 0, [ 2 ] ], [ 0, [ ] ] ][0m
    [22m[35m  IsCentrallySymmetric=false[0m
    [22m[35m  IsConnected=true[0m
    [22m[35m  IsEulerianManifold=true[0m
    [22m[35m  IsOrientable=false[0m
    [22m[35m  IsPM=true[0m
    [22m[35m  IsPure=true[0m
    [22m[35m  Neighborliness=2[0m
    [22m[35m [0m
    [22m[35m /SimplicialComplex][0m
    [22m[35m [0m
  [22m[35m------------------------------------------------------------------[0m
  
  [1m[4m[31m8.1-7 SCLibFlush[0m
  
  [1m[34m> SCLibFlush( [0m[22m[34mrepository, confirm[0m[1m[34m ) ________________________________[0mfunction
  [1mReturns:[0m  [22m[32mtrue[0m upon success, [22m[32mfail[0m otherwise.
  
  Completely  empties  a  given  repository  [22m[34mrepository[0m.  The  index  and  all
  simplicial  complexes  in  this repository are deleted. The second argument,
  [22m[34mconfirm[0m, must be the string [22m[32m"yes"[0m in order to confirm the deletion.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m gap> myRepository:=SCLibInit("~/repository");;[0m
    [22m[35m #I  SCLibInit: made directory "~/repository/" for user library.[0m
    [22m[35m #I  SCIntFunc.SCLibInit: index not found -- trying to reconstruct it.[0m
    [22m[35m #I  SCLibUpdate: rebuilding index for ~/repository/.[0m
    [22m[35m #I  SCLibUpdate: rebuilding index done.[0m
    [22m[35m gap> SCLibFlush(myRepository,"yes");[0m
    [22m[35m #I  SCLibUpdate: rebuilding index for /home/effenbfx/testrepo/.[0m
    [22m[35m #I  SCLibUpdate: rebuilding index done.[0m
    [22m[35m true[0m
    [22m[35m [0m
  [22m[35m------------------------------------------------------------------[0m
  
  [1m[4m[31m8.1-8 SCLibInit[0m
  
  [1m[34m> SCLibInit( [0m[22m[34mdir[0m[1m[34m ) _________________________________________________[0mfunction
  [1mReturns:[0m  library  repository  of  type  [22m[32mSCLibRepository[0m  upon success, [22m[32mfail[0m
            otherwise.
  
  This  function  initializes  a  library  repository  object  for  the  given
  directory [22m[34mdir[0m and returns that library repository object in case of success.
  The  returned  object  then provides a mean to access the library repository
  via  the  SCLib-functions  of  [1msimpcomp[0m.  The  global  library repository of
  [1msimpcomp[0m  is  loaded  automatically at startup and is stored in the variable
  [22m[32mSCLib[0m.  User repositories can be created by calling [22m[32mSCLibInit[0m with a desired
  destination directory. Note, that each repository must reside in a different
  path since otherwise data may get lost. The function first tries to load the
  repository  index  for  the  given  directory  to  rebuild  it  (by  calling
  [22m[32mSCLibUpdate[0m)  if  loading  the  index  fails. The library index of a library
  repository  is  stored  in  its base path in the XML file [22m[32mcomplexes.idx[0m, the
  complexes are stored in files with suffix [22m[32m.sc[0m, also in XML format.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m gap> myRepository:=SCLibInit("~/myrepository");[0m
    [22m[35m #I  SCLibInit: made directory "~/myrepository/" for user library.[0m
    [22m[35m #I  SCIntFunc.SCLibInit: index not found -- trying to reconstruct it.[0m
    [22m[35m #I  SCLibUpdate: rebuilding index for ~/myrepository/.[0m
    [22m[35m #I  SCLibUpdate: rebuilding index done.[0m
    [22m[35m [Simplicial complex library. Properties:[0m
    [22m[35m CalculateIndexAttributes=true[0m
    [22m[35m Number of complexes in library=0[0m
    [22m[35m IndexAttributes=["Name", "Date", "Dim", "F", "G", "H", "Chi", "Homology"][0m
    [22m[35m Loaded=true[0m
    [22m[35m Path="~/myrepository/"[0m
    [22m[35m][0m
    [22m[35m [0m
  [22m[35m------------------------------------------------------------------[0m
  
  [1m[4m[31m8.1-9 SCLibIsLoaded[0m
  
  [1m[34m> SCLibIsLoaded( [0m[22m[34mrepository[0m[1m[34m ) ______________________________________[0mfunction
  [1mReturns:[0m  [22m[32mtrue[0m or [22m[32mfalse[0m upon succes, [22m[32mfail[0m otherwise.
  
  Returns  [22m[32mtrue[0m when a given library repository [22m[34mrepository[0m is in loaded state.
  This  means  that  the  directory  of  this  repository  is accessible and a
  repository index file for this repository exists in the repositories' path.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m gap> SCLibIsLoaded(SCLib);[0m
    [22m[35m true[0m
    [22m[35m gap> SCLib.IsLoaded;[0m
    [22m[35m true[0m
    [22m[35m [0m
  [22m[35m------------------------------------------------------------------[0m
  
  [1m[4m[31m8.1-10 SCLibSearchByAttribute[0m
  
  [1m[34m> SCLibSearchByAttribute( [0m[22m[34mrepository, expr[0m[1m[34m ) _______________________[0mfunction
  [1mReturns:[0m  A  list  of  items  of  the  form  [22m[32m[ID,  NAME][0m  upon success, [22m[32mfail[0m
            otherwise.
  
  Searches  a  given repository [22m[34mrepository[0m for complexes for which the boolean
  expression  [22m[34mexpr[0m,  passed as string, evaluates to [22m[32mtrue[0m and returns a list of
  complexes  with  entries  of  the  form  [22m[32m[ID,  NAME][0m or [22m[32mfail[0m upon error. The
  expression  may  use  all  GAP  functions  and  can  access  all the indexed
  attributes  of  the  complexes  in  the  given repository for the query. The
  standard  attributes  are:  Dim  (Dimension),  F (f-vector), G (g-vector), H
  (h-vector),  Chi  (Euler  characteristic), Homology, Name. See [22m[32mSCLib[0m for the
  set of indexed attributes of the global library of [1msimpcomp[0m.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m #search for all 3-neighborly complexes of dimension 4 in the global library[0m
    [22m[35m gap> SCLibSearchByAttribute(SCLib,"Dim=4 and F[3]=Binomial(F[1],3)");[0m
    [22m[35m [ [ 17, "CP^2 (VT)" ], [ 584, "K3 surface" ] ][0m
    [22m[35m # alternative syntax[0m
    [22m[35m gap> SCLib.SearchByAttribute("Dim=4 and F[3]=Binomial(F[1],3)");[0m
    [22m[35m [ [ 17, "CP^2 (VT)" ], [ 584, "K3 surface" ] ][0m
    [22m[35m [0m
  [22m[35m------------------------------------------------------------------[0m
  
  [1m[4m[31m8.1-11 SCLibSearchByName[0m
  
  [1m[34m> SCLibSearchByName( [0m[22m[34mrepository, name[0m[1m[34m ) ____________________________[0mfunction
  [1mReturns:[0m  A  list  of  items  of  the  form  [22m[32m[ID,  NAME][0m  upon success, [22m[32mfail[0m
            otherwise.
  
  Searches a given repository [22m[34mrepository[0m for complexes that contain the string
  [22m[34mname[0m  as  a  substring  of  their  name  attribute and returns a list of the
  complexes found with entries of the form [22m[32m[ID, NAME][0m. See [1m[34mSCLib[0m ([1m8.1-2[0m) for a
  naming convention used for the global library of [1msimpcomp[0m.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m gap> SCLibSearchByName(SCLib,"K3");[0m
    [22m[35m [ [ 584, "K3 surface" ] ][0m
    [22m[35m gap> SCLib.SearchByName("K3"); #alternative syntax[0m
    [22m[35m [ [ 584, "K3 surface" ] ][0m
    [22m[35m gap> SCLib.SearchByName("S^4x"); #search for products with S^4[0m
    [22m[35m [ [ 291, "S^4xS^1 (VT)" ], [ 340, "S^4xS^1 (VT)" ], [ 342, "S^4xS^1 (VT)" ], [0m
    [22m[35m   [ 571, "S^4xS^2" ], [ 627, "S^4xS^3" ], [ 655, "S^4xS^4" ] ][0m
    [22m[35m [0m
  [22m[35m------------------------------------------------------------------[0m
  
  [1m[4m[31m8.1-12 SCLibSize[0m
  
  [1m[34m> SCLibSize( [0m[22m[34mrepository[0m[1m[34m ) __________________________________________[0mfunction
  [1mReturns:[0m  integer upon success, [22m[32mfail[0m otherwise.
  
  Returns   the   number  of  complexes  contained  in  the  given  repository
  [22m[34mrepository[0m.  Fails  if the library repository was not previously loaded with
  [22m[32mSCLibInit[0m.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m gap> SCLibSize(SCLib); #SCLib is the repository of the global library[0m
    [22m[35m 689[0m
    [22m[35m [0m
  [22m[35m------------------------------------------------------------------[0m
  
  [1m[4m[31m8.1-13 SCLibUpdate[0m
  
  [1m[34m> SCLibUpdate( [0m[22m[34mrepository, OR, path[, recalc][0m[1m[34m ) ____________________[0mfunction
  [1mReturns:[0m  library  repository  of  type  [22m[32mSCLibRepository[0m  upon success, fail
            otherwise.
  
  Recreates  the  index  of a given repository (either via a repository object
  [22m[34mrepository[0m  or  a  base path [22m[32mpath[0m of a repository) by scanning the base path
  for all [22m[32m.sc[0m files containing simplicial complexes of the repository. Returns
  a  repository object with the newly created index on success of fail in case
  of  an  error.  The  optional  boolean  argument  [22m[34mrecalc[0m  forces [1msimpcomp[0m to
  recompute  all  the indexed properties (such as f-vector, homology, etc.) of
  the simplicial complexes in the repository if set to [22m[32mtrue[0m.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m gap> myRepository:=SCLibInit("~/repository");;[0m
    [22m[35m #I  SCLibInit: made directory "~/repository/" for user library.[0m
    [22m[35m #I  SCIntFunc.SCLibInit: index not found -- trying to reconstruct it.[0m
    [22m[35m #I  SCLibUpdate: rebuilding index for ~/repository/.[0m
    [22m[35m #I  SCLibUpdate: rebuilding index done.[0m
    [22m[35m gap> SCLibUpdate(myRepository);[0m
    [22m[35m #I  SCLibUpdate: rebuilding index for ~/repository/.[0m
    [22m[35m #I  SCLibUpdate: rebuilding index done.[0m
    [22m[35m [Simplicial complex library. Properties:[0m
    [22m[35m CalculateIndexAttributes=true[0m
    [22m[35m Number of complexes in library=0[0m
    [22m[35m IndexAttributes=["Name", "Date", "Dim", "F", "G", "H", "Chi", "Homology"][0m
    [22m[35m Loaded=true[0m
    [22m[35m Path="~/myrepository/"[0m
    [22m[35m][0m
    [22m[35m [0m
  [22m[35m------------------------------------------------------------------[0m
  
  [1m[4m[31m8.1-14 SCLibStatus[0m
  
  [1m[34m> SCLibStatus( [0m[22m[34mrepository[0m[1m[34m ) ________________________________________[0mfunction
  [1mReturns:[0m  the  library  repository  object of type [22m[32mSCLibRepository[0m passed as
            argument.
  
  Lets  GAP  print  the  status  of  a  given  library  repository [22m[34mrepository[0m.
  [22m[32mIndexAttributes[0m  is  the  list of attributes indexed for this repository. If
  [22m[32mCalculateIndexAttributes[0m  is  true, the index attributes for a complex added
  to  the  library  are calculated automatically upon addition of the complex,
  otherwise  this  is  left  to the user and only precalculated attributes are
  indexed.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m gap> SCLibStatus(SCLib);[0m
    [22m[35m [Simplicial complex library. Properties:[0m
    [22m[35m CalculateIndexAttributes=true[0m
    [22m[35m Number of complexes in library=N[0m
    [22m[35m IndexAttributes=["Name", "Date", "Dim", "F", "G", "H", "Chi", "Homology"][0m
    [22m[35m Loaded=true[0m
    [22m[35m Path="GAPROOT/pkg/simpcomp/complexes/"[0m
    [22m[35m][0m
    [22m[35m [0m
  [22m[35m------------------------------------------------------------------[0m
  
  
  [1m[4m[31m8.2 [1msimpcomp[1m[4m[31m input / output functions[0m
  
  This  section  contains  a  description  of  the  input/output-functionality
  provided  by  [1msimpcomp[0m.  The  package provides the functionality to save and
  load simplicial complexes (and their known properties) to, respectively from
  files  in  XML  format.  Furthermore  it provides the user with functions to
  export simplicial complexes into polymake format (for this format there also
  exists rudimentary import functionality), as JavaView geometry or in form of
  a  latex  table.  For  importing  more  complex  polymake  data  the package
  polymaking [R07] can be used.
  
  [1m[4m[31m8.2-1 SCLoad[0m
  
  [1m[34m> SCLoad( [0m[22m[34mfilename[0m[1m[34m ) _______________________________________________[0mfunction
  [1mReturns:[0m  simplicial complex of type [22m[32mSCSimplicialComplex[0m if successful, fail
            otherwise.
  
  Loads  a  simplicial  complex  stored in XML format from a file specified in
  [22m[34mfilename[0m  (as  string).  If  the filename provided does not end in [22m[32m.sc[0m, this
  suffix is appended to the file name.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m gap> c:=SCBdSimplex(3);;[0m
    [22m[35m gap> SCSave(c,"bddelta3");[0m
    [22m[35m true[0m
    [22m[35m gap> c:=SCLoad("bddelta3");[0m
    [22m[35m [SimplicialComplex[0m
    [22m[35m [0m
    [22m[35m  Properties known: AutomorphismGroup, AutomorphismGroupOrder, [0m
    [22m[35m                    AutomorphismGroupStructure, AutomorphismGroupTransitivity, [0m
    [22m[35m                    Chi, Dim, F, Facets, Generators, HasBoundary, Homology, [0m
    [22m[35m                    IsConnected, IsStronglyConnected, Name, TopologicalType, [0m
    [22m[35m                    VertexLabels.[0m
    [22m[35m [0m
    [22m[35m  Name="S^2_4"[0m
    [22m[35m  Dim=2[0m
    [22m[35m  TopologicalType="S^2"[0m
    [22m[35m  Chi=2[0m
    [22m[35m  F=[4, 6, 4][0m
    [22m[35m  Homology=[[0, []], [0, []], [1, []]][0m
    [22m[35m  AutomorphismGroupStructure="S4"[0m
    [22m[35m [0m
    [22m[35m /SimplicialComplex][0m
    [22m[35m [0m
  [22m[35m------------------------------------------------------------------[0m
  
  [1m[4m[31m8.2-2 SCSave[0m
  
  [1m[34m> SCSave( [0m[22m[34mcomplex, filename[0m[1m[34m ) ______________________________________[0mfunction
  [1mReturns:[0m  true if successful, fail otherwise.
  
  Saves  a  simplicial  complex  [22m[34mcomplex[0m  to  a file specified by [22m[34mfilename[0m (as
  string)  in  XML format. If the file name provided does not end in [22m[32m.sc[0m, this
  suffix is appended to the file name.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m gap> c:=SCBdSimplex(3);;[0m
    [22m[35m gap> SCSave("bddelta3");[0m
    [22m[35m true[0m
    [22m[35m [0m
  [22m[35m------------------------------------------------------------------[0m
  
  [1m[4m[31m8.2-3 SCExportPolymake[0m
  
  [1m[34m> SCExportPolymake( [0m[22m[34mcomplex, filename[0m[1m[34m ) ____________________________[0mfunction
  [1mReturns:[0m  true upon success, fail otherwise.
  
  Exports  the  facet  list  with  vertex labels of a given simplicial complex
  [22m[34mcomplex[0m  in [22m[32mpolymake[0m format to a file specified by [22m[34mfilename[0m. Currently, only
  the export in the format of [22m[32mpolymake[0m version 2.3 is supported.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m gap> c:=SCBdCrossPolytope(4);;[0m
    [22m[35m gap> SCExportPolymake(c,"bdbeta4.poly");[0m
    [22m[35m true[0m
    [22m[35m [0m
  [22m[35m------------------------------------------------------------------[0m
  
  [1m[4m[31m8.2-4 SCImportPolymake[0m
  
  [1m[34m> SCImportPolymake( [0m[22m[34mfilename[0m[1m[34m ) _____________________________________[0mfunction
  [1mReturns:[0m  simplicial  complex of type [22m[32mSCSimplicialComplex[0m upon success, fail
            otherwise.
  
  Imports  the  facet  list  of  a  topaz polymake file (discarding any vertex
  labels)  specified  by [22m[34mfilename[0m and creates a simplicial complex object from
  these facets.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m gap> c:=SCImportPolymake("3dimcomplex.poly");[0m
    [22m[35m [SimplicialComplex[0m
    [22m[35m [0m
    [22m[35m Properties known: Chi, Dim, Facets, VertexLabels.[0m
    [22m[35m[0m
    [22m[35m  Name="unnamed complex n"[0m
    [22m[35m  Dim=3[0m
    [22m[35m [0m
    [22m[35m /SimplicialComplex][0m
    [22m[35m [0m
  [22m[35m------------------------------------------------------------------[0m
  
  [1m[4m[31m8.2-5 SCExportLatexTable[0m
  
  [1m[34m> SCExportLatexTable( [0m[22m[34mcomplex, filename, itemsperline[0m[1m[34m ) ____________[0mfunction
  [1mReturns:[0m  true on success, fail otherwise.
  
  Exports  the  facet  list of a given simplicial complex [22m[34mcomplex[0m in form of a
  LaTeX  table  to  a  file  specified  by [22m[34mfilename[0m. The argument [22m[34mitemsperline[0m
  specifies,  how  many  columns  the  exported  table should have. Facets are
  exported in the format < v_1,dots,v_dim-1 >.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m gap> c:=SCBdSimplex(5);;[0m
    [22m[35m gap> SCExportLatexTable(c,"bd5simplex.tex",5);[0m
    [22m[35m true[0m
    [22m[35m gap> c.ExportLatexTable("bd5simplex.tex",5);[0m
    [22m[35m true[0m
    [22m[35m [0m
  [22m[35m------------------------------------------------------------------[0m
  
  [1m[4m[31m8.2-6 SCExportJavaView[0m
  
  [1m[34m> SCExportJavaView( [0m[22m[34mcomplex, file, coords[0m[1m[34m ) ________________________[0mfunction
  [1mReturns:[0m  true on success, fail otherwise.
  
  Exports  the  facet list of the given simplicial complex [22m[34mcomplex[0m in [22m[32mJavaView[0m
  format  (file name suffix [22m[32m.jvx[0m) to a file specified by [22m[34mfilename[0m (as string).
  The  list  [22m[34mcoords[0m must contain a 3-tuple of real coordinates for each vertex
  of  the  complex, either as tuple of length three containing the coordinates
  or  as  string  of the form [22m[32m"x.x y.y z.z"[0m with decimal numbers [22m[32mx.x[0m, [22m[32my.y[0m, [22m[32mz.z[0m
  for  the  three  coordinates  (i.e. [22m[32m"1.0 0.0 0.0"[0m). Warning: as GAP only has
  rudementary  support  for  floating  point  values,  currently  only integer
  numbers can be used as coordinates.
  
  [22m[35m---------------------------  Example  ----------------------------[0m
    [22m[35m gap> coords:=[[1,0,0],[0,1,0],[0,0,1]];;[0m
    [22m[35m gap> SCExportJavaView(SCBdSimplex(2),"triangle.jvx",coords);[0m
    [22m[35m true[0m
    [22m[35m [0m
  [22m[35m------------------------------------------------------------------[0m
  
