![]() |
|
|||
File indexing completed on 2025-08-05 08:21:10
0001 0002 C********************************************************************* 0003 0004 C...PYEIGC 0005 C...Finds eigenvalues of a general complex matrix 0006 C 0007 C THIS SUBROUTINE CALLS THE RECOMMENDED SEQUENCE OF 0008 C SUBROUTINES FROM THE EIGENSYSTEM SUBROUTINE PACKAGE (EISPACK) 0009 C TO FIND THE EIGENVALUES AND EIGENVECTORS (IF DESIRED) 0010 C OF A COMPLEX GENERAL MATRIX. 0011 C 0012 C ON INPUT 0013 C 0014 C NM MUST BE SET TO THE ROW DIMENSION OF THE TWO-DIMENSIONAL 0015 C ARRAY PARAMETERS AS DECLARED IN THE CALLING PROGRAM 0016 C DIMENSION STATEMENT. 0017 C 0018 C N IS THE ORDER OF THE MATRIX A=(AR,AI). 0019 C 0020 C AR AND AI CONTAIN THE REAL AND IMAGINARY PARTS, 0021 C RESPECTIVELY, OF THE COMPLEX GENERAL MATRIX. 0022 C 0023 C MATZ IS AN INTEGER VARIABLE SET EQUAL TO ZERO IF 0024 C ONLY EIGENVALUES ARE DESIRED. OTHERWISE IT IS SET TO 0025 C ANY NON-ZERO INTEGER FOR BOTH EIGENVALUES AND EIGENVECTORS. 0026 C 0027 C ON OUTPUT 0028 C 0029 C WR AND WI CONTAIN THE REAL AND IMAGINARY PARTS, 0030 C RESPECTIVELY, OF THE EIGENVALUES. 0031 C 0032 C ZR AND ZI CONTAIN THE REAL AND IMAGINARY PARTS, 0033 C RESPECTIVELY, OF THE EIGENVECTORS IF MATZ IS NOT ZERO. 0034 C 0035 C IERR IS AN INTEGER OUTPUT VARIABLE SET EQUAL TO AN ERROR 0036 C COMPLETION CODE DESCRIBED IN THE DOCUMENTATION FOR COMQR 0037 C AND COMQR2. THE NORMAL COMPLETION CODE IS ZERO. 0038 C 0039 C FV1, FV2, AND FV3 ARE TEMPORARY STORAGE ARRAYS. 0040 C 0041 C QUESTIONS AND COMMENTS SHOULD BE DIRECTED TO BURTON S. GARBOW, 0042 C MATHEMATICS AND COMPUTER SCIENCE DIV, ARGONNE NATIONAL LABORATORY 0043 C 0044 C THIS VERSION DATED AUGUST 1983. 0045 C 0046 0047 SUBROUTINE PYEICG(NM,N,AR,AI,WR,WI,MATZ,ZR,ZI,FV1,FV2,FV3,IERR) 0048 0049 INTEGER N,NM,IS1,IS2,IERR,MATZ 0050 DOUBLE PRECISION AR(4,4),AI(4,4),WR(4),WI(4),ZR(4,4),ZI(4,4), 0051 X FV1(4),FV2(4),FV3(4) 0052 IF (N .LE. NM) GOTO 100 0053 IERR = 10 * N 0054 GOTO 120 0055 C 0056 100 CALL PYCBAL(NM,N,AR,AI,IS1,IS2,FV1) 0057 CALL PYCRTH(NM,N,IS1,IS2,AR,AI,FV2,FV3) 0058 IF (MATZ .NE. 0) GOTO 110 0059 C .......... FIND EIGENVALUES ONLY .......... 0060 CALL PYCMQR(NM,N,IS1,IS2,AR,AI,WR,WI,IERR) 0061 GOTO 120 0062 C .......... FIND BOTH EIGENVALUES AND EIGENVECTORS .......... 0063 110 CALL PYCMQ2(NM,N,IS1,IS2,FV2,FV3,AR,AI,WR,WI,ZR,ZI,IERR) 0064 IF (IERR .NE. 0) GOTO 120 0065 CALL PYCBA2(NM,N,IS1,IS2,FV1,N,ZR,ZI) 0066 120 RETURN 0067 END
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |