1      integer function idamin(n,dx,incx)
2*
3* $Id$
4*
5c
6c     finds the index of element having min. absolute value.
7C     Trivial modification of BLAS idamax routine!
8c
9      double precision dx(*),dmin
10      integer i,incx,ix,n
11c
12      idamin = 0
13      if( n.lt.1 .or. incx.le.0 ) return
14      idamin = 1
15      if(n.eq.1)return
16      if(incx.eq.1)go to 20
17c
18c        code for increment not equal to 1
19c
20      ix = 1
21      dmin = dabs(dx(1))
22      ix = ix + incx
23      do 10 i = 2,n
24         if(dabs(dx(ix)).ge.dmin) go to 5
25         idamin = i
26         dmin = dabs(dx(ix))
27    5    ix = ix + incx
28   10 continue
29      return
30c
31c        code for increment equal to 1
32c
33   20 dmin = dabs(dx(1))
34      do 30 i = 2,n
35         if(dabs(dx(i)).ge.dmin) go to 30
36         idamin = i
37         dmin = dabs(dx(i))
38   30 continue
39      return
40      end
41