Matricea rară se memorează în trei vectori doar prin elementele nenule, indicând linia, coloana și valoarea acestora. Elementele vectorului LIN() arată linii, elementele vectorului ICOL() arată poziția pe coloane a elementelor nenule și vectorul VAL() arată care sunt valorile nenule ale matricei.
Subprogramul care reconstruiește matricea A este:
SUBROUTINE TRANSR(M,N,LIN,ICOL,VAL,K,A,IK)
IK=0
IF((K.LE.0).OR.(K.GT.N).OR.(K.GT.M)) GO TO 30
DO 10 I=1,M
DO 10 J=1,N
A(I,J)=0.
10 CONTINUE
DO 20 I=1,K
I=LIN(K)
J=ICOL(K)
A(I,J)=VAL(K)
20 CONTINUE
IK=1
30 CONTINUE
RETURN
END
(06 ianuarie 2018)
No comments:
Post a Comment