[updated 30.Oct.1998]

Librairie multmat > Fichier prvc.f

Qui appelle prvc ?

line
      SUBROUTINE PRVC (NBLIGM,LENV,NBCOLM,UENV,ITYSYM,TYMATR,MCMATR
     &                ,MCL,MCU,TYVECT,MCVECT,TYRESU,MCRESU,RST,CST)
line
  Auteur : D.Martin (Avril 1993)
  Derniere modification : D.Martin le 9 Avril 1993
 
  Produit MxV d'une matrice M stockee 'Profil' par un vecteur
 
  ATTENTION : Le vecteur resultat n'est pas initialise a zero dans ce s.p.
 
 -- Arguments d'entree --
  NBLIGM nombre de lignes de la matrice
  LENV   pointeurs profil inferieur
  NBCOLM nombre de colonnes de la matrice
  UENV   pointeurs profil superieur 
  ITYSYM indicateur de symetrie de la matrice 
  TYMATR type (reel ou complexe) de la matrice  
  MCMATR adresse de la diagonale de la matrice dans le super-tableau ad hoc
  MCL    adresse de la partie triangulaire inferieure de la matrice
  MCU    adresse de la partie triangulaire superieure de la matrice
  TYVECT type (reel ou complexe) du vecteur operande 
  MCVECT adresse du vecteur operande
  TYRESU type (reel ou complexe) du vecteur resultat
  MCRESU adresse du vecteur resultat  
  RST,CST super-tableau considere reel ou complexe
line
      CHARACTER*(*) TYMATR,TYVECT,TYRESU
      INTEGER      NBLIGM,NBCOLM,LENV(*),UENV(*)
     &            ,ITYSYM,MCMATR,MCL,MCU,MCVECT,MCRESU
      REAL         RST(*)
      COMPLEX      CST(*)
 
      INTEGER      INDSYM
line
      CALL PRLVC  (NBLIGM,NBCOLM,LENV,TYMATR,MCL
     &            ,TYVECT,MCVECT,TYRESU,MCRESU,RST,CST)
 
      IF (ITYSYM.EQ.INDSYM(' ')) THEN 
         CALL DVC    (MIN(NBLIGM,NBCOLM),TYMATR,MCMATR
     &               ,TYVECT,MCVECT,TYRESU,MCRESU,RST,CST)
         CALL PRUVC  (NBCOLM,NBCOLM,UENV,TYMATR,MCU
     &               ,TYVECT,MCVECT,TYRESU,MCRESU,RST,CST)
 
      ELSEIF (ITYSYM.EQ.INDSYM('SYMETRIQUE')) THEN
         CALL DVC    (NBLIGM,TYMATR,MCMATR
     &               ,TYVECT,MCVECT,TYRESU,MCRESU,RST,CST)
         CALL PRUVC  (NBLIGM,NBLIGM,LENV,TYMATR,MCL
     &               ,TYVECT,MCVECT,TYRESU,MCRESU,RST,CST)
 
      ELSEIF (ITYSYM.EQ.INDSYM('AUTOADJOINTE')) THEN
         CALL DVC    (NBLIGM,TYMATR,MCMATR
     &               ,TYVECT,MCVECT,TYRESU,MCRESU,RST,CST)
         CALL PRALVC (NBLIGM,NBLIGM,LENV,TYMATR,MCL
     &               ,TYVECT,MCVECT,TYRESU,MCRESU,RST,CST)
 
      ELSEIF (ITYSYM.EQ.INDSYM('ANTISYMETRIQUE')) THEN
         CALL TMDANT (NBLIGM,TYVECT,MCVECT,RST,CST
     &               ,TYVECT,MCVECT,RST,CST)
         CALL PRUVC  (NBLIGM,NBLIGM,LENV,TYMATR,MCL
     &               ,TYVECT,MCVECT,TYRESU,MCRESU,RST,CST)
         CALL TMDANT (NBLIGM,TYVECT,MCVECT,RST,CST
     &               ,TYVECT,MCVECT,RST,CST)
 
      ELSEIF (ITYSYM.EQ.INDSYM('ANTIADJOINTE')) THEN
         CALL TMDANT (NBLIGM,TYVECT,MCVECT,RST,CST
     &               ,TYVECT,MCVECT,RST,CST)
         CALL PRALVC (NBLIGM,NBLIGM,LENV,TYMATR,MCL
     &               ,TYVECT,MCVECT,TYRESU,MCRESU,RST,CST)
         CALL TMDANT (NBLIGM,TYVECT,MCVECT,RST,CST
     &               ,TYVECT,MCVECT,RST,CST)
      ENDIF
                                                                    END !PrVc
line
top

prvc est appelé dans (2 procédures)

top