I know this is a longshot, and it's a rather broad question, but hopefully someone can help. Is there a simple or fast way to find Steiner Trees for unit polygons using Mathematica? By unit polygon, I mean a polygon with side lengths of 1.

I can't hypothesize a simple method for approximating Steiner trees so any help is greatly appreciated. For reference, the Steiner tree solutions for a unit square looks like so:

Steiner tree


Take a look at GeoSteiner v5.1 which is available for free download at http://www.geosteiner.com. It is generally considered to be the best solver of these problems available. I have been working on trying to compile it on my Mac so that I could then call it from within Mathematica. Unfortunately, I keep getting a couple of compiler errors which seem to be related to the Mac's standard implementation of libtools.

I myself would be very interested to know if anyone has successfully complied GeoSteiner on the Mac and, if so, how did they do it? It would be great to have this powerful software accessible within Mathematica.


With some very kind help from Szabolcs I was able to get GeoSteiner working on my Mac. In the hope it may help someone else here is how I did it:

To install GeoSteiner on a new system proceed as follows:

  1. Install Xcode from the Mac App Store.

  2. Install Command Line Tools by executing the following from Terminal:

    xcode-select -install
  3. Accept the Xcode license by executing the following from Terminal:

    xcodebuild -license
  4. Download the MacPorts package file that applies to your version of OS X and install it by double-clicking on the package.

  5. Install libtool from MacPorts by executing the following from Terminal: sudo port install libtool

  6. Quit and restart Terminal. Execute the following from Terminal to verify that GeoSteiner works:


To periodically update MacPorts execute the following from Terminal:

sudo port selfupdate

Followed by:

port upgrade outdated
| improve this answer | |
  • $\begingroup$ I had no problems compiling it with ./configure and make on macOS 10.13.5. $\endgroup$ – Szabolcs Jun 3 '18 at 13:19
  • $\begingroup$ Any idea how to do this on windows? Been trying, but can’t get it to work $\endgroup$ – Joseph Eck Jun 8 '18 at 4:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.