Thursday, January 20, 2022

KLO 0.973a (Qt 6) online

Version 0.973a is the first KLO version built under Qt 6, so please excuse any hiccups with the distributions, and also please get in touch if any issues arise running this version!

This version enhances KLO's braid-input mechanism with the following additional features, demonstrated in the short video below:

  • Braid generators can be entered, as before, via lowercase and uppercase letters (e.g., aB), as well as via positive and negative numbers (e.g., 1 -2). These numeric generators can be delimited by any combination of spaces, commas, and semicolons, for flexibility, and the alphabetic and numeric generators can be freely mixed (e.g., aB -3 4).
  • Positive (or negative) half-twists of all strands can be entered via \ (or /, respectively); these may be optionally followed by [a,b] to only perform the twist on strand numbers a through b inclusive (e.g., \[3,5] performs a positive half-twist on strands 3 through 5.
  • Parentheses "( )" can be used to group together expressions, and powers can be expressed by ^n for the chosen n (e.g., b^-5, or (\[2,5] bc)^2.

Thanks to Ken Baker for discussions that got the braid improvements going!

Thursday, January 13, 2022

Version 0.972a online!

A number of features have been added since the last post, including joint work with Brendan Owens on his algorithm for identifying ribbon disks for alternating knots and with Lucia Karageorghis on doubly-slice knots.

In addition a few small general features have been added (the to-do list remains quite long!):
  • As requested, the ability to clone a knot diagram into a Kirby diagram or surgery diagram has been added to the Convert menu, completing the loop with the ability to clone a knot diagram from either of these two.
  • Another useful knot manipulation, the Sweep move (also known as the "over" or "under" move), which allows a strand of knot (or band) that proceeds completely over or completely under at consecutive crossings to be freely moved (over or under, respectively) the rest of the diagram to any other position, which should allow for a little less repeated clicking to move bits of knot around via smaller moves.  This is illustrated in the brief video below:
Thanks to Marc Kegel for noting that the Windows .zip file was missing a .dll; that is all fixed online now!

Wednesday, July 17, 2019

Version 0.931a online (MacOS surgery bug located!)

Just a quick note that the MacOS KLO bug for surgery diagrams has now been resolved, and Version 0.931a is online with that fixed (Windows version remains unchanged)!  Many thanks to Geoffrey Sangston for sending me a document producing the crash, which makes such issues much easier to identify!

For any techies or those curious: for some reason, the Boost cpp_rational constructor is throwing an an exception in the MacOS build if you try to construct a rational number with a negative denominator (!), instead of just negating the numerator and denominator and continuing happily along.  Strange...

Sunday, July 14, 2019

Welcome, ICERM participants!

Welcome to ICERM workshop participants (thanks to Ken Baker for the publicity)!  Please subscribe to this blog (on the right) to be kept up to date on new versions and features, as we move toward version 1.0.

I've been pretty bad about announcing new features and updates up to now, without a central spot to put the announcements (apologies!); this blog should help out as a central spot.

Also, please note that is going away as a domain, in favor of

Saturday, July 13, 2019

KLO 0.93a

Moving toward version 1.0, KLO 0.93a is now online at
  • New knots can now be entered via Dowker codes, either the traditional space-separated list of even number (negative to reverse crossings) or via the shorter codes (bca = 4 6 2) using lower-case letters without spaces (uppercase to reverse crossings).
  • A new Convert menu that houses what used to be in buttons to convert between surgery and Kirby diagrams and to generate Kirby diagrams for 2-fold branched covers of knots, as well as a new feature to clone a diagram into a new document considering it as a plain old knot, allowing hyperbolic comparisons (via the SnapPea kernel), a few invariant computations, etc.
  • Fixed a little bug where KLO would try to do a meta-clasp-blowup on a non-embedded 2-gon when it's clicked on (which it shouldn't, and KLO would crash).
  • 0.93a on the Mac is a clean rebuild after updating my Mac build machine, MacOS, XCode, and Qt; Mac 0.921a showed some strange little user interface quirks (though it's the same code used on Windows) that I hope have been resolved. 
Please let me know of any issues with KLO if you find any (sending the recovered document after a crash makes it much easier to find the cause)!

Thursday, January 31, 2019

KLO 0.921a

KLO 0.921a is online at

Small fix so that KLO can read its files with band-slides and band-swims in them (thanks to Brendan Owens for pointing that out), plus changed the web link and gave one line of instructions when entering braids symbolically. 

Tuesday, January 29, 2019

KLO 0.92a

KLO 0.92 alpha is now online at
  • Bands can be drawn with knots (this is not new) to represent surfaces in 4-space; band-slides and band-swims for these diagrams have now been implemented:
    • To perform a band-slide, drag the end of the band to slide to an adjacent end from a different band.
    • To perform a band-swim, drag the end of the band to be swum along to an edge for a different band on the same face (note that this is effectively the opposite of the band-swim being done; starting with the band-end makes the interfacing simpler).
  • When constructing a new knot, a new checkbox now exists to specify a braid to close; selecting this opens up a dialog in which the number of strands and the braid can be entered (braid generators are a, b, c, ... from the top, with the inverses given by A, B, C, ...).  The braid is visually previewed as you enter it.