1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
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 rinfoC.f : same thing in C -- info1.ex is made by makeC makefile 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 makeC: contains the make file to produce info1.ex from rinfoC.c 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
|