Skip to content

Commit

Permalink
Merge branch 'master' into folkman
Browse files Browse the repository at this point in the history
  • Loading branch information
james-d-mitchell authored Feb 28, 2021
2 parents c6db34b + e097454 commit 102c57b
Show file tree
Hide file tree
Showing 40 changed files with 626 additions and 151 deletions.
2 changes: 1 addition & 1 deletion .VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.3.1
1.4.0
35 changes: 22 additions & 13 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,33 +13,42 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: "Install dependencies . . ."
run: |
sudo pip install gaplint cpplint
- name: "Run gaplint + cpplint . . ."
name: "Check out the repository"
- uses: actions/setup-python@v1
name: "Set up Python"
- uses: BSFishy/pip-action@v1
name: "Install gaplint and cpplint with pip"
with:
packages: |
gaplint
cpplint
- name: "Run gaplint + cpplint"
run: bash etc/lint.sh
test:
name: "GAP ${{ matrix.gap-branch }} on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
name: "GAP ${{ matrix.gap-branch }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
digraphs-lib:
- digraphs-lib-0.6
gap-branch:
- master
- stable-4.11
pkgs-to-clone:
- NautyTracesInterface

include:
- gap-branch: stable-4.10
pkgs-to-clone: datastructures

steps:
- uses: actions/checkout@v2
- uses: gap-actions/setup-gap-for-packages@v1
with:
GAP_PKGS_TO_CLONE: "NautyTracesInterface"
GAP_PKGS_TO_CLONE: "${{ matrix.pkgs-to-clone }}"
GAP_PKGS_TO_BUILD: "io orb profiling grape NautyTracesInterface datastructures"
GAPBRANCH: ${{ matrix.gap-branch }}
- name: "Install digraphs-lib"
run: curl --retry 5 -L -O https://digraphs.github.io/Digraphs/${{ matrix.digraphs-lib }}.tar.gz
&& tar xf ${{ matrix.digraphs-lib }}.tar.gz
run: DIGRAPHS_LIB="digraphs-lib-0.6"
&& curl --retry 5 -L -O "https://digraphs.github.io/Digraphs/${DIGRAPHS_LIB}.tar.gz"
&& tar xf "${DIGRAPHS_LIB}.tar.gz"
- uses: gap-actions/run-test-for-packages@v1
55 changes: 46 additions & 9 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,43 @@ Torpey, Wilf A. Wilson et al.

Licensing information can be found in the `LICENSE` file.

## Version 1.4.0 (released 27/01/2021)

In this release there are several new features and improvements.

The following improvements and bugs have been made:

* the clique finder was reimplemented in C by [Julius Jonusas][]
* a critical bug in `CayleyDigraph` was reported and fixed by [Jan De Beule][]
* a minor bug in `ReadDigraphs` was reported by [Wilf A. Wilson][] and
fixed by [James D. Mitchell][]
* the performance of `BlissCanonicalLabelling` and `BlissAutomorphismGroup` was
improved for multidigraphs by Marina Anagnostopoulou-Merkouri and Sam
Harper.
* a bug in `GeneratorsOfEndomorphismMonoid` that caused GAP to crash when
called with a multidigraph was reported by [Wilf A. Wilson][] and
fixed by [James D. Mitchell][]
* [Wilf A. Wilson][] made some improvements to the manual.
* the performance of `DigraphCopy` was improved by Marina
Anagnostopoulou-Merkouri and Sam Harper.

The main new features are:

* the attribute `DigraphNrLoops` was introduced by Marina
Anagnostopoulou-Merkouri and Sam Harper.
* the operations
* `DotColoredDigraph`
* `DotVertexColoredDigraph`
* `DotEdgeColoredDigraph`
* `DotSymmetricColoredDigraph`
* `DotSymmetricVertexColoredDigraph`
* `DotSymmetricEdgeColoredDigraph`
were introduced by Marina Anagnostopoulou-Merkouri and Sam Harper.
* the operation `VerticesReachableFrom` was introduced by
Marina Anagnostopoulou-Merkouri.
* the operation `ModularProduct` was introduced by Luke Elliott and
[James D. Mitchell][]

## Version 1.3.1 (released 27/11/2020)

This is a minor release fixing some issues, some performance improvements, and
Expand Down Expand Up @@ -347,7 +384,7 @@ Other additions and changes are listed below:
Suite](https://github.com/graph-algorithms/edge-addition-planarity-suite)
is now included in Digraphs, and so it is now possible to test digraphs for
planarity, and to perform related computations. This was added by [James D.
Mitchell](http://goo.gl/ZtViV6) in [PR
Mitchell][] in [PR
#156](https://github.com/digraphs/Digraphs/pull/156). The new
functionality can be accessed via:
* `Is(Outer)PlanarDigraph`,
Expand All @@ -366,14 +403,14 @@ Other additions and changes are listed below:
`DigraphWelshPowellOrder`. The behaviour of `DigraphGreedyColouring` can be
modified by including an optional second argument; see the
documentation for more information. This work was done by [James D.
Mitchell](http://goo.gl/ZtViV6) in [PR
Mitchell][] in [PR
#144](https://github.com/digraphs/Digraphs/pull/144).
* `DigraphShortestPath` was introduced by Murray Whyte in [PR
#148](https://github.com/digraphs/Digraphs/pull/148).
* `IsAntiSymmetricDigraph` (with a capital S) was added as a synonym for
`IsAntisymmetricDigraph`.
* `RandomDigraph` now allows a float as its second argument; by [James D.
Mitchell](http://goo.gl/ZtViV6) in [PR
Mitchell][] in [PR
#159](https://github.com/digraphs/Digraphs/pull/159).
* The attribute `CharacteristcPolynomial` for a digraph was added by Luke
Elliott in [PR #164](https://github.com/digraphs/Digraphs/pull/164).
Expand All @@ -389,7 +426,7 @@ This release contains bugfixes and a couple of new features.
digraphs were added by Chris Russell in [PR
#136](https://github.com/digraphs/Digraphs/pull/136).
* The operation `IsDigraphColouring` was added by [James D.
Mitchell](http://goo.gl/ZtViV6) in [PR
Mitchell][] in [PR
#145](https://github.com/digraphs/Digraphs/pull/145).
* In previous versions of the package, the output of `ArticulationPoints` would
sometimes contain repeated vertices (reported by Luke Elliott in [Issue
Expand Down Expand Up @@ -464,11 +501,11 @@ Digraphs now requires version 4.5.1 of the IO package.

The principal change in Digraphs version 0.11.0 is the addition of
support for computing automorphisms, canonical labellings, and isomorphisms of
digraphs with [nauty](http://pallini.di.uniroma1.it/). This
digraphs with [nauty](https://pallini.di.uniroma1.it/). This
functionality requires the [NautyTracesInterface
package](https://github.com/gap-packages/NautyTracesInterface) for GAP, version 0.2
or newer. However, this is not a required package, and the default engine
remains [bliss](http://www.tcs.hut.fi/Software/bliss/). It is possible to
remains [bliss][]. It is possible to
specify the engine that is used by Digraphs. These changes to Digraphs were made
by [James D. Mitchell][]].

Expand Down Expand Up @@ -642,7 +679,7 @@ digraphs are set at creation [[Michael Torpey][]]

## Version 0.5.0 (released 03/03/2016)
This release contains some bugfixes, as well as new and changed functionality.
Digraphs now requires the [Orb package](http://gap-packages.github.io/orb),
Digraphs now requires the [Orb package](https://gap-packages.github.io/orb),
version 4.7.5 or higher.

### New Features in Version 0.5.0
Expand Down Expand Up @@ -745,7 +782,7 @@ This release contains a number of bugfixes and performance improvements.

### New Features in Version 0.3.0
* The attribute `DigraphAllSimpleCircuits` based
on the algorithm in [this paper](http://epubs.siam.org/doi/abs/10.1137/0204007?journalCode=smjcat) by Donald B. Johnson. [Stuart Burrell and [Wilf A. Wilson][]]
on the algorithm in [this paper](https://epubs.siam.org/doi/abs/10.1137/0204007) by Donald B. Johnson. [Stuart Burrell and [Wilf A. Wilson][]]
* Improve efficiency of the algorithm for coloring a graph with 2 colours, a method for `IsBipartiteDigraph` and `DigraphBicomponents`. [Isabella Scott and [Wilf A. Wilson][]]
* `AutomorphismGroup` and `DigraphCanonicalLabelling` can now be used with color classes that are preserved by the permutations acting on a digraph. [[James D. Mitchell][]]
* The `TCodeDecoder` was made more efficient. [[James D. Mitchell][]]
Expand All @@ -764,7 +801,7 @@ The first release.
Pre-release version that was not made publicly available.

[James D. Mitchell]: https://jdbm.me
[Wilf A. Wilson]: http://wilf.me
[Wilf A. Wilson]: https://wilf.me
[Michael Torpey]: https://mtorpey.github.io
[Julius Jonusas]: http://julius.jonusas.work
[Jan De Beule]: http://homepages.vub.ac.be/~jdbeule
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <https://www.gnu.org/licenses/>.
10 changes: 5 additions & 5 deletions PackageInfo.g
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@
##

## <#GAPDoc Label="PKGVERSIONDATA">
## <!ENTITY VERSION "1.3.1">
## <!ENTITY VERSION "1.4.0">
## <!ENTITY GAPVERS "4.10.0">
## <!ENTITY GRAPEVERS "4.8.1">
## <!ENTITY IOVERS "4.5.1">
## <!ENTITY ORBVERS "4.8.2">
## <!ENTITY DATASTRUCTURESVERS "0.2.5">
## <!ENTITY NAUTYTRACESINTERFACEVERS "0.2">
## <!ENTITY ARCHIVENAME "digraphs-1.3.1">
## <!ENTITY ARCHIVENAME "digraphs-1.4.0">
## <!ENTITY COPYRIGHTYEARS "2014-20">
## <#/GAPDoc>

Expand All @@ -28,8 +28,8 @@ _STANDREWSCS := Concatenation(["Jack Cole Building, North Haugh, ",
SetPackageInfo(rec(
PackageName := "Digraphs",
Subtitle := "Graphs, digraphs, and multidigraphs in GAP",
Version := "1.3.1",
Date := "27/11/2020", # dd/mm/yyyy format
Version := "1.4.0",
Date := "27/01/2021", # dd/mm/yyyy format
License := "GPL-3.0-or-later",
ArchiveFormats := ".tar.gz",

Expand Down Expand Up @@ -109,7 +109,7 @@ Persons := [
IsAuthor := false,
IsMaintainer := false,
Email := "caj21@st-andrews.ac.uk",
WWWHome := "http://caj.host.cs.st-andrews.ac.uk",
WWWHome := "https://caj.host.cs.st-andrews.ac.uk",
PostalAddress := _STANDREWSCS,
Place := "St Andrews",
Institution := "University of St Andrews"),
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

### Digraphs package for GAP

#### Copyright (C) 2014-20 by Jan De Beule, Julius Jonušas, James D. Mitchell, Michael Torpey, Wilf A. Wilson et al.
#### Copyright (C) 2014-21 by Jan De Beule, Julius Jonušas, James D. Mitchell, Michael Torpey, Wilf A. Wilson et al.
## Getting Digraphs

To get the latest version of the package, download the archive file
Expand Down
1 change: 1 addition & 0 deletions VERSIONS
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
#############################################################################
##

release 1.4.0 - 27/01/2021
release 1.3.1 - 27/11/2020
release 1.3.0 - 27/06/2020
release 1.2.1 - 27/05/2020
Expand Down
2 changes: 1 addition & 1 deletion ci/docker-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ fi

if [ "$SUITE" == "conda" ]; then
bold "Installing dependencies (conda). . ."
wget http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh;
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh;
chmod +x miniconda.sh;
./miniconda.sh -b;
export PATH=/home/gap/miniconda3/bin:$PATH;
Expand Down
10 changes: 5 additions & 5 deletions doc/attr.xml
Original file line number Diff line number Diff line change
Expand Up @@ -753,7 +753,7 @@ rec( comps := [ [ 1, 2 ], [ 3, 4, 5 ] ], id := [ 1, 1, 2, 2, 2 ] )
than <M>1</M>, then this operation returns <K>fail</K>.
<P/>

See section <Ref Subsect="Definitions" Style="Number" /> for the definition
See Section <Ref Subsect="Definitions" Style="Number" /> for the definition
of a directed cycle, and the definition of a loop.

<P/>
Expand Down Expand Up @@ -930,7 +930,7 @@ gap> DigraphDiameter(D);
<Description>
This attribute returns the <E>girth</E> of the digraph <A>digraph</A>.
The <E>girth</E> of a digraph is the length of its shortest simple circuit.
See section <Ref Subsect="Definitions" Style="Number" /> for the definitions
See Section <Ref Subsect="Definitions" Style="Number" /> for the definitions
of simple circuit, directed cycle, and loop.
<P/>

Expand Down Expand Up @@ -1204,7 +1204,7 @@ gap> ArticulationPoints(ChainDigraph(2));
If <A>digraph</A> is a digraph, then <C>DigraphAllSimpleCircuits</C>
returns a list of the <E>simple circuits</E> in <A>digraph</A>. <P/>

See section <Ref Subsect="Definitions" Style="Number" /> for the definition
See Section <Ref Subsect="Definitions" Style="Number" /> for the definition
of a simple circuit, and related notions. Note that a loop is a simple
circuit. <P/>

Expand Down Expand Up @@ -1256,7 +1256,7 @@ gap> DigraphAllSimpleCircuits(D);
<Returns>A list of vertices, or <K>fail</K>.</Returns>
<Description>
If <A>digraph</A> is a digraph, then <C>DigraphLongestSimpleCircuit</C>
returns the longest <E>simple circuit</E> in <A>digraph</A>. See section
returns the longest <E>simple circuit</E> in <A>digraph</A>. See Section
<Ref Subsect="Definitions" Style="Number" /> for the definition of simple
circuit, and the definition of length for a simple circuit.<P/>

Expand Down Expand Up @@ -1342,7 +1342,7 @@ fail
If a digraph <A>digraph</A> has at least one directed cycle, then the period
is the greatest positive integer which divides the lengths of all directed
cycles of <A>digraph</A>. If <A>digraph</A> has no directed cycles, then
this function returns <M>0</M>. See section <Ref Subsect="Definitions"
this function returns <M>0</M>. See Section <Ref Subsect="Definitions"
Style="Number" /> for the definition of a directed cycle. <P/>

A digraph with a period of <M>1</M> is said to be <E>aperiodic</E>. See
Expand Down
8 changes: 4 additions & 4 deletions doc/cliques.xml
Original file line number Diff line number Diff line change
Expand Up @@ -145,14 +145,14 @@ true]]></Example>
<Item>
If one or two arguments are supplied, then <C>DigraphClique</C> and
<C>DigraphMaximalClique</C> greedily enlarge the clique <A>include</A>
until it can not continue. The result is guaranteed to be a maximal
until it cannot continue. The result is guaranteed to be a maximal
clique. This may or may not return an answer more quickly than using
<Ref Func="DigraphMaximalCliques"/>. with a limit of 1.
</Item>
<Mark>Three arguments</Mark>
<Item>
If three arguments are supplied, then <C>DigraphClique</C> greedily
enlarges the clique <A>include</A> until it can not continue, although
enlarges the clique <A>include</A> until it cannot continue, although
this clique may not be maximal.<P/>

Given three arguments, <C>DigraphMaximalClique</C> returns the maximal
Expand Down Expand Up @@ -345,15 +345,15 @@ gap> DigraphMaximalCliques(D);
<Item>
If one or two arguments are supplied, then <C>DigraphIndependentSet</C>
and <C>DigraphMaximalIndependentSet</C> greedily enlarge the
independent set <A>include</A> until it can not continue. The result
independent set <A>include</A> until it cannot continue. The result
is guaranteed to be a maximal independent set. This may or may not
return an answer more quickly than using <Ref
Func="DigraphMaximalIndependentSets"/>. with a limit of 1.
</Item>
<Mark>Three arguments</Mark>
<Item>
If three arguments are supplied, then <C>DigraphIndependentSet</C>
greedily enlarges the independent set <A>include</A> until it can not
greedily enlarges the independent set <A>include</A> until it cannot
continue, although this independent set may not be maximal.<P/>

Given three arguments, <C>DigraphMaximalIndependentSet</C> returns the
Expand Down
Loading

0 comments on commit 102c57b

Please sign in to comment.