SPMATH File Descriptions

COPYING A copy of the GNU General Public License.
Makefile.in The makefile template for installing Sparse Math (You must run configure to obtain the Makefile).
README A starting point for the SPMATH documentation.
README_FILES This file, a listing and description of all of the files and directories in spmath.
README_INSTALLATION Instructions for compiling and executing spmath.
README_MODIFICATION Information for making changes to spmath.
README_USE A quick tutorial on the usage of spmath.
spmath.y The bison definition file for spmath's command parser. It contains the complete grammar for spmath commands along with the actions to be taken for each kind of command.
y.tab.C The C file generated by bison from spmath.y. It contains all the code for spmath's parser.
spmath.l The flex definition file for spmath's lexacagraphical analyzer (for turning commands into token streams).
lex.yy.C The C file generated by flex from spmath.l. This C file contains all the code for the lexer (lexacagraphical analyzer) used to create token streams out of input for spmath.
sparse.C A class for implementing sparse matrices. Matrices encapsulated using this object are stored in compressed sparse column format. Many of the operations supported in SPARSKIT are called from this object.
dense.C Contains the "dense" class, which is one of the primitive types used throughout sparse math. It encapsulates much of the functionality of a dense matrix including many of the same functions and operators supported by the "sparse" class.
csparse.c Contains C wrappers for most of the FORTRAN subroutines in SPARSKIT2.
functions.C Contains the implementations of many of the built- in functions for Sparse Math. These functions tend to be called from spmath.y (the grammar definition file) and sometimes make calls out to "sparse" and "dense" member functions in sparse.C and dense.C.
operators.C Contains a function for each of the built-in operators in Sparse Math.
main.C Contains spmath's main function as well as some functions that initialize spmath to use tk.
io.C Contains some high-level functions that load and save sparse matrix files in Harwell Boeing format (soon hopefully Matrix Market as well). Interfaces extensively with io/iohb.C and io/mmio.C.
output.C Contains some high-level functions that allow various things to be outputted (numbers, strings, error messages, prompts, etc.). The functions are abstracted so that they can be called from either the tk or non-tk versions.
value.C A class that encapsulates each of the primitives used in spmath (number, string, dense matrix, sparse matrix, and user-defined function).
entry.C A class for representing an entry for a symbol table. The data structure consists of a pair: A name, and a value (see value.C).
symtab.C A class used to represent a symbol table. The symbol table is the data structure where all of the variables (numbers, strings, matrices) and user- defined functions are stored.
link.C A class for implementing a link in a linked list.
list.C A class for implementing a linked list.
string.C A simple class for implementing strings.
history.C A class for managing the history list.
funct_def.C A class for storing information about a user defined function. The data structure consists of three strings: The name of the return value, the argument list, and the body of the function.
token.C A class that maintains a list of built-in functions stored in a special token table. Not currently used.
tcl.C The file that contains all the C++ functions that are called from tcl as well as all the code that registers these functions with the tcl interpretter.
spmath.tcl The main tcl script for the tk version of spmath. It Manages the main window (the command interpretter) and calls C++ functions via tcl.C.
procs.tcl A tcl script that contains a few useful tcl procedures called from the C++ code (mainly from output.C).
view.tcl The sparse matrix viewer tcl script. It contains all the tcl code used for each sparse matrix viewing window.
spmath.h The most important header file, includes most of the other headers.
*.h Prototypes, class definitions etc. for each source file.
header The title screen that comes up when Sparse Math is started.
init.sp The instruction file to be executed whenever spmath is run. By default it initializes a few variables used by the iterative solver.
libraries/*.f Contains some useful FORTRAN routines.
view/view.C Contains the view class which encapsulates all the C++ functionality of the sparse matrix viewer. This acts as the C++ companion for view.tcl.
io/iohb.C A modified version of V 1.0 of K.A. Remington's "Harwell-Boeing File I/O in C."
io/mmio.C A modified version of Roldan Pozo's "Matrix Market I/O library for ANSI C."
manpage/ The directory that contains all of the online man pages.
manpage/* The online man pages (see help() in functions.C).
matrices/* The example matrices for use with SPMATH. Note, these are all in Harwell-Boeing "Real Unsymmetric Assembled" format because that is all the SPMATH support at this time.
scripts/*.sp Some example scripts that demonstrate some key features of SPMATH. Check them out using the LOAD command.

This page was last modified August 14th, 2001 by Ben Langmead