METIS is a set of serial programs for partitioning graphs,
partitioning finite element meshes, and producing fill-reducing
orderings for sparse matrices. The algorithms implemented in METIS are
based on the multilevel recursive-bisection, multilevel k-way, and
multi-constraint partitioning schemes developed in our lab.
METIS provides high-quality partitions, is extremely fast, and
produces low-fill orderings.
A collection and description of functions to compute density,
distribution and quantile function and to generate random variates
of the stable distribution.
ndiff is a utility for comparing putatively similar files, ignoring small
numeric differences. The utility is written by Nelson H. F. Beebe and
covered by the GNU General Public License (GPL), version 2. It may be
built with arbitrary precision support (more powerful) or using built-in
floating point precision, see Makefile.
Assessing the consistency of a numerical program run in multiple
environments (operating systems, architectures, or compilers) can be a
difficult task for a human, as small differences in numerical output values
are expected. File differencing utilites, such as diff(1), will generally
produce voluminous output, often longer than the original files.
ndiff solves this problem. Taking two text files expected to be
identical, or at least numerically similar, it allows to specify absolute
and/or relative error tolerances for differences between numerical values
in the two files, and then reports only the lines with values exceeding
those tolerances. It also tells by how much they differ. A simple example:
% ndiff --relative-error 1.0e-3 test019.txt.1 test019.txt.2
### Maximum relative error in matching lines = 8.64e-51 at line 129 field 4
NLopt is a free/open-source library for nonlinear optimization,
providing a common interface for a number of different free optimization
outines available online as well as original implementations of various
other algorithms. Its features include:
- Callable from C, C++, Fortran, Matlab or GNU Octave, Python,
GNU Guile, Julia, GNU R, Lua, and OCaml.
- A common interface for many different algorithms -- try a different
algorithm just by changing one parameter.
- Support for large-scale optimization (some algorithms scalable to
millions of parameters and thousands of constraints).
- Both global and local optimization algorithms.
- Algorithms using function values only (derivative-free) and also
algorithms exploiting user-supplied gradients.
- Algorithms for unconstrained optimization, bound-constrained
optimization, and general nonlinear inequality/equality constraints.
This is a much simplified, lightweight version of match/p5-Bit-Vector,
and wraps Perl's (sometimes confusing) vec() function in an
object-oriented abstraction.
This module will translate latitude/longitude coordinates to Universal
Transverse Mercator(UTM) coordinates and vice versa.
Math::Bezier::Convert provides functions to convert quadratic bezier to
cubic, to approximate cubic bezier to quadratic, and to approximate
cubic and quadratic bezier to polyline.
This port contains ten types of distributions supplementing
those built into R: Inverse Gauss, Kruskal-Wallis,
Kendall's Tau, Friedman's chi squared, Spearman's rho,
maximum F ratio, the Pearson product moment correlation
coefficient, Johnson distributions, normal scores and
generalized hypergeometric distributions. In addition,
two random number generators of George Marsaglia are
included.
The port is supplemented by an R benchmark based upon the
work of Grosjean, Steinhaus, et al.
Math::Calc::Units is a simple calculator that keeps track
of units. It currently handles combinations of byte sizes
and duration only, although adding any other
multiplicative types is easy. Any unknown type is treated
as a unique user type (with some effort to map English
plurals to their singular forms).
Seamus Venasse <svenasse@polaris.ca>
Chart::Math::Axis implements in a generic way an algorithm for finding a
set of ideal values for an axis. That is, for any given set of data,
what should the top and bottom of the axis scale be, and what should the
interval between the ticks be.
The terms top and bottom are used throughout this module, as it's
primary use is for determining the Y axis. For calculating the X axis,
you should think of 'top' as 'right', and 'bottom' as 'left'.