The Fourier-Motzkin algorithm computes all nullifiers of an integer matrix.
That is, all integer vectors v such that A '*' v is zero.
The implementation is an adaptation of Colom and Silva's algorithm from
'Convex geometry and semiflows in P/T nets. A comparative study of algorithms for computation of minimal P-semiflows.' (Advances in Petri Nets, 1990).
fourier_motzkin :: for_unit a, P!u: for_index P, Q: (a*P!u per Q!) -> List(Q!)
:: for_unit a, P!u: for_index P, Q: (a*P!u per Q!) -> List(Q!)
All nullifiers of the matrix. That is, all integer vectors v
such that matrix '*' v is zero.
The matrix must be an integer matrix.
The algorithm is exponential in the row dimension and in the column dimension.
Version v0.6.0, 2026-03-05T15:49:20.132913109+01:00[Europe/Amsterdam]