To Run the Program

Before the filter-diagonalization programs can be run, they have to be compiled. The compilation is started by typing

compile [-opt] progname
where the argument progname can be filter or fdc. The former is the version for real-symmetric Hamiltonians, and the latter is that for complex-symmetric ones. See Compiling the Programs for more information on the compilation.

To start the program on a platform for which you have compiled it just type:

filterver  [argsinput[.inp]
or
fdcver  [argsinput[.inp]
where  ver  is the version number (and optionally a "d" or a name). The argument input is the (absolute or relative) path and stem of the name of the input file, which must have .inp as extension. The parameter args stands for a string containing command line arguments which override the corresponding entries in the input file. If no input file is specified, a brief description on how to run the program is put out.

Assuming that your input file is named  test.inp  and resides in your current directory, then you may type:

filter test
or
fdc test
Note that the usual shortcuts are allowed to specify the path, e.g. the construct  ../dir/test is possible. For further information on the input see Input Description.

To Alter the Program

To develop the program further, the following rules should be obeyed:

  1. Check out the latest code version from the PRCS archive to your own directory.
  2. Make additions so as to change the existing code as little as possible.
  3. Test the new code until you are sure that everything works correctly.
  4. Describe your changes in the corresponding documentation files.
  5. Check in your code to the PRCS archive.

When changing the program, always keep in mind that others might also need to understand your new code.

To Debug the Program

In order to debug the code set the option -d of the compile shell script when compiling the program. By this, the compiler produces additional symbol table information for full symbolic debugging instead of optimising the code. Note that a "d" is added to the name of the executable, e.g. filter81d or fdc81d. A debugger (e.g dbx or gdb) can then aid you in detecting a bug. It may also be helpful to compile and run your code on another platform, since different compilers often perform different checks of the code and produce differently rigorous compiler and run-time warning messages.

Known bugs that have not been fixed yet are compiled in the Code Description.