The RVL Project

The Rice Vector Library

The Rice Vector Library ("RVL") is a follow-on to HCL, extending its capabilities and streamlining its design. RVL follows closely the design concepts of HCL, but implements more functionality in base classes, making RVL applications simpler to generate. It uses the function-forwarding concept in the form of "function objects", much as the standard library does, along with exception handling, class templates, STL container classes, and other ISO C++ features not readily available when HCL was developed in the mid-90's.

The rationale and design of RVL are described in some detail in:

Download instructions below.


AlgPack

The Algorithm collection, a spinoff project of RVL, is a framework for abstract expression of iterative algorithms. It was developed in Tony Padula's 2005 PhD thesis, along with many other scientific software innovations (get a pdf of Tony's thesis here). This partial release contains the alg and umin packages:

Download instructions below.

NB: some of the umin applications depend on Table, an ad-hoc but convenient associative array class. It's part of the dustydecks package in the RVL collection, so you will have to install that first. After making sure that your platform/compiler combination is properly represented by a config file in the admin directory of RVL, enter "make install" in the dustydecks root dir.


Downloads

RVL and related packages are now available from the CAAM Subversion server. Use requires a subversion client, which may be obtained from the Subversion web site.

To obtain all of the currently available RVL-related packages, export the packs directory from my repository:

svn export https://cvs.caam.rice.edu:3129/svn/symes/trunk/packs

This command will create a packs subdirectory of the current working directory, and write all of the RVL-related packages into it. You can rename "packs" on the fly by adding your chosen directory name at the end of the command:

svn export https://cvs.caam.rice.edu:3129/svn/symes/trunk/packs foo

will create the subdir "foo" and export the packages into it. To obtain just the package xxxpack,

svn export https://cvs.caam.rice.edu:3129/svn/symes/trunk/packs/xxxpack [your subdir name]

Currently available packs, and their constituent packages:

Each pack directory contains a README file specifying precedence and necessary environment variables. The README in the rvlpack directory gives general installation advice for all packages.


--- WWS, September 07