Projects / libpetey


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.

Operating Systems

Last announcement

Sparse matrix calculator 15 Mar 2012 02:22

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...)

Recent releases

  •  15 Apr 2014 02:14

    Release Notes: Namespaces were added. Full matrix utilities have been "un-inlined" and moved down to the main library/directory.

    •  05 Aug 2013 23:34

      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.

      •  12 Dec 2012 02:27

        Release Notes: The sparse matrix calculator is now up and running. It is, however, completely barebones, and has undergone almost no testing.

        •  14 Sep 2012 20:11

          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.


          Project Spotlight


          A Fluent OpenStack client API for Java.


          Project Spotlight

          TurnKey TWiki Appliance

          A TWiki appliance that is easy to use and lightweight.