Skip to content

Releases: digraphs/Digraphs

0.15.0

15 Feb 11:50
Compare
Choose a tag to compare

This release contains several substantial new features, and some changes to previous functionality.

The most significant change in behaviour is related to the Digraph6 format used in previous versions of the Digraphs package. This method of encoding directed graphs was developed independently from, but concurrently with, the Digraph6 format introduced by nauty; see Issue #158 for more information. The Digraphs package now uses the nauty format, although digraphs encoded using the old format can still be read in. This incompatibility was reported by Jukka Kohonen, and the changes were made by Michael Torpey in PR #162.

Other additions and changes are listed below:

  • A copy of the 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 in PR #156. The new functionality can be accessed via:
    • Is(Outer)PlanarDigraph,
    • (Outer)PlanarEmbedding,
    • Kuratowski(Outer)PlanarSubdigraph,
    • SubdigraphHomeomorphicToK(23/4/33), and
    • MaximalAntiSymmetricSubdigraph.
  • The functionality and performance for computing homomorphisms of digraphs was significantly improved by James D. Mitchell in PR #160. This PR also introduced the operations EmbeddingsDigraphs and EmbeddingsDigraphsRepresentatives.
  • The one-argument attribute DigraphColouring was renamed to DigraphGreedyColouring, and its performance was improved; it now uses the Welsh-Powell algorithm, which can be accessed directly via 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 in PR #144.
  • DigraphShortestPath was introduced by Murray Whyte in PR #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 in PR #159.
  • The attribute CharacteristcPolynomial for a digraph was added by Luke Elliott in PR #164.
  • The properties IsVertexTransitive and IsEdgeTransitive for digraphs were added by Graham Campbell in PR #165.

0.14.0

23 Nov 13:51
Compare
Choose a tag to compare

This release contains bugfixes and a couple of new features.

  • The operations AsSemigroup and AsMonoid for lattice and semilattice digraphs were added by Chris Russell in PR #136.
  • The operation IsDigraphColouring was added by James D. Mitchell in PR #145.
  • In previous versions of the package, the output of ArticulationPoints would sometimes contain repeated vertices (reported by Luke Elliott in Issue #140, and fixed by James D. Mitchell in PR #142).
  • In previous versions of the package, an unexpected error was sometimes caused when removing an immutable set of vertices from a digraph (reported and fixed by James D. Mitchell in PR #146).
  • The header file x86intrin.h was unnecessarily being included by the kernel module of Digraphs (reported by Wilf A. Wilson in Issue #147, and fixed by James D. Mitchell in PR #152).

Max Horn also contributed various compatibility and correctness changes to the kernel module of the package.

Digraphs now requires version 4.8.1 of the orb package, or newer.

0.13.0

19 Sep 20:37
Compare
Choose a tag to compare

This release of Digraphs contains some bugfixes, along with the following new features:

  • The GraphViz engine used by Splash is now configurable, thanks to Markus Pfeiffer.
  • The properties IsPartialOrderDigraph, IsPreorderDigraph, and IsQuasiorderDigraph were introduced by Chris Russell, along with the following functions for visualising these kinds of digraphs:
    • DotPartialOrderDigraph
    • DotPreorderDigraph
    • DotQuasiorderDigraph
  • The following functions for transformations and permutations were added by James D. Mitchell:
    • IsDigraphHomomorphism
    • IsDigraphEpimorphism
    • IsDigraphMonomorphism
    • IsDigraphEndomorphism
    • IsDigraphEmbedding
    • IsDigraphIsomorphism

Digraphs now requires version 4.9.0 of GAP, or newer.

0.12.2

24 Aug 08:48
Compare
Choose a tag to compare

This is a minor release which contains some small adjustments to the build system of the package.

0.12.1

26 Apr 14:29
Compare
Choose a tag to compare

This is a minor release, which contains several bugfixes. The following problems were resolved by James D. Mitchell:

  • HomomorphismDigraphFinder sometimes failed to find a homomorphism when one existed [Issue #111, reported by Gordon Royle];
  • the documentation for HomomorphismDigraphFinder was incomplete [Issue #112]; and
  • a segmentation fault could be caused when using Digraphs with NautyTracesInterface, in certain cases [Issue #114].

0.12.0

31 Jan 17:29
Compare
Choose a tag to compare

This release contains bugfixes and new features. In particular, it:

Digraphs now requires version 4.5.1 of the IO package.

0.11.0

22 Nov 23:14
Compare
Choose a tag to compare

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. This functionality requires the NautyTracesInterface package for GAP, version 0.2 or newer. However, this is not a required package, and the default engine remains bliss. It is possible to specify the engine that is used by Digraphs. These changes to Digraphs were made by James D. Mitchell].

In particular, version 0.11.0 includes the following changes:

  • BlissAutomorphismGroup and NautyAutomorphismGroup are introduced.
  • DigraphCanonicalLabelling is replaced by BlissCanonicalLabelling and
    NautyCanonicalLabelling.
  • BlissCanonicalDigraph and NautyCanonicalDigraph are introduced [Chris
    Russell and James D. Mitchell].
  • DigraphsUseNauty and DigraphsUseBliss are introduced.

The property IsHamiltonianDigraph and the attribute HamiltonianPath were added by Luke Elliott. Additionally, this release fixes several bugs, including one in DigraphSymmetricClosure and one in CompleteDigraph.

Digraphs now requires version 4.4.6 of the IO package.

0.10.1

16 Aug 20:50
Compare
Choose a tag to compare

This is a minor release, which contains performance improvements, and fixes a bug in Digraph that could cause a segmentation fault.

0.10.0

20 Jul 17:21
Compare
Choose a tag to compare

This release contains new features, bugfixes, and minor improvements to the documentation. There is a new method for ChromaticNumber, which has better performance than the previous method [Julius Jonusas and James D. Mitchell]. A bug in the code for calculating homomorphisms of digraphs, which could cause a crash, was resolved [James D. Mitchell].

New Features in Version 0.10.0

  • Vertex labelled digraphs can now be visualised in a way that displays vertex labels, by using the new operation DotVertexLabelledDigraph.
  • The attribute CliqueNumber is introduced.
  • The following new attributes for Cayley digraphs are introduced:
    • GroupOfCayleyDigraph
    • SemigroupOfCayleyDigraph
    • GeneratorsOfCayleyDigraph

All of the new features were added by James D. Mitchell.

0.9.0

12 Jul 15:40
Compare
Choose a tag to compare

This release introduces several new features.

New Features in Version 0.9.0

The following attributes and properties were added by
James D. Mitchell:

  • ArticulationPoints (and its synonym CutVertices)
  • IsBiconnectedDigraph
  • IsCycleDigraph

The following operations related to matchings were added by Isabella Scott and
Wilf A. Wilson:

  • IsMatching
  • IsPerfectMatching
  • IsMaximalMatching