Releases: digraphs/Digraphs
0.15.0
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)
, andMaximalAntiSymmetricSubdigraph
.
- 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
andEmbeddingsDigraphsRepresentatives
. - The one-argument attribute
DigraphColouring
was renamed toDigraphGreedyColouring
, and its performance was improved; it now uses the Welsh-Powell algorithm, which can be accessed directly viaDigraphWelshPowellOrder
. The behaviour ofDigraphGreedyColouring
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 forIsAntisymmetricDigraph
.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
andIsEdgeTransitive
for digraphs were added by Graham Campbell in PR #165.
0.14.0
This release contains bugfixes and a couple of new features.
- The operations
AsSemigroup
andAsMonoid
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
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
, andIsQuasiorderDigraph
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
This is a minor release which contains some small adjustments to the build system of the package.
0.12.1
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
This release contains bugfixes and new features. In particular, it:
- fixes a bug in
ArticulationPoints
andIsBiconnectedDigraph
[Wilf A. Wilson]; - adds the property
IsChainDigraph
[Ashley Clayton]; and - adds the operation
IsDigraphAutomorphism
[Chris Russell].
Digraphs now requires version 4.5.1 of the IO package.
0.11.0
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
andNautyAutomorphismGroup
are introduced.DigraphCanonicalLabelling
is replaced byBlissCanonicalLabelling
and
NautyCanonicalLabelling
.BlissCanonicalDigraph
andNautyCanonicalDigraph
are introduced [Chris
Russell and James D. Mitchell].DigraphsUseNauty
andDigraphsUseBliss
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
This is a minor release, which contains performance improvements, and fixes a bug in Digraph
that could cause a segmentation fault.
0.10.0
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
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 synonymCutVertices
)IsBiconnectedDigraph
IsCycleDigraph
The following operations related to matchings were added by Isabella Scott and
Wilf A. Wilson:
IsMatching
IsPerfectMatching
IsMaximalMatching