Components and licenses
Everything on this site computes inside your browser. The code is written in TypeScript and C++ and delivered to you as JavaScript and WebAssembly; this page says what it is built from, under which terms and where to get the sources of the binaries.
Download the license texts and copyright notices distributed with this build, including the fonts and JavaScript dependencies.
The solver binaries (GPL)
The sparse solver, spchol.wasm and its threaded twin
spchol-mt.wasm, is CHOLMOD's supernodal Cholesky
factorization from SuiteSparse 5.13.0 with AMD ordering, running on
dense kernels written on Eigen, behind a small C interface of our
own that connects the JavaScript side to CHOLMOD. CHOLMOD's
Supernodal module is licensed under the
GNU
General Public License, version 2 or later, so these binaries
and the shim compiled into them are distributed under the GPL-2.0-or-later
as well. As the GPL requires, the complete corresponding source is
offered here:
-
milamin-solver-wasm-source.zip:
our C interface to CHOLMOD (
spchol.cpp), the Eigen-based BLAS layer (blas_shim.cpp), the build script with the exact compiler flags, the SuiteSparse 5.13.0 modules that were compiled (SuiteSparse_config, AMD, COLAMD, CHOLMOD) and the Eigen 3.4.0 headers, each with its license text. - Upstream: SuiteSparse v5.13.0 (Timothy A. Davis) and Eigen 3.4.0.
Within SuiteSparse, the CHOLMOD Core and Cholesky modules are LGPL-2.1-or-later, the Supernodal module is GPL-2.0-or-later, and AMD, COLAMD and SuiteSparse_config are BSD-3-Clause. Eigen is under the Mozilla Public License 2.0. The binaries were compiled with Emscripten 6.0.3, whose runtime support code is MIT-licensed.
The mesher
Meshing is Jonathan Shewchuk's
Triangle
(version 1.6), in our own WebAssembly build with growable memory,
driven through our TypeScript adapter. Triangle is not
under the GPL and not part of the GPL bundle above: its own terms
allow free private, research and institutional use and
redistribution with its notices intact, while commercial use of the
Triangle code requires the author's permission. The sources used
for the build sit in the repository under
packages/fem-core/wasm-src/triangle with Shewchuk's
README and notices unchanged.
Everything else
- The finite element assembly, the Powell–Hestenes pressure recovery, the banded Cholesky reference solver, the rendering and the pages themselves are TypeScript written for this site, copyright Dani Schmid, 2026, released with the repository under the GPL-2.0-or-later. Folder's analytical growth rates are ported from the original FOLDER (BSD-3-Clause, notice kept with the code). The typefaces, Schibsted Grotesk and IBM Plex Mono, are under the SIL Open Font License, shipped with the license text.
- KaTeX (MIT) typesets the mathematics on the technical notes; highlight.js (BSD-3-Clause) colors the MATLAB listings.
- Citation data on the citations page comes from OpenAlex (CC0).
- The original MILAMIN package (Dabrowski, Krotkiewski & Schmid, 2008) and the recovered milamin.org material are described on their own pages; the MATLAB sources are distributed from SourceForge under their own terms.