libpetey is a library written in C++ to implement kernel based estimators for statistical classification and probability density estimation.
To install, download the tarball from Sourceforge and unpack to the desired location. Edit the makefile and type, "make". You must have the GSL (GNU Scientific Library installed. To copy the library and include files to the appropriate directories, type, "make install". Or, simply add the installation directory to your path. The following macros must be changed to suit your system:
CPP = name of your C++ compiler
GSL_INCLUDE = location of GSL include files
INCLUDE_PATH = desired location of include files
LIB_PATH = desired location of compiled library
CFLAGS = compiler options
The level of optimisation can be changed in the usual way by editing the CFLAGS macro or by setting the OPT_VER macro to the desired flag. This is to create multiple versions with different levels of optimisation--the optimisation flag will be appended to all compiled object files and libraries.
Here is a brief summary of the contents of the library, by include file:
peteys_tmpl_lib.h: A set of template libraries for numerical computation.
heapsort_inplace: Performs a heapsort on arbitary classes (as long as they have the comparison operators defined). This is done in place with no extra storage required.
heapsort: Performs a heapsort. Returns a set of indices for rearranging a vector while leaving the original vector untouched. Slightly slower than above.
treesort: Treesort routine. Sorts the data and returns a set of indices.
reverse: Reverses the order of an array.
map_vector: For use with heapsort routine. Rearranges a vector from a set of indices.
bin_search: Binary search on ordered data.
interpolate: Interpolation on ordered data. Returns a double precision float in which the whole number portion indexes into the array while the fractional value is the interpolation coefficient.
rk_dumb: Fourth-order Runge-Kutta integrator with fixed (non-adaptive) stepsize.
kextreme.h: Routines for finding a set of k minimum or maximum values in an unsorted array. Performs this in n log k time using binary trees.
kleast: Returns the k minimum values in an array. Two versions: one returns a set of indices.
kgreatest: Returns the k maximum values in an array. "
time_class.h: A class for working with dates and times. Very useful.
supernewton.h: A very powerful root-finding algorithm. Works by bracketing the root and fitting a third-order polynomial, combining fast convergence with numerical stability. Function to be zeroed must return its derivatives.
tree_lg: Binary tree class used to find k- minimum and maximum values.
tree_lgi: Binary tree class used to find k- minimum and maximum values. Sorts indices simultaneous to actual values.
linked.h: Templated linked-list class.
tree_tmp.h: Another binary tree class. Not well tested.
string_petey.h: A string class. Not well tested.
bit_array.h: For compact storage of bit data.
What's New in This Release:
· Added README file.
· Changed whole package name to, "libpetey".
What's New in This Release: [ read full changelog ]
· The sparse matrix calculator is now up and running. It is, however, completely barebones, and has undergone almost no testing.