In its core, this package implements the combinatorics of weakly separated collections. It also provides optional tools for plotting as well an intuitive graphical user interface.
This package is divided into severaral parts. The base package implements only the combinatorics while several optional extensions can be loaded to enable additional features such as plotting.
To install the package execute the following in the Julia REPL:
import Pkg;
Pkg.add(url="https://github.com/MichaelSchloesser/WeaklySeparatedCollections.jl")
The package may then be used as usual via
using WeaklySeparatedCollections
To enable extensions Julia v1.9 or newer, as well as some additional packages need to be installed.
To use this feature, Luxor needs to be installed. In the Julia REPL simply execute:
import Pkg;
Pkg.add("Luxor")
Now load both WeaklySeparatedCollections and Luxor to activate the plotting extension:
using WeaklySeparatedCollections
import Luxor
To use the graphical user interface, Luxor and Mousetrap are required. Installing Luxor is explained in the previous section. To install Mousetrap run:
import Pkg;
Pkg.add(url="https://github.com/clemapfel/mousetrap.jl")
Now loading all of WeaklySeparatedCollections, Luxor and Mousetrap will activate the gui extension.
using WeaklySeparatedCollections
import Luxor
import Mousetrap
We extend some functionality of Oscar and add methods to handle the A-cluster mutation of Seeds coming from weakly separated collections as well as the associated newton-okounkov-bodies.
This extension is only supported for Linux users (although Windows users may use Linux from Windows via wsl). We refer to the official Oscar website for details of the installation.
Afterward using the loading the extension is as simple as typing
using WeaklySeparatedCollections
using Oscar
The stable Documentaion is available here. This includes a brief introduction to the required mathematical background, as well as a description of all functions and types.
The developer documentation can be found here.
Easily load predefined weakly separated collections and plott them for example in a jupyter sheet:
H = rectangle_collection(3, 6)
drawTiling(H) # plotts H as plabic tiling
H = rectangle_collection(3, 6)
drawPLG_straight(H; drawLabels = true) # plotts H as plabic graph with straight edges
Save images as png, svg, pdf or eps file:
H = checkboard_collection(3, 6)
# will save the image as title.png (by defalut without background)
drawPLG_straight(H, "title.png"; drawLabels = true)
Easily mutate collections:
H = rectangle_collection(3, 6)
mutate!(H, [3,5,6]) # mutate at label 356
drawPLG_straight(H, drawLabels = true) # plott result
Visualize, mutate by clicking, save and load collections (and much more) using the graphical user interface:
H = rectangle_collection(4, 9)
visualizer!(H)