Module Funarith_zarith__.Diophantine_zarith.Homogeneous_system

type t
val make : Z.t array array ‑> t

make eqns builds the system eqns = 0, where each eqn : Z.t array in eqns is an array [| a1, …, an |] representing the equation a1 x1 + a2 x2 + … + an xn = 0.

val len : t ‑> int

Number of equations

val n_vars : t ‑> int

Number of variables (i.e. length of each equation)

val eqns : t ‑> Z.t array array

Get underlying equations. NOTE: do not modify!

val solve : ?⁠cut:(solution ‑> bool) ‑> t ‑> solution Sequence.t

Return an iterator on minimum solutions. Any solution to the initial problem is a linear combination of these minimal solutions.

val solve_l : ?⁠cut:(solution ‑> bool) ‑> t ‑> solution list

Eager version of solve, returns the (reverse) list of solutions

val pp : t CCFormat.printer
val pp_sol : solution CCFormat.printer