Appendix D The Eigenvalue Problem
Appendix D The Eigenvalue Problem
Eigenvalues and Eigenvectors are Properties of the Equations that Simulate the Behavior of a Real Structure
D.1
INTRODUCTION
{ XE "Eigenvalue Problem" }The classical mathematical eigenvalue problem is defined as the solution of the following equation:
Av n = n v n
n = 1......N
(D.1)
{ XE "Eigenvalues" }{ XE "Eigenvalues of Singular System" }{ XE "Eigenvectors" }The N by N A matrix is real and symmetric; however, it may be singular and have zero eigenvalues n . A typical eigenvector v n has the following orthogonality properties:
vTvn = 1 n and v T v m = 0 n if n m , therefore v T Av n = n and v T Av m = 0 if n m n n If all eigenvectors V are considered, the problem can be written as: AV = V or V T AV = (D.3) (D.2)
There are many different numerical methods to solve Equation (D.3) for eigenvectors V and the diagonal matrix of eigenvalues . In structural analysis, in general, it is only necessary to solve for the exact eigenvalues of small matrices (if subspace iteration method is used). Therefore, the most reliable and robust will be selected because the computational time will always be relatively
APPENDIX D-2
small. For the determination of the dynamic mode shapes and frequencies of large structural systems, subspace iteration or Load Dependent Ritz, LDR, vectors are the most efficient approaches.
D.2
The starting transformation matrix T ( 0) is set to a unit matrix. The iterative orthogonal transformation matrix T (k ) , with four non-zero terms in the i and j rows and columns, is of the following orthogonal form:
T(k)
Tii T ji
Tij T jj
(D.5)
The four non-zero terms are functions of an unknown rotation angle and are defined by:
(D.6)
Therefore, T ( k )T T ( k ) = I , which is independent of the angle . The typical iteration involves the following matrix operation:
A ( k ) = T ( k ) T A ( k 1 ) T ( k )
(D.7)
EIGENVALUE PROBLEM
APPENDIX D-3
The angle is selected to force the terms i,j and j,i in the matrix A (k ) to be zero. This is satisfied if the angle is calculated from:
tan 2 =
( 2 A ijk 1) ( A iik 1) A (jjk 1)
(D.8)
The classical Jacobi eigenvalue algorithm is summarized within the computer subroutine given in Table D.1. One notes that the subroutine for the solution of the symmetric eigenvalue problem by the classical Jacobi method does not contain a division by any number. Also, it can be proved that after each iteration cycle, the absolute sum of the off-diagonal terms is always reduced. Hence, the method will always converge and yield an accurate solution for positive, zero or negative eigenvalues. The Jacobi algorithm can be directly applied to all off-diagonal terms, in sequence, until all terms are reduced to a small number compared to the absolute value of all terms in the matrix. However, the subroutine presented uses a threshold approach in which it skips the relatively small off-diagonal terms and operates only on the large off-diagonal terms. To reduce one off-diagonal term to zero requires approximately 8N numerical operations. Clearly, one cannot precisely predict the total number of numerical operation because it is an iterative method; however, experience has indicated that the total number of numerical operations to obtain convergence is the order of 10N3. Assuming a modern (1998) personal computer can perform over 6,000,000 operations per second, it would require approximately one second of computer time to calculate the eigenvalues and eigenvectors of a full 100 by 100 matrix.
APPENDIX D-4
Table D.1 Subroutine to Solve the Symmetric Eigenvalue Problem SUBROUTINE JACOBI(A,V,NEQ,NF) IMPLICIT REAL*8 (A-H,O-Z) DIMENSION A(NEQ,NEQ),V(NEQ,NEQ) !--- EIGENVALUE SOLUTION BY JACOBI METHOD -----! WRITTEN BY ED WILSON July 4, 2008 -------! A - GIVEN MATRIX TO BE SOLVED ----------! EIGENVALUES ON DIAGONAL AFTER SOLUTION ! V - MATRIX OF EIGENVECTORS PRODUCED ! NF - NUMBER OF SIGNIFICANT FIGURES DATA ZERO /0.0D0/ !--- INITALIZE EIGENVECTORS and SET TOLERANCE -TOL = 0.1**NF ; SUM = ZERO ; V = ZERO DO I=1,NEQ V(I,I) = 1.0 DO J=1,NEQ ; SUM = SUM + ABS(A(I,J)) ; END DO END DO ! "I" LOOP IF (SUM.LE.0.0) RETURN ! NULL MATRIX !--- REDUCE MATRIX TO DIAGONAL ---------------400 SSUM = ZERO DO J=2,NEQ IH = J - 1 DO I=1,IH IF (ABS(A(I,J))/SUM.GT.TOL) THEN ! SET A(I,J) TO ZERO SSUM = SSUM + ABS(A(I,J)) ! SUM OF OFF-DIAGONAL TERMS !--- CALCULATE ROTATION ANGLE ----------------AA = ATAN2(2.0*A(I,J),A(I,I)-A(J,J))/2.0 SI = SIN(AA) ; CO = COS(AA) !--- MODIFY "I" AND "J" COLUMNS OF "A" AND "V" DO K=1,NEQ TT = A(K,I) A(K,I) = CO*TT + SI*A(K,J) A(K,J) = -SI*TT + CO*A(K,J) TT = V(K,I) V(K,I) = CO*TT + SI*V(K,J) V(K,J) = -SI*TT + CO*V(K,J) END DO !--- MODIFY DIAGONAL TERMS -------------------A(I,I) = CO*A(I,I) + SI*A(J,I) A(J,J) =-SI*A(I,J) + CO*A(J,J) A(I,J) = ZERO !--- MAKE "A" MATRIX SYMMETRICAL -------------DO K=1,NEQ ; A(I,K)=A(K,I) ; A(J,K)=A(K,J) ; END DO END IF END DO ! "J" LOOP END DO ! "I" LOOP !--- CHECK FOR CONVERGENCE -------------------IF( ABS(SSUM)/SUM .GT.TOL ) GO TO 400
EIGENVALUE PROBLEM
APPENDIX D-5
RETURN ; END
D.3
(D.9)
(D.10)
in which V is the standard direction cosine matrix. Because V V T is a unit matrix, Equation (D.3) can be written as the following eigenvalue problem:
SV = V
(D.11)
where is an unknown diagonal matrix of the principal stresses (eigenvalues) and V is the unknown direction cosine matrix (eigenvectors) that uniquely define the directions of the principal stresses. To illustrate the practical application of the classical Jacobi method, consider the following state of stress:
x xy xz 120 55 75 S = yx y yz = 55 55 33 75 33 85 zx zy z
(D.12)
APPENDIX D-6
.224 .352 .909 1 162.54 = 68.40 and V = .308 .910 .277 2 .925 .217 .312 3 114.14
(D.13)
The solution of a 3 by 3 eigenvalue problem can be considered as a trivial numerical problem. Several hundred of those problems can be solved by the classical Jacobi method in one second of computer time. Note that negative eigenvalues are possible.
D.4
AV = B V
(D.14)
where both A and B are symmetrical matrices. The first step is to calculate the eigenvectors VB of the B matrix. We can now let the eigenvectors V be a linear combination or the eigenvectors of the B matrix. Or:
V = VB V (D.15)
Substitution of Equation (D.15) into Equation (D.14) and the pre-multiplication T of both sides by VB yields:
T T VB AV B V = VB B VB V
(D.16)
If all eigenvalues of the B matrix are non-zero, the eigenvectors can be T normalized so that VB B VB = I . Hence, Equation (D.16) can be written in the following classical form:
A V = V
(D.17)
T { XE "Eigenvalue Problem" }where A = VB AVB . Therefore, the general eigenvalue problem can be solved by applying the Jacobi algorithm to both matrices. If the B matrix is diagonal, the eigenvectors VB matrix will be diagonal, with the diagonal terms equal to 1 / Bnn . This is the case for a
EIGENVALUE PROBLEM
APPENDIX D-7
lumped mass matrix. Also, mass must be associated with all degrees of freedom and all eigenvectors and values must be calculated.
D.5
SUMMARY
Only the Jacobi method has been presented in detail in this section. It is restricted to small full matrices in which all eigenvalues are required. For this problem, the method is very robust and simple to program. For the dynamic modal analysis of large structural systems or for the stability analysis of structural systems, other more numerically efficient methods are recommended.