...Class Matrix and class Polynomial facilitate finding the characteristic polynomial. A hash table is used to do fast variable and function lookup (they are entries in the same table). Collisions are handled in the hash table by making each entry a linked list. Written as C++ classes using the STL libraries <complex> and <vector>. The Numerical Recipes routines zroots and laguer rewritten in C++ find the complex roots of a polynomial with complex coefficients. Exact quartic and cubic too. FFT that zero pads to 2^m 3^n, for dimensions up to 10.