# Generating plane triangulations

Does sage have a function that generates plane triangulations? Something like PLANTRI? If not, is it possible to use plantri from within sage and how?

Thank you

Generating plane triangulations

Does sage have a function that generates plane triangulations? Something like PLANTRI? If not, is it possible to use plantri from within sage and how?

Thank you

add a comment

3

If you have plantri installed and somewhere in your PATH variable you can easily adapt the code of `graphs.nauty_geng`

to make it work with plantri. Something along the following lines might do the job:

```
def plantri(self, options=""):
import subprocess
sp = subprocess.Popen("plantri -g {0}".format(options), shell=True,
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.PIPE, close_fds=True)
gen = sp.stdout
while True:
try:
s = gen.next()
except StopIteration:
raise StopIteration("Exhausted list of graphs from plantri")
G = graph.Graph(s[:-1], format='graph6')
yield G
```

1

plantri is an optional package that you can install using

sage -i plantri

You will then be able to use the iterator over connected planar triangulations

```
sage: list(graphs.triangulations(6))
[Graph on 6 vertices, Graph on 6 vertices]
sage: all(g.is_planar() for g in graphs.triangulations(10))
True
```

Asked: **
2013-12-21 07:22:30 -0500
**

Seen: **403 times**

Last updated: **Mar 13**

Combinatorial data for planar graph

How to create random cubic planar graphs?

embed planar graph with prescribed outer face

Drawing a planar multigraph with loops

How do I get the external face of a planar embedded graph?

How do I add an attribute to the object/class "Graph?"

Drawing a graph - fixing its layout

Does there exist a GUI web-app that allows for edge contractions and vertex splits?

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.