PicoSAT is a satisfiability (SAT) solver for boolean variables in
boolean expressions. A SAT solver can determine if it is possible to
find assignments to boolean variables that would make a given set of
expressions true. If it's satisfiable, it can also show a set of
assignments that make the expression true.
Many problems can be broken down into a large SAT problem (perhaps with
thousands of variables), so SAT solvers have a variety of uses.
Another Python Graph Library is a simple, fast and easy to use graph library
with some machine learning features. The main features are as follows:
* Directed, undirected and multigraphs designed under a hierarchical
class structure
* Sparse and Dense graph structures using numpy and scipy for fast linear
algebra computations
* Many operations on graphs such as subgraphs, search, Floyd-Warshall,
Dijkstras algorithm
* Erdos-Renyi, Small-World and Albert-Barabasi random graphs
* Write to Pajek, and simple CSV files
* Some machine learning features - data preprocessing, kernels, PCA, KCCA,
wrappers for LibSVM, and some mlpy learning algorithms
* Unit tested using the Python unittest framework
This is a Qt4 version of QwtPlot3d - a feature-rich Qt/OpenGL-based
C++ programming library, providing essentially a bunch of 3D-widgets.
Fastcluster provides Python functions for hierarchical clustering. It generates
hierarchical clusters from distance matrices or from vector data.
Part of this module is intended to replace the functions
linkage, single, complete, average, weighted, centroid, median, ward
in the module scipy.cluster.hierarchy with the same functionality but much
faster algorithms. Moreover, the function 'linkage_vector' provides
memory-efficient clustering for vector data.
The interface is very similar to MATLAB's Statistics Toolbox API to make code
easier to port from MATLAB to Python/Numpy. The core implementation of this
library is in C++ for efficiency.
Gnuplot.py is a Python package that interfaces to gnuplot, the popular plotting
program. It allows you to use gnuplot from within Python to plot arrays of data
from memory, data files, or mathematical functions. If you use Python to
perform computations or as `glue' for numerical programs, you can use this
package to plot data on the fly as they are computed. And the combination with
Python makes it is easy to automate things, including to create crude
`animations' by plotting different datasets one after another.
Commands are communicated to gnuplot through a pipe and data either through
the same pipe (as "inline" data) or through temporary files. It has been
written and tested on a Unix computer.
This package has an object-oriented design that allows the user flexibility to
set plot options and to run multiple gnuplot sessions simultaneously. If you
are more ambitious, it is not difficult to add entirely new types of plottable
items by deriving from the `PlotItem' class.
For a demonstration, run the python file by typing `python demo.py'.
Python interface to GNU Scientific Library
A python implementation of the munkres algorithm
Theano is a Python library that allows you to define, optimize, and
efficiently evaluate mathematical expressions involving multi-dimensional
arrays. It is built on top of NumPy.
REDUCE is an interactive system for general algebraic computations of
interest to mathematicians, scientists and engineers. It has been
produced by a collaborative effort involving many contributors. Its
capabilities include:
* expansion and ordering of polynomials and rational functions;
* substitutions and pattern matching in a wide variety of forms;
* automatic and user controlled simplification of expressions;
* calculations with symbolic matrices;
* arbitrary precision integer and real arithmetic;
* facilities for defining new functions and extending program syntax;
* analytic differentiation and integration;
* factorization of polynomials;
* facilities for the solution of a variety of algebraic equations;
* facilities for the output of expressions in a variety of formats;
* facilities for generating optimized numerical programs from symbolic input;
* calculations with a wide variety of special functions;
* Dirac matrix calculations of interest to high energy physicists.
It is often used as an algebraic calculator for problems that are possible
to do by hand. However, REDUCE is designed to support calculations that
are not feasible by hand.
NArray is an Numerical N-dimensional Array class. Supported element types are
1/2/4-byte Integer, single/double-precision Real/Complex, and Ruby Object. This
extension library incorporates fast calculation and easy manipulation of large
numerical arrays into the Ruby language. NArray has features similar to NumPy,
but NArray has vector and matrix subclasses.