c------------------------------------------------------------------------------c c INFO MODULE c c------------------------------------------------------------------------------c c The INFO module provides some elementary information on a sparse c c matrix. Geared towards a matrix in Harwell-Boeing format. c c There is also a short main program that will read a Harwell-Boeing c c matrix and produce the information on the standard output. See below. c c c c------------------------------------------------------------------------------c c infofun.f contains subroutines: c c------------------------------------------------------------------------------c c bandwidth : computes the lower, upper, maximum, and average bandwidths. c c nonz : computes maximum numbers of nonzero elements per column/row, c c minimum numbers of nonzero elements per column/row, and c c numbers of zero columns/rows. c c diag_domi : computes the percentage of weakly diagonally dominant c c rows/columns. c c frobnorm : computes the Frobenius norm of A. c c ansym : computes the Frobenius norm of the symmetric and non-symmetricc c parts of A, computes number of matching elements in symmetry c c and relative symmetry match. c c distaij : computes the average distance of a(i,j) from diag and standardc c deviation for this average. c c skyline : computes the number of nonzeros in the skyline storage. c c distdiag : computes the numbers of elements in each diagonal. c c bandpart : computes the bandwidth of the banded matrix, which contains c c 'nper' percent of the original matrix. c c n_imp_diag: computes the most important diagonals. c c nonz_lud : computes the number of nonzero elements in strict lower part, c c strict upper part, and main diagonal. c c avnz_col : computes average number of nonzero elements/column and std c c deviation for this average. c c vbrinfo : Print info on matrix in variable block row format c c------------------------------------------------------------------------------c c rinfo1.f : contains the main program to produce an executable c c------------------------------------------------------------------------------c c dinfo13.f : contains the main subroutine called by rinfo1.f c c------------------------------------------------------------------------------c c makefile: contains the make file to produce info1.ex c c------------------------------------------------------------------------------c c saylr1 : contains the Harwell-Boeing matrix saylr1 for testing purposes. c c------------------------------------------------------------------------------c c info.saylr1 : contains a sample output (see below) for the matrix saylr1. c c------------------------------------------------------------------------------c c------------------------------------------------------------------------------c c Notes: c c------------------------------------------------------------------------------c c The makefile will actually create an executable tool called info1.ex c c which will provide some information on a Harwell/Boeing matrix. c c c c Once you have made the executable info1 using the makefile, c c you can execute for a matrix stored in the Harwell-Boeing c c format. You will need to have a matrix in the harwell/boeing c c format and type c c c c info1.ex < HB_file c c c c This will dump the info on the standard output/ c c c c for example typing info1.ex < saylr1 > info.saylr1 c c c c produces the file info.saylr1. [info.saylr1 is included in this directory c c to check whether you get the same answers]. c c------------------------------------------------------------------------------c