10 DIM A(5,6),S(5,5)
20 R=.00001 
30 PRINT "INPUT N":INPUT N
40 PRINT "INPUT MATRIX" 
50 FOR I=1 TO N 
60 INPUT A(I,1),A(I,2),A(I,3),A(I,4),A(I,5),A(I,6),A(I,7),A(I,8),           A(I,9),A(I,10)
75 NEXT I 
80 FOR I=1 TO N: S(I,I)=1:NEXT I
90 FOR I=2 TO N:FOR J=1 TO I-1 
100 I1=I1+2*A(I,J)^2  
110 NEXT J:NEXT I  
130 N1=SQR(I1): N2=(R/N)*N1: T=N1 
140 T=T/N 
150 FOR Q=2 TO N:FOR P=1 TO Q-1  
160 IF ABS(A(P,Q))<=T THEN 320 
170 I2=1  
180 V1=A(P,P): V2=A(P,Q): V3=A(Q,Q)
190 M1=(V1-V3)*.5:IF M1<>0 THEN 210 
200 W=-1:GOTO 220  
210 W=-SGN(M1)*V2/SQR(V2^2+M1^2)  
220 T1=W/SQR(2*(1+SQR(1-W/2))): T2=T1^2 
230 C1=SQR(1-T2): C2=C1^2: T3=T1*C1
240 FOR I=1 TO N  
250 I1=A(I,P)*C1-A(I,Q)*T1: A(I,Q)=A(I,P)*T1+A(I,Q)*C1 
260 A(I,P)=I1: I1=S(I,P)*C1-S(I,Q)*T1 
270 S(I,Q)=S(I,P)*T1+S(I,Q)*C1:S(I,P)=I1  
280 NEXT I  
290 FOR I=1 TO N: A(P,I)=A(I,P): A(Q,I)=A(I,Q):NEXT I  
300 A(P,P)=V1*C2+V3*T2-2*V2*T3: A(Q,Q)=V1*T2+V3*C2+2*V2*T3 
310 A(P,Q)=(V1-V3)*T3+V2*(C2-T2): A(Q,P)=A(P,Q) 
320 NEXT P  
330 NEXT Q  
340 IF I2<>1 THEN 360
350 I2=0:GOTO 150  
360 IF T>N2 THEN 140  
370 PRINT "EIGENVALUE","EIGENVECTOR":PRINT 
380 FOR I=1 TO N:PRINT A(I,I),S(1,I)
390 FOR J=2 TO N:PRINT " ",S(J,I):NEXT J 
400 PRINT :PRINT :NEXT I  
999 END 

