@Charles Pooh:
Informations about algorithms are provided to users through Wolfram Technical Support or in public forum such as Wolfram Community.
Sometimes I find it a bit difficult to get information on methods and algorithms this way. Just now my request (through Support) for a reference to the method that GraphLayout -> "PlanarEmbedding"
uses was refused. Thus I thought I would ask here, publicly (as you basically suggested):
Drawing a planar graph with straight edges and without edge crossings is a non-trivial problem. Since 1990, several algorithms have been published for constructing such drawings on integer grids. However, most of them do not produce a "nice" layout that is easy to interpret for humans. They often contain very small angles between edges or vertices so close to an edge that visually they overlap. I have been experimenting with using these algorithms (including Mathematica's) in more complicated practical schemes to produce more useful drawings. I want these schemes to be reproducible without Mathematica. Thus: which method does "PlanarEmbedding"
implement? Can you give me a reference?
Another instance where I was unable to get information is the method used for random sampling from a "DegreeGraphDistribution
". The usual method for sampling graphs with a given degree distribution fall into two categories: 1. Direct construction (such as the configuration model), which samples exactly uniformly 2. Markov chain based methods that repeatedly modify the graph (randomly), but only sample approximately uniformly (furthermore, the mixing times are usually unknown).
Clearly, knowing at least whether the sampling is exactly uniform is important for some applications. I asked W Support in 2012 (TS 44838) what sampling method is being used, and I was told that it is the configuration model. However, by experience, sampling is not exactly uniform (with the configuration model it should be): https://mathematica.stackexchange.com/q/167450/12
Thus, once again, I would like to know what method is being used for sampling from a DegreeGraphDistribution
. I was not yet able to get a response about this (CASE:4027392).
I should also note that the documentation of DegreeGraphDistribution
is in need of some expansion. I was unable to find any explicit statement about whether it represents a uniform distribution over the set of graphs with the given degree sequence ("degree graph distribution" is not a term used anywhere else than in the M Documentation, so it is of no help). Also, by experience, the distribution that RandomGraph[DegreeGraphDistribution[...]]
samples from is not at all uniform if the degree sequence cannot be realized by a simple graph (which is actually expected from the configuration modelbut the documentation never mentioned the configuration model). Without knowing the distribution it represents, this symbol is not very useful.