[Nauty] Getting Started with Nauty

Brendan McKay Brendan.McKay at anu.edu.au
Fri Apr 28 13:13:44 AEST 2017


Yes, that is the right manual.

As with the software, any I'd appreciate hearing of any errors in the manual
so that I can fix them.

Brendan.


On 28/4/17 12:31 pm, Saul Spatz wrote:
> That's the version of nauty I have.  I must have been looking at a 
> previous User's Guide on line.  Is
> http://users.cecs.anu.edu.au/~bdm/nauty/nug26.pdf 
> <http://users.cecs.anu.edu.au/%7Ebdm/nauty/nug26.pdf>
> the most up to date?  I'll bookmark it.
>
> Thanks for pointing this out.
>
> On Thu, Apr 27, 2017 at 9:11 PM, Brendan McKay 
> <Brendan.McKay at anu.edu.au <mailto:Brendan.McKay at anu.edu.au>> wrote:
>
>     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://users.cecs.anu.edu.au/%7Ebdm/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