A WebAssembly build of GAP running entirely in your browser — no installation. For real work, performance and memory, install GAP.
SharedArrayBuffer, which is only
available when the page is served with the headers
Cross-Origin-Opener-Policy: same-origin and
Cross-Origin-Embedder-Policy: require-corp. The
bundled service worker handles this on hosts where you can't set
headers (e.g. GitHub Pages) — its first activation needs a reload,
so if you see this message, try reloading once. For local hosting
use etc/emscripten/serve.py.
GAP is a system for computational discrete algebra, with particular emphasis on computational group theory. This page is a self-contained WebAssembly build, served as a static site and run inside a Web Worker; you interact with it through an xterm-pty terminal.
To get started, try 1+1;,
Factorial(20);, or SymmetricGroup(5); —
or use the examples menu. The full
GAP manuals apply,
with some caveats: some packages won't load (anything that needs
a native compiler or system library), working memory is capped,
performance is reduced compared to a native build, and a running
computation cannot be interrupted — the Restart button is the
only way out of a loop.
Files downloaded on first visit are cached in your browser's IndexedDB, so subsequent visits start much faster. Clear the site data to reset the cache. Files you create in a session are not kept across reloads or restarts beyond the panel's download cache.
GAP is free software, distributed under the GNU General Public License (version 2 or later). See the copyright notice for the full statement. The Ubuntu fonts are distributed under the Ubuntu Font Licence.