Skip to content

Commit

Permalink
Merge branch 'master' into lollipop
Browse files Browse the repository at this point in the history
  • Loading branch information
marinaanagno authored Mar 3, 2021
2 parents 30e3d00 + 10d1ee8 commit cdf2af3
Show file tree
Hide file tree
Showing 80 changed files with 1,838 additions and 912 deletions.
8 changes: 7 additions & 1 deletion .codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,10 @@ comment:
behavior: default

ignore:
- "extern" # Do not check coverage on the extern directory
- "extern/"
- "gap/utils.gi"
- "PackageInfo.g"
- "init.g"
- "makedoc.g"
- "read.g"
- "tst/testall.g"
7 changes: 4 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,9 @@ planarity
src/.deps/*
src/.libs/*
src/_pkgconfig.h
extern/edge-addition-planarity-suite-Version_3.0.0.5/.libs
extern/edge-addition-planarity-suite-Version_3.0.0.5/c/.deps
extern/edge-addition-planarity-suite-Version_3.0.0.5/m4
extern/edge-addition-planarity-suite-Version_*/.libs
extern/edge-addition-planarity-suite-Version_*/c/.deps
extern/edge-addition-planarity-suite-Version_*/m4
src/stamp-h1
tags
tst/out/*
Expand All @@ -74,3 +74,4 @@ coverage
.ipynb_checkpoints
bliss
*.a
*.dylib
4 changes: 2 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,8 @@ AS_IF([test "x$enable_compile_warnings" != "xno"],
AX_CHECK_PLANARITY()

if test "x$with_external_planarity" = xno ; then
AC_CONFIG_SUBDIRS([extern/edge-addition-planarity-suite-Version_3.0.0.5])
PLANARITY_SUITE_DIR=extern/edge-addition-planarity-suite-Version_3.0.0.5
AC_CONFIG_SUBDIRS([extern/edge-addition-planarity-suite-Version_3.0.1.0])
PLANARITY_SUITE_DIR=extern/edge-addition-planarity-suite-Version_3.0.1.0
AC_SUBST(PLANARITY_SUITE_DIR)
fi

Expand Down
35 changes: 34 additions & 1 deletion doc/digraphs.bib
Original file line number Diff line number Diff line change
@@ -1,7 +1,40 @@
% Cite keys match the cite keys that are used in the compiled GAPDoc manual
@article{B12,
author = {John M. Boyer},
title = {Subgraph Homeomorphism via the Edge Addition Planarity Algorithm},
journal = {Journal of Graph Algorithms and Applications},
year = {2012},
volume = {16},
number = {2},
pages = {381--410},
doi = {10.7155/jgaa.00268}
}

@article{BM04,
author = {John M. Boyer and Wendy J. Myrvold},
title = {On the Cutting Edge: Simplified O(n) Planarity by Edge Addition},
journal = {Journal of Graph Algorithms and Applications},
year = {2004},
volume = {8},
number = {3},
pages = {241--273},
doi = {10.7155/jgaa.00091}
}

@inproceedings{B06,
address = {Berlin, Heidelberg},
author = {John M. Boyer},
booktitle = {Graph Drawing},
editor = {Healy, Patrick and Nikolov, Nikola S.},
isbn = {978-3-540-31667-1},
pages = {508--511},
publisher = {Springer Berlin Heidelberg},
title = {A New Method for Efficiently Generating Planar Graph Visibility Representations},
year = {2006}}

@incollection{BM06,
Author = {John M. Boyer and Wendy J. Myrvold},
author = {John M. Boyer and Wendy J. Myrvold},
Booktitle = {Graph Algorithms and Applications 5},
Doi = {10.1142/9789812773289_0014},
Month = {Jun},
Expand Down
63 changes: 63 additions & 0 deletions doc/grahom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -798,3 +798,66 @@ false
</Description>
</ManSection>
<#/GAPDoc>

<#GAPDoc Label="MaximalCommonSubdigraph">
<ManSection>
<Oper Name="MaximalCommonSubdigraph" Arg="D1, D2"/>
<Returns>A list containing a digraph and two transformations.</Returns>
<Description>
If <A>D1</A> and <A>D2</A> are digraphs without multiple edges, then
<C>MaximalCommonSubdigraph</C> returns a maximal common subgraph <C>M</C> of
<A>D1</A> and <A>D2</A> with the maximum number of vertices. So <C>M</C> is a
digraph which embeds into both <A>D1</A> and <A>D2</A> and has the largest
number of vertices amoung such digraphs.

It returns a list <C>[M, t1, t2]</C> where <C>M</C> is the maximal common
subdigraph and <C>t1, t2</C> are transformations embedding <C>M</C> into
<A>D1</A> and <A>D2</A> respectively.

<Example><![CDATA[
gap> MaximalCommonSubdigraph(PetersenGraph(), CompleteDigraph(10));
[ <immutable digraph with 2 vertices, 2 edges>,
IdentityTransformation, IdentityTransformation ]
gap> MaximalCommonSubdigraph(PetersenGraph(),
> DigraphSymmetricClosure(CycleDigraph(5)));
[ <immutable digraph with 5 vertices, 10 edges>,
IdentityTransformation, IdentityTransformation ]
gap> MaximalCommonSubdigraph(NullDigraph(0), CompleteDigraph(10));
[ <immutable empty digraph with 0 vertices>, IdentityTransformation,
IdentityTransformation ]
]]></Example>
</Description>
</ManSection>
<#/GAPDoc>

<#GAPDoc Label="MinimalCommonSuperdigraph">
<ManSection>
<Oper Name="MinimalCommonSuperdigraph" Arg="D1, D2"/>
<Returns>A list containing a digraph and two transformations.</Returns>
<Description>
If <A>D1</A> and <A>D2</A> are digraphs without multiple edges, then
<C>MinimalCommonSuperdigraph</C> returns a minimal common superdigraph
<C>M</C> of <A>D1</A> and <A>D2</A> with the minimum number of vertices.
So <C>M</C> is a digraph into which both <A>D1</A> and <A>D2</A> embed and
has the smallest number of vertices amoung such digraphs.

It returns a list <C>[M, t1, t2]</C> where <C>M</C> is the minimal common
superdigraph and <C>t1, t2</C> are transformations embedding <A>D1</A> and
<A>D2</A> respectively into <C>M</C>.
<Example><![CDATA[
gap> MinimalCommonSuperdigraph(PetersenGraph(), CompleteDigraph(10));
[ <immutable digraph with 18 vertices, 118 edges>,
IdentityTransformation,
Transformation( [ 1, 2, 11, 12, 13, 14, 15, 16, 17, 18, 11, 12, 13,
14, 15, 16, 17, 18 ] ) ]
gap> MinimalCommonSuperdigraph(PetersenGraph(),
> DigraphSymmetricClosure(CycleDigraph(5)));
[ <immutable digraph with 10 vertices, 30 edges>,
IdentityTransformation, IdentityTransformation ]
gap> MinimalCommonSuperdigraph(NullDigraph(0), CompleteDigraph(10));
[ <immutable digraph with 10 vertices, 90 edges>,
IdentityTransformation, IdentityTransformation ]
]]></Example>
</Description>
</ManSection>
<#/GAPDoc>
19 changes: 13 additions & 6 deletions doc/grape.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#############################################################################
##
#W grape.xml
#Y Copyright (C) 2014-19 James D. Mitchell
#Y Copyright (C) 2014-21 James D. Mitchell
##
## Licensing information can be found in the README file of this package.
##
Expand Down Expand Up @@ -51,12 +51,19 @@ true]]></Example>
<Description>
Let <A>G</A> be any group and let <A>gens</A> be a list of elements of
<A>G</A>. This operation returns an immutable digraph that corresponds to
the Cayley graph of <A>G</A> with respect
<A>gens</A>. The vertices are the elements of <A>G</A>. There exists an edge
from the vertex <C>u</C> to the vertex <C>v</C> if and only if there exists
a generator <C>g</C> in <A>gens</A> such that <C>x * g = y</C>. <P/>
the Cayley graph of <A>G</A> with respect to <A>gens</A>. <P/>

<!-- FIXME What is the correspondence between vertices and elements? -->
The vertices of the digraph correspond to the elements of <A>G</A>,
in the order given by <C>AsList(<A>G</A>)</C>.
There exists an edge from vertex <C>u</C> to vertex <C>v</C>
if and only if there exists a generator <C>g</C> in <A>gens</A>
such that <C>AsList(<A>G</A>)[u] * g = AsList(<A>G</A>)[v]</C>. <P/>

The labels of the vertices <C>u</C>, <C>v</C>, and the edge <C>[u, v]</C>
are the corresponding elements <C>AsList(<A>G</A>)[u]</C>,
<C>AsList(<A>G</A>)[v]</C>, and generator <C>g</C>, respectively;
see <Ref Oper="DigraphVertexLabel"/> and <Ref Oper="DigraphEdgeLabel"/>.
<P/>

If the optional second argument <A>gens</A> is not present, then the
generators of <A>G</A> are used by default.<P/>
Expand Down
8 changes: 8 additions & 0 deletions doc/z-chap0.xml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,14 @@
<Ref Sect="Isomorphisms and canonical labellings"/> for more details.
<P/>

The &edge-addition-planarity-suite; is also included in &Digraphs;; see
<Cite Key="BM04"/>, <Cite Key="B06"/>, <Cite Key="BM06"/>, and <Cite
Key="B12"/> . The &edge-addition-planarity-suite; is an open-source
implementation of the edge addition planar graph embedding algorithm and
related algorithms by John M. Boyer. See Section <Ref Sect="Planarity"/> for
more details.
<P/>

From version 1.0.0 of this package, digraphs can be either mutable or immutable.
Mutable digraphs can be changed in-place by many of the methods in the
package, which avoids unnecessary copying. Immutable digraphs cannot be
Expand Down
2 changes: 1 addition & 1 deletion doc/z-chap5.xml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
<#Include Label="IsCycleDigraph">
</Section>

<Section><Heading>Planarity</Heading>
<Section Label="Planarity"><Heading>Planarity</Heading>
<#Include Label="IsPlanarDigraph">
<#Include Label="IsOuterPlanarDigraph">
</Section>
Expand Down
2 changes: 2 additions & 0 deletions doc/z-chap6.xml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ from} $E_a$ \emph{to} $E_b$. In this case we say that $E_a$ and $E_b$ are
<#Include Label="RepresentativeOutNeighbours">
<#Include Label="IsDigraphAutomorphism">
<#Include Label="IsDigraphColouring">
<#Include Label="MaximalCommonSubdigraph">
<#Include Label="MinimalCommonSuperdigraph">
</Section>

<Section><Heading>Homomorphisms of digraphs</Heading>
Expand Down
32 changes: 0 additions & 32 deletions extern/edge-addition-planarity-suite-Version_3.0.0.5/.gitignore

This file was deleted.

46 changes: 0 additions & 46 deletions extern/edge-addition-planarity-suite-Version_3.0.0.5/LICENSE.TXT

This file was deleted.

Loading

0 comments on commit cdf2af3

Please sign in to comment.