[updated 30.Oct.2008]
Librairie syslin > Fichier faldlt.f |
SUBROUTINE FALDLT (NMMATR,NVMATR,NMFACT,NVFACT,NIVIMP)
Auteur : D.Martin (Juin 1991)
Derniere modification : D.Martin (26 Juin 2001)
Version 1.0.2
Factorisation L1.D.L1t d'une matrice
Le resultat est un terme stocke sous forme 'Profil'.
L1 est une matrice triangulaire inf. a diagonale unite, L1t sa transposee
-- Arguments d'entree --
NMMATR Nom du tableau contenant la matrice a factoriser
NVMATR Son niveau
NMFACT Nom du terme stocke 'Profil' contenant la matrice factorisee
NVFACT Son niveau
NIVIMP Niveau d'impression pour la la matrice factorisee
N.B. Les termes NMMATR,NVMATR et NMFACT,NVFACT doivent etre differents
si le terme a factoriser n'est pas stocke 'Profil'
IMPLICIT NONE
CHARACTER*(*) NMMATR,NMFACT
INTEGER NVMATR,NVFACT,NIVIMP
INCLUDE 'ALLOC'
INCLUDE 'CONTEX'
CHARACTER*6 ERCODE*120,TYMATR*4,TYFACT,NMSTOK,NMPROF
INTEGER NBLIGN,MCLENV,LGL,NBC,MCUENV,LGU
& ,ITYSYM,INSTOK,MCMATR,MCFACT,NVPROF,MCPROF,IRCODE
COMMON/FORMAH/ERCODE
EQUIVALENCE (ERCODE(89:89),TYMATR),(ERCODE(97:97),TYFACT)
& ,(ERCODE(105:105),NMPROF),(ERCODE(113:113),NMSTOK)
CALL PRFXMJ (1,'*FaLDLt*')
TYFACT='L.D.LT'
-- Transformation eventuelle du stockage de la matrice et adresses
des matrices et tableaux de pointeurs
CALL FAPREP (NMMATR,NVMATR,'S',TYMATR,ITYSYM,NMSTOK,INSTOK,MCMATR
& ,TYFACT,NMFACT,NVFACT,MCFACT,NMPROF,NVPROF,MCPROF
& ,NIVIMP,IMPSDR) !syslin
-- Pointeurs PROFIL et longueurs de la matrice factorisee
CALL EXPROF (MCPROF,IST(MCPROF),NBLIGN,MCLENV,LGL,NBC,MCUENV,LGU) !sdexplo
-- Factorisation proprement dite
CALL LDTLPR (TYMATR,NBLIGN,IST(MCLENV),MCMATR,MCMATR+NBLIGN,EPSMAC
& ,MCFACT,MCFACT+NBLIGN,RST,CST,IRCODE) !syslin
IF (IRCODE.NE.0) GOTO 99990
-- Sauvegarde des tableaux
CALL FAFINA (NMMATR,NVMATR,INSTOK
& ,NMFACT,NVFACT,TYFACT,NMPROF,NVPROF,NIVIMP) !syslin
CALL PRFXMJ (-1,'*FaLDLt*')
RETURN
99990 CALL FAERR (IRCODE,TYFACT,NMMATR,NVMATR,NIVIMP,IMPSDR)
END !FaLDLt
faldlt est appelé dans (5 procédures)