Spar is a modular math parser that comes with a fully featured text frontend,
something like an interactive calculator. It also provides a simple but
complete API for C/C++ programmers. This API provide a complete interface to
a top down parser that supports: variables, constants, functions, modules and
a libc based math library. This math library overrides standard functions with
a "custom" version (such as. deg, rad auto conversion, infinite symbol,
function domain...).
Spar, can be easily extended with modules. A module is a "user" extensions,
written in C/C++, to the basic features of the Simple Parser. Here you can
find the module definition: is a C structure that contains only few data
member:
- module name
- module version
- module description
- a pointer to the module main function
The modules are loaded at run-time by the module loader (that is a high level
layer of the module manager): you can load your modules, simply, coping theirs
paths into the .spar_modules (or any other file, with the -c option).
surf is a tool to visualize some real algebraic geometry: plane algebraic
curves, algebraic surfaces and hyperplane sections of surfaces. surf is
script driven and has (optionally) a nifty GUI using the Gtk widget set.
The algorithms should be stable enough not to be confused by curve/surface
singularities in codimension greater than one and the degree of the surface
or curve. This has been achieved quite a bit. We have drawn curves of degree
up to 30 and surfaces of degree up to 20 successfully. However, there are
examples of curves/surfaces of lower degree where surf fails to produce
perfect images. This happens especially if the equation of the curve/surface
is not reduced. Best results are achieved using reduced equations. On the
other hand, surf displays the Fermat-curves accurately for degree up to 98.
Tablix is a powerful free software kernel for solving general timetabling
problems. It uses a coarse-grained parallel genetic algorithm in
combination with other techniques to construct sensible timetables from XML
formatted problem descriptions. Tablix can run on a single host as well as
on a heterogeneous parallel virtual machine using PVM3.
Tablix kernel supports a very wide range of timetabling problems,
from high school timetabling to barge scheduling. A number of timetable
constraints are already implemented in the default installation.
Because of kernel's modular design it is easy to add custom timetable
constraints and/or modify existing ones. Kernel modules are written in C.
Extensive API documentation is available on the internet
and in the source distribution.
TetGen is a program for generating tetrahedral meshes for arbitrary 3D
domains. The main purpose of TetGen is to create high-quality tetrahedral
meshes for solving partial differential equations using finite element
and finite volume methods. This program, based on Delaunay methods,
currently generates meshes including exact constrained Delaunay
tetrahedralizations and quality (conforming Delaunay) meshes. For a 3D
point set, it generates its exact Delaunay tetrahedralization and convex
hull as well. The program is written in ANSI C++. It is highly portable,
it should be very easy to compile and run on all major computer systems.
It can be also used as a library embedded into other applications.
TomsFastMath is a portable fixed precision math library designed for
very fast exponentiations.
This Tiny Vector and Matrix template library uses Meta and Expression
Templates to evaluate results at compile time, thus making it fast for
low-end systems. Temporaries are avoided because of this. The dimensions
are static and bounded at compile time.
The Visualization Toolkit (VTK) is an open-source, freely available software
system for 3D computer graphics, image processing and visualization. VTK
consists of a C++ class library and several interpreted interface layers
including Tcl/Tk, Java, and Python. Kitware, whose team created and continues
to extend the toolkit, offers professional support and consulting services for
VTK. VTK supports a wide variety of visualization algorithms including: scalar,
vector, tensor, texture, and volumetric methods; and advanced modeling
techniques such as: implicit modeling, polygon reduction, mesh smoothing,
cutting, contouring, and Delaunay triangulation. VTK has an extensive
information visualization framework, has a suite of 3D interaction widgets,
supports parallel processing, and integrates with various databases on GUI
toolkits such as Qt and Tk.
Why3 is a platform for deductive program verification. It provides a rich
language for specification and programming, called WhyML, and relies on
external theorem provers, both automated and interactive, to discharge
verification conditions. Why3 comes with a standard library of logical
theories (integer and real arithmetic, Boolean operations, sets and maps,
etc.) and basic programming data structures (arrays, queues, hash tables,
etc.). A user can write WhyML programs directly and get correct-by-
construction OCaml programs through an automated extraction mechanism.
WhyML is also used as an intermediate language for the verification of C,
Java, or Ada programs.
Why3 is a complete reimplementation of the former Why platform. Among the
new features are: numerous extensions to the input language, a new
architecture for calling external provers, and a well-designed API,
allowing to use Why3 as a software library. An important emphasis is put
on modularity and genericity, giving the end user a possibility to easily
reuse Why3 formalizations or to add support for a new external prover if
wanted.
An X11 graphing utility. Commonly used to display TCP traces.
Yacas (Yet Another Computer Algebra System) is a small and highly flexible
general-purpose computer algebra language. The syntax uses a infix-operator
grammar parser. The distribution contains a small library of mathematical
functions, but its real strength is in the language in which you can easily
write your own symbolic manipulation algorithms. The core engine supports
arbitrary precision arithmetic (although it can optionally be linked with
the library "libgmp3") and is able to execute symbolic manipulations on
various mathematical objects by following user-defined rules.