{"id":17330076,"url":"https://github.com/knothed/algebraic-fibrations","last_synced_at":"2025-10-28T16:44:30.920Z","repository":{"id":157112127,"uuid":"595577330","full_name":"knothed/algebraic-fibrations","owner":"knothed","description":"A tool to find virtual algebraic fibrations of right-angled Coxeter groups.","archived":false,"fork":false,"pushed_at":"2023-05-19T08:58:20.000Z","size":8969,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-01T11:11:45.139Z","etag":null,"topics":["coxeter-groups","fibrations","hyperbolic-geometry"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/knothed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-31T11:24:41.000Z","updated_at":"2023-04-27T07:10:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"0d1a5b8b-b1c4-4880-8d04-aed53cd68d55","html_url":"https://github.com/knothed/algebraic-fibrations","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knothed%2Falgebraic-fibrations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knothed%2Falgebraic-fibrations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knothed%2Falgebraic-fibrations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knothed%2Falgebraic-fibrations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/knothed","download_url":"https://codeload.github.com/knothed/algebraic-fibrations/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245791927,"owners_count":20672669,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coxeter-groups","fibrations","hyperbolic-geometry"],"created_at":"2024-10-15T14:50:15.971Z","updated_at":"2025-10-16T02:14:01.763Z","avatar_url":"https://github.com/knothed.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# algebraic-fibrations\n\nThis is a tool I wrote for my masters thesis. It works together with Sage to provide functionality for checking whether graphs of your choice emit a coloring-induced legal orbit which result in a virtual fibration of the respective right-angled Coxeter group, as introduced by [Jankiewicz, Norin and Wise in 2017](https://arxiv.org/abs/1711.11505).\n\nThe code is inspired by the paper of [Italiano, Martelli and Migliorini in 2020](https://arxiv.org/abs/2010.10200) and explained in more detail in [my thesis](todo).\n\nGiven any (reasonably small) graph $\\Gamma$, this tool searches through all nonisomorphic colorings of $\\Gamma$ and checks whether any of these emits a legal orbit.\nFor maximum performance, this brute-force search is written in C and is multi-threaded. All the relevant functionality is exposed to Python.\n\n### How to use `algebraic-fibrations`:\n\n 1. Download this tool\n 2. Start `sage` in this directory\n 3. Call `load('main.sage')`.\n\nNow take any graph in Sage, such as:\n\n```sage\ng = polytopes.cuboctahedron().graph()\n```\nNow find one or all legal orbits:\n\n```sage\none_legal_orbit(g)\nall_legal_orbits(g)\n```\n\nYou can customize the search by specifiying the range of colors of the colorings and the number of threads used for parallelizable operations.\n\nMore functionality:\n\n - `all_reduced_colorings(graph,d)` finds all nonisomorphic d-colorings for `graph`.\n - Use `legal_orbits_for_coloring` to check whether a single coloring emits a legal orbit.\n - Use `graph_k_fibers` whether a graph k-fibers for k \u003e 0.\n\n#### Stream Search\n\n`geng` is a tool that generates a list of graphs with certain properties. With `analyze_geng_stream` you can call geng and analyze all graphs for a legal orbit.\n\nYou can also analyze any stream of graphs using `analyze_stream`. The graphs must be separated by newlines and be given in graph6 format.\nUse `graph6_from_graph` and `graph_from_graph6` to convert between Sage graphs and the graph6 representations.\n\n### Limitations\n\nGraphs are limited to 32 vertices, but in practice, 20 vertices is the absolute maximum that will work in reasonable time. This is because the number of colorings and the number of subsets of the vertices both grow at least exponentially.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknothed%2Falgebraic-fibrations","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fknothed%2Falgebraic-fibrations","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknothed%2Falgebraic-fibrations/lists"}