[Nauty] Getting Started with Nauty
Brendan McKay
Brendan.McKay at anu.edu.au
Fri Apr 28 12:11:03 AEST 2017
Hi Saul. Apparently you need to upgrade nauty. gentreeg was there
by the first non-beta release of version 2.6. The current release is
nauty26r7. You can get it at:
http://users.cecs.anu.edu.au/~bdm/nauty/
http://pallini.di.uniroma1.it
Brendan.
On 28/4/17 11:55 am, Saul Spatz wrote:
> Thanks, Brendan. It looks like I should have been using gentreeg from
> the beginning, but it doesn't seem to be mentioned in the User's Guide.
>
> On Thu, Apr 27, 2017 at 8:33 PM, Brendan McKay
> <Brendan.McKay at anu.edu.au <mailto:Brendan.McKay at anu.edu.au>> wrote:
>
> Thanks Gordon.
>
> For larger sizes, "gentreeg 10 | linegraphg" will be more efficient.
>
> Saul: The reason your program crashed is that you can't convert
> between the dense and sparse types just by casting the pointer type.
> Casting pointers in C never changes the object which the pointer
> points to.
>
> If you really need to do it inside a program, your choices are:
>
> (1) Write your own procedure to make the linegraph from the
> dense graph structure that geng gives you.
> (2) Use procedure nauty_to_sg, in the file nausparse.c, to convert
> the dense graph to sparse format before calling linegraph().
> (3) Use the OUTPROC feature in gentreeg, see the documentation
> in gentreeg.c. Note that it uses yet another data structure: one
> designed to be as efficient as possible for trees. From that you
> can easily make the linegraph in some form convenient to you.
>
> Method (3) is the best option if you want to push the computation
> as far as possible.
>
> Brendan.
>
> On 28/4/17 11:08 am, Gordon Royle wrote:
>
> On the command line
>
> geng -c 10 9 | linegraphg
>
> does your job.
>
>
> On 28 Apr 2017, at 8:25 am, Saul Spatz <saul.spatz at gmail.com
> <mailto:saul.spatz at gmail.com><mailto:saul.spatz at gmail.com
> <mailto:saul.spatz at gmail.com>>> wrote:
>
> I'm a complete newbie. I'm trying to write program that will
> call geng to
> generate trees of a given order and compute their line
> graphs. I modified
> callgeng.c do construct the trees, and it ran successfully.
> Since there
> doesn't seem to be a nauty function to compute the line
> graphs, I just
> copied the function linegraph from linegraphg.c. Now my
> OUTPROC looks like:
>
> void OUTPROC(FILE *outfile, graph *g, int n)
> { /* This will be called for each graph. */
> ++counter;
> sparsegraph h;
> SG_INIT(h);
> linegraph( (sparsegraph *) g, &h);
> }
>
> When I run the code, I get the error
>
> callgeng(30563,0x7fff7d2c9300) malloc: ***
> mach_vm_map(size=2251799813685248)
> failed (error code=3)
> *** error: can't allocate region
>
> Apparently this occurs the first time the line
> DYNALLOC1(size_t,eno,eno_sz,gnde,"linegraphg");
> is executed. I have never called SG_INIT for g, because the
> example shows
> that OUTPROC takes a parameter of type graph*, so I have just
> cast the
> pointer to (sparsegraph*) when calling linegraph.
>
> Is this the source of the problem? Is there a built-in way to
> construct a
> sparsegraph from a dense graph?
>
> Thanks for any assistance you can give me.
> _______________________________________________
> Nauty mailing list
> Nauty at anu.edu.au
> <mailto:Nauty at anu.edu.au><mailto:Nauty at anu.edu.au
> <mailto:Nauty at anu.edu.au>>
> http://mailman.anu.edu.au/mailman/listinfo/nauty
> <http://mailman.anu.edu.au/mailman/listinfo/nauty>
>
> Gordon Royle
>
> School of Mathematics and Statistics
> University of Western Australia
>
> Email: gordon.royle at uwa.edu.au
> <mailto:gordon.royle at uwa.edu.au><mailto:gordon.royle at uwa.edu.au
> <mailto:gordon.royle at uwa.edu.au>>
>
> (Note: my gordon at maths.uwa.edu.au
> <mailto:gordon at maths.uwa.edu.au><mailto:gordon at maths.uwa.edu.au
> <mailto:gordon at maths.uwa.edu.au>> address is deprecated and
> will stop working soon.)
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> Nauty mailing list
> Nauty at anu.edu.au <mailto:Nauty at anu.edu.au>
> http://mailman.anu.edu.au/mailman/listinfo/nauty
> <http://mailman.anu.edu.au/mailman/listinfo/nauty>
>
>
>
More information about the Nauty
mailing list