Statistics
| Branch: | Revision:

root / synthbench / euroben-dm / mod2ci / .svn / text-base / lpolyn.f.svn-base @ 0:839f52ef7657

History | View | Annotate | Download (1018 Bytes)

1
      Subroutine lpolyn( n, nel, mp, indx, rowp, matvals, u, v, gamma )
2
! ----------------------------------------------------------------------
3
! --- Left polynomial preconditioner of order 'mp'.
4
!     
5
! ----------------------------------------------------------------------
6
      Use         numerics
7
      Use         floptime
8
      Use         mpi_module
9
      Implicit    None
10

    
11
      Integer  :: n, nel, mp
12
      Integer  :: indx(nel), rowp(n+1)
13
      Real(l_) :: matvals(nel)
14
      Real(l_) :: u(*), v(*)
15
      Real(l_) :: gamma(mp+1)
16

    
17
      Real(l_) :: w(n)
18
      Integer  :: i
19
! ----------------------------------------------------------------------
20
      v(lb:gub) = gamma(mp+1)*u(lb:gub)
21
      Do i = 1, mp
22
         Call spmxv( n, nel, indx, rowp, matvals, v, w )
23
         v(lb:gub) = v(lb:gub) - w
24
         v(lb:gub) = v(lb:gub) + gamma(mp-i+1)*u(lb:gub)
25
      End Do
26
      flops = flops + n*( 1 + 3*mp )
27
! ----------------------------------------------------------------------
28
      End Subroutine lpolyn