5 ! Contributed by Jonathan Hogg
9 integer, parameter, private
:: wp
= kind(0.0)
11 subroutine mc73_fiedler(n
,lirn
,irn
,ip
,list
)
12 integer, intent (in
) :: n
13 integer, intent (in
) :: lirn
14 integer, intent (in
) :: irn(*)
15 integer, intent (in
) :: ip(*)
16 integer, intent (out
) :: list(*)
20 call fiedler_graph(icntl
)
21 end subroutine mc73_fiedler
26 call fiedler_graph(icntl
)
27 end subroutine mc73_order
29 subroutine fiedler_graph(icntl
)
30 integer, intent (in
) :: icntl(10)
32 real (kind
= wp
) :: tol
33 real (kind
= wp
) :: tol1
34 real (kind
= wp
) :: rtol
36 call multilevel_eig(tol
,tol1
,rtol
,icntl
)
37 end subroutine fiedler_graph
39 subroutine multilevel_eig(tol
,tol1
,rtol
,icntl
)
40 real (kind
= wp
), intent (in
) :: tol
,tol1
,rtol
41 integer, intent(in
) :: icntl(10)
43 call level_print(6,'end of level ',1)
44 end subroutine multilevel_eig
46 subroutine level_print(mp
,title1
,level
)
47 character (len
= *), intent(in
) :: title1
48 integer, intent(in
) :: mp
,level
50 integer :: char_len1
,char_len2
52 char_len1
=len_trim(title1
)
54 write (fmt
,"('(',i4,'(1H ),6h===== ,a',i4,',i4,6h =====)')") &
56 ! print *, "fmt = ", fmt
57 ! print *, "title1= ", title1
58 ! print *, "level = ", level
59 write (66,fmt
) title1
,level
60 end subroutine level_print
61 end module hsl_mc73_single
66 character(len
=200) :: str(2)
67 integer, parameter :: wp
= kind(0.0)
70 integer :: irn(1), ip(1), list(1)
73 open (66, status
='scratch')
75 call mc73_fiedler(n
,lirn
,irn
,ip
,list
)
79 if (any (str
/= " ===== end of level 1 =====")) call abort()