
       BANDITS: a Matlab Package of Band Krylov Subspace Iterations
       ------------------------------------------------------------

                          Roland W. Freund


Installation:
-------------

After you have downloaded the file "BANDITS.zip" and unzipped it, you will have
a directory called "BANDITS", which contains the text files "README.txt" and
"LICENSE.txt" and the subdirectories "src" and "example_drivers".  In order for
Matlab to locate the Matlab codes in the BANDITS package, you need to add the
path name of your directory "BANDITS" to the Matlab search path.  An easy way
to do this is to create a file named "startup" that contains the single line

   addpath(genpath('path_name_of_my_directory_BANDITS'))

(where path_name_of_my_directory_BANDITS is the path name to your directory
"BANDITS") and place it in the directory where you run Matlab.


Subdirectory "src":
-------------------

This subdirectory contains the Matlab functions that implement the band Arnoldi
process, the band Lanczos method, and the simplified versions of the band
Lanczos method for Hermitian, (complex) symmetric, J-Hermitian, and J-symmetric
matrices:

   band_Arnoldi.m
   band_Lanczos.m
   Herm_band_Lanczos.m
   sym_band_Lanczos.m
   JHerm_band_Lanczos.m
   Jsym_band_Lanczos.m

The subdirectory also contains the auxiliary functions that are called in these
implementations of the various band algorithm and a tool for making the
matrices for the compact form of the recurrence relations employed in these
algorithms:

   check_tolerances.m
   deflation.m
   save_result.m
       
   make_matrices_for_compact_recursions.m


Subdirectory "example_drivers":
-------------------------------

This subdirectory contains the example drivers

   example_driver_band_Arnoldi.m
   example_driver_band_Lanczos.m
   example_driver_simplified_band_Lanczos.m

for the Matlab functions that implement the band Arnoldi process, the band
Lanczos method, and the simplified versions of the band Lanczos method for
Hermitian, (complex) symmetric, J-Hermitian, and J-symmetric matrices, together
with the auxiliary functions

   make_some_starting_blocks.m
   make_sparse_randn_matrix_A.m
   make_sparse_randn_matrix_A_and_J.m
   MultA.m
   MultA2.m

that are called in these example drivers.
