File: fmuls1.f

package info (click to toggle)
scilab 2.6-4
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 54,632 kB
  • ctags: 40,267
  • sloc: ansic: 267,851; fortran: 166,549; sh: 10,005; makefile: 4,119; tcl: 1,070; cpp: 233; csh: 143; asm: 135; perl: 130; java: 39
file content (42 lines) | stat: -rw-r--r-- 1,022 bytes parent folder | download | duplicates (4)
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
      subroutine fmuls1(n,h,x,hx)
      implicit double precision (a-h,o-z)
c
c ce sous-programme effectue le produit  h * x   avec:
c n (e) dimension du probleme
c h (e) dimension n(n+1)/2. tiangle superieur, coefficients par ligne
c x (e) vecteur de dimension n
c hx (s) dimension n. resultat du produit
c
c     Copyright INRIA
c
c parametre
      double precision  zero
      parameter       ( zero=0.0d+0 )
c declarations
      double precision  h(*), x(n), hx(n), aux1
      integer    n, k, km1, kj, j
c
      do 3000 k=1,n
c calcul de la keme composante du produit  h* x
      aux1=zero
c h(kj) est le coefficient (k,j) de la matrice symetrique complete
      kj=k
      km1=k-1
c contribution du triangle inferieur
      if (km1.ge.1) then
      do 1000 j=1,km1
      aux1=aux1 + h(kj) * x(j)
      kj=kj+(n-j)
1000  continue
      endif
c contribution du triangle superieur
      do 2000 j=k,n
      aux1=aux1 + h(kj) * x(j)
      kj=kj+1
2000  continue
c
      hx(k)=aux1
3000  continue
c
      return
      end