The numanal extension provides a number of primitives for finding the roots and minima of single variable equations, the minima of multi-variable equations, and the roots of systems of n equations in n variables.

Download numanal extension (

This extension assumes that functions can be passed to it in the form of NetLogo tasks (reporters), and therefore it works only with NetLogo version 5. Several of the primitives are written to use matrix algebra and so also require the Jama Matrix class of java methods for performing linear algebra.  (See The Jama-1.0.2.jar file, distributed with this package, must be placed in the same directory as the numanal.jar file. (The same Jama-1.0.2.jar file is also bundled with the matrix extension that comes with the standard NetLogo distribution.)

For single variable equations the primitives include the Brent algorithm for finding a minimum and the Brent algorithm for finding a root.  For single equations in several variables the primitives include the simplex algorithm for finding the minimum.  Finally, for systems of n equations in n unknowns, the primitives include the Newton and Broyden algorithms for finding the n-dimensional root.  (Note that the simplex algorithm can also be used to find the n-dimensional root of a system of n equations, as described at the end of the documentation.)

Documentation for the extension is contained in the NumAnal.pdf file that is part of the download. At some point, it will be summarized here.