[1X14 [33X[0;0YInterfaces to other software packages[133X[101X
[33X[0;0Y[5Xsimpcomp[105X contains various interfaces to other software packages (see Chapter
[14X13[114X for file-related export and import formats). In this chapter, some more
sophisticated interfaces to other software packages are described.[133X
[33X[0;0YNote that this chapter is subject to change and extension as it is planned
to expand [5Xsimpcomp[105X's functionality in this area in the course of the next
versions.[133X
[1X14.1 [33X[0;0YInterface to the [5XGAP[105X[101X[1X-package [5Xhomalg[105X[101X[1X[133X[101X
[33X[0;0YAs of Version 1.5, [5Xsimpcomp[105X is equipped with an interface to the [5XGAP[105X-package
[5Xhomalg[105X [BR08] by Mohamed Barakat. This allows to use [5Xhomalg[105X's powerful
capabilities in the field of homological algebra to compute topological
properties of simplicial complexes.[133X
[33X[0;0YFor the time being, the only functions provided are ones allowing to compute
the homology and cohomology groups of simplicial complexes with arbitrary
coefficients. It is planned to extend the functionality in future releases
of [5Xsimpcomp[105X. See below for a list of functions that provide an interface to
[5Xhomalg[105X.[133X
[1X14.1-1 SCHomalgBoundaryMatrices[101X
[29X[2XSCHomalgBoundaryMatrices[102X( [3Xcomplex[103X, [3Xmodulus[103X ) [32X method
[6XReturns:[106X [33X[0;10Ya list of [5Xhomalg[105X objects upon success, [9Xfail[109X otherwise.[133X
[33X[0;0YThis function computes the boundary operator matrices for the simplicial
complex [3Xcomplex[103X with a ring of coefficients as specified by [3Xmodulus[103X: a value
of [10X0[110X yields [22XQ[122X-matrices, a value of [10X1[110X yields [22XZ[122X-matrices and a value of [10Xq[110X, q a
prime or a prime power, computes the [22XF_q[122X-matrices.[133X
[4X[32X Example [32X[104X
[4X[28X gap> SCLib.SearchByName("CP^2 (VT)");[128X[104X
[4X[28X [ [ 16, "CP^2 (VT)" ] ][128X[104X
[4X[28X gap> c:=SCLib.Load(last[1][1]);;[128X[104X
[4X[28X gap> SCHomalgBoundaryMatrices(c,0);[128X[104X
[4X[28X [ , [128X[104X
[4X[28X , [128X[104X
[4X[28X , [128X[104X
[4X[28X , [128X[104X
[4X[28X ][128X[104X
[4X[28X [128X[104X
[4X[32X[104X
[1X14.1-2 SCHomalgCoboundaryMatrices[101X
[29X[2XSCHomalgCoboundaryMatrices[102X( [3Xcomplex[103X, [3Xmodulus[103X ) [32X method
[6XReturns:[106X [33X[0;10Ya list of [5Xhomalg[105X objects upon success, [9Xfail[109X otherwise.[133X
[33X[0;0YThis function computes the coboundary operator matrices for the simplicial
complex [3Xcomplex[103X with a ring of coefficients as specified by [3Xmodulus[103X: a value
of [10X0[110X yields [22XQ[122X-matrices, a value of [10X1[110X yields [22XZ[122X-matrices and a value of [10Xq[110X, q a
prime or a prime power, computes the [22XF_q[122X-matrices.[133X
[4X[32X Example [32X[104X
[4X[28X gap> SCLib.SearchByName("CP^2 (VT)");[128X[104X
[4X[28X [ [ 16, "CP^2 (VT)" ] ][128X[104X
[4X[28X gap> c:=SCLib.Load(last[1][1]);;[128X[104X
[4X[28X gap> SCHomalgCoboundaryMatrices(c,0);[128X[104X
[4X[28X [ , [128X[104X
[4X[28X , [128X[104X
[4X[28X , [128X[104X
[4X[28X , [128X[104X
[4X[28X ][128X[104X
[4X[28X [128X[104X
[4X[32X[104X
[1X14.1-3 SCHomalgHomology[101X
[29X[2XSCHomalgHomology[102X( [3Xcomplex[103X, [3Xmodulus[103X ) [32X method
[6XReturns:[106X [33X[0;10Ya list of integers upon success, [9Xfail[109X otherwise.[133X
[33X[0;0YThis function computes the ranks of the homology groups of [3Xcomplex[103X with a
ring of coefficients as specified by [3Xmodulus[103X: a value of [10X0[110X computes the
[22XQ[122X-homology, a value of [10X1[110X computes the [22XZ[122X-homology and a value of [10Xq[110X, q a prime
or a prime power, computes the [22XF_q[122X-homology ranks.[133X
[33X[0;0YNote that if you are interested not only in the ranks of the homology
groups, but rather their full structure, have a look at the function
[2XSCHomalgHomologyBasis[102X ([14X14.1-4[114X).[133X
[4X[32X Example [32X[104X
[4X[28X gap> SCLib.SearchByName("K3");[128X[104X
[4X[28X [ [ 7648, "K3_16" ], [ 7649, "K3_17" ] ][128X[104X
[4X[28X gap> c:=SCLib.Load(last[1][1]);;[128X[104X
[4X[28X gap> SCHomalgHomology(c,0);[128X[104X
[4X[28X #I SCHomalgHomologyOp: Q-homology ranks: [ 1, 0, 22, 0, 1 ][128X[104X
[4X[28X [ 1, 0, 22, 0, 1 ][128X[104X
[4X[28X [128X[104X
[4X[32X[104X
[1X14.1-4 SCHomalgHomologyBasis[101X
[29X[2XSCHomalgHomologyBasis[102X( [3Xcomplex[103X, [3Xmodulus[103X ) [32X method
[6XReturns:[106X [33X[0;10Ya [5Xhomalg[105X object upon success, [9Xfail[109X otherwise.[133X
[33X[0;0YThis function computes the homology groups (including explicit bases of the
modules involved) of [3Xcomplex[103X with a ring of coefficients as specified by
[3Xmodulus[103X: a value of [10X0[110X computes the [22XQ[122X-homology, a value of [10X1[110X computes the
[22XZ[122X-homology and a value of [10Xq[110X, q a prime or a prime power, computes the
[22XF_q[122X-homology groups.[133X
[33X[0;0YThe [22Xk[122X-th homology group [10Xhk[110X can be obtained by calling
[10Xhk:=CertainObject(homology,k);[110X, where [10Xhomology[110X is the [5Xhomalg[105X object returned
by this function. The generators of [10Xhk[110X can then be obtained via
[10XGeneratorsOfModule(hk);[110X.[133X
[33X[0;0YNote that if you are only interested in the ranks of the homology groups,
then it is better to use the funtion [2XSCHomalgHomology[102X ([14X14.1-3[114X) which is way
faster.[133X
[4X[32X Example [32X[104X
[4X[28X gap> SCLib.SearchByName("K3");[128X[104X
[4X[28X [ [ 7648, "K3_16" ], [ 7649, "K3_17" ] ][128X[104X
[4X[28X gap> c:=SCLib.Load(last[1][1]);;[128X[104X
[4X[28X gap> SCHomalgHomologyBasis(c,0);[128X[104X
[4X[28X #I SCHomalgHomologyBasisOp: constructed Q-homology groups.[128X[104X
[4X[28X [128X[104X
[4X[28X [128X[104X
[4X[32X[104X
[1X14.1-5 SCHomalgCohomology[101X
[29X[2XSCHomalgCohomology[102X( [3Xcomplex[103X, [3Xmodulus[103X ) [32X method
[6XReturns:[106X [33X[0;10Ya list of integers upon success, [9Xfail[109X otherwise.[133X
[33X[0;0YThis function computes the ranks of the cohomology groups of [3Xcomplex[103X with a
ring of coefficients as specified by [3Xmodulus[103X: a value of [10X0[110X computes the
[22XQ[122X-cohomology, a value of [10X1[110X computes the [22XZ[122X-cohomology and a value of [10Xq[110X, q a
prime or a prime power, computes the [22XF_q[122X-cohomology ranks.[133X
[33X[0;0YNote that if you are interested not only in the ranks of the cohomology
groups, but rather their full structure, have a look at the function
[2XSCHomalgCohomologyBasis[102X ([14X14.1-6[114X).[133X
[4X[32X Example [32X[104X
[4X[28X gap> SCLib.SearchByName("K3");[128X[104X
[4X[28X [ [ 7648, "K3_16" ], [ 7649, "K3_17" ] ][128X[104X
[4X[28X gap> c:=SCLib.Load(last[1][1]);;[128X[104X
[4X[28X gap> SCHomalgCohomology(c,0);[128X[104X
[4X[28X #I SCHomalgCohomologyOp: Q-cohomology ranks: [ 1, 0, 22, 0, 1 ][128X[104X
[4X[28X [ 1, 0, 22, 0, 1 ][128X[104X
[4X[28X [128X[104X
[4X[32X[104X
[1X14.1-6 SCHomalgCohomologyBasis[101X
[29X[2XSCHomalgCohomologyBasis[102X( [3Xcomplex[103X, [3Xmodulus[103X ) [32X method
[6XReturns:[106X [33X[0;10Ya [5Xhomalg[105X object upon success, [9Xfail[109X otherwise.[133X
[33X[0;0YThis function computes the cohomology groups (including explicit bases of
the modules involved) of [3Xcomplex[103X with a ring of coefficients as specified by
[3Xmodulus[103X: a value of [10X0[110X computes the [22XQ[122X-cohomology, a value of [10X1[110X computes the
[22XZ[122X-cohomology and a value of [10Xq[110X, q a prime or a prime power, computes the
[22XF_q[122X-homology groups.[133X
[33X[0;0YThe [22Xk[122X-th cohomology group [10Xck[110X can be obtained by calling
[10Xck:=CertainObject(cohomology,k);[110X, where [10Xcohomology[110X is the [5Xhomalg[105X object
returned by this function. The generators of [10Xck[110X can then be obtained via
[10XGeneratorsOfModule(ck);[110X.[133X
[33X[0;0YNote that if you are only interested in the ranks of the cohomology groups,
then it is better to use the funtion [2XSCHomalgCohomology[102X ([14X14.1-5[114X) which is
way faster.[133X
[4X[32X Example [32X[104X
[4X[28X gap> SCLib.SearchByName("K3");[128X[104X
[4X[28X [ [ 7648, "K3_16" ], [ 7649, "K3_17" ] ][128X[104X
[4X[28X gap> c:=SCLib.Load(last[1][1]);;[128X[104X
[4X[28X gap> SCHomalgCohomologyBasis(c,0);[128X[104X
[4X[28X #I SCHomalgCohomologyBasisOp: constructed Q-cohomology groups.[128X[104X
[4X[28X [128X[104X
[4X[28X [128X[104X
[4X[32X[104X