libpetey is a small scientific/numerical computation library. It includes the following components: templated sorting routines; templated binary tree classes; a templated linked-list class; routines for finding the k-least and k-greatest elements in an array; "supernewton", a one-dimensional root-finding algorithm based on cubic interpolation; a class for working with dates and times; a function for easy parsing of command line options; datasets (the beginnings of a data-representation paradigm that generalizes matrices but is mainly useful for n-dimensional linear interpolation); and sparse matrix library including command-line utilities for sparse matrix multiplication and eigenvalue decomposition as well as a sparse matrix calculator.
|Tags||numerical analysis scientific compution Command Line C++ Library|
The sparse matrix library component of this software is currently under some upheaval. The reason relates to another project, called principal component (PC) proxy tracer interpolation. In order to better understand and refine this method (in particular the mathematics behind it), I am endeavouring to create a calculator for large and sparse matrices. This involves creating a matrix class hierarchy as well as matrix inverse methods. In retrospect, this is an ambitious project and may take some time (and regrettably, may not entirely succeed...)
Release Notes: Namespaces were added. Full matrix utilities have been "un-inlined" and moved down to the main library/directory.
Release Notes: The sparse matrix calculator has been expanded and refined, and now has a man page and comprehensive online documentation. A date calculator was added to the distribution. New C++ wrapper routines were provided for ARPACK. A serious limitation in supernewton has finally been addressed.
Release Notes: The sparse matrix calculator is now up and running. It is, however, completely barebones, and has undergone almost no testing.
Release Notes: Several minor but important changes and additions have been made to revision 220: the Runge-Kutta integration routine now has a thread-safe version; a k-least algorithm based on a quicksort has been added; a complete hierarchy of matrix classes, including a sparse-matrix array, has been added; a new symbol table class has been added; a new "smart" pointer class has also been added; and finally, the leading and trailing underscores in Fortran functions called from C programs can be controlled from the makefile.