Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ Overview1-4 System5-11 Matrix12-20 System22-28 I/O29-31 Translators37-48 System50-59 Linear algebra60-69 Eigen □ Equations □ 70-74 Algebraic75-79 Differential80-84 Quadrature85-95 Approx96-99 Probability100-105 Numerische Mathematik106-110 Graphing
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACLLiteratureAtlas manualsAlgol Library :: Atlas Algol Library
ACLLiteratureAtlas manualsAlgol Library :: Atlas Algol Library
ACL ACD C&A INF CCD CISD Archives
Further reading

Overview
1-4 System
5-11 Matrix
12-20 System
22-28 I/O
29-31 Translators
37-48 System
50-59 Linear algebra
60-69 Eigen
Equations
70-74 Algebraic
75-79 Differential
80-84 Quadrature
85-95 Approx
96-99 Probability
100-105 Numerische Mathematik
106-110 Graphing

ICT60

            procedure eigenvalues(N,A,EV);
value N;
integer N;
real array A,EV;

Eigenvalues of a real symmetric matrix A[1:N,1:N] by Householder's method. They are arranged in descending order in EV[1:N]. Only the lower triangle of A need be input.

ICT61

            procedure iterjacobi(A,N,R,UT,PREC);
integer N;
real PREC;
real array A,R,UT;

Eigenvalues and normalised eigenvectors of a real symmetric matrix A [1:N,1:N] by Jacobi's method. The eigenvalues are in R[1:N] and the eigenvectors in UT[1:N,1:N] such that the jth row of UT is the eigenvector corresponding to R[j]. The iteration is terminated when

i,j | A[i,j] |) / ( Σi A[i,i] ) ≤ PREC.

10-7 is a reasonable value for PREC. Only the upper triangle of A need be input. Remarks: Jacobi's method is considerably slower than Householder's as far as the eigenvalues are concerned but does have the advantage that an orthogonal set of eigenvectors is produced automatically in cases of multiple roots. Not recommended for N > 50.

ICT62

            procedure jacobi(N,AR,AI,LAMBDA,VR,VI,EPSILON);
integer N;
real EPSILON;
real array AR,AI,LAMBDA,VR,VI;

Eigenvalues and normalised eigenvectors of the complex Hermitean matrix AR + iAI by Jacobi's method. Only the upper triangle need be input. The eigenvector corresponding to the eigenvalue LAMBDA[j] is the jth column of VR + iVI. Declare AR,AI,VR,VI [1:N,1:N], LAMBDA [1:N]. The iteration is terminated when

( Σi<j (| AR[i,j] | + | AI[i,j] | ) ) / Σi=1 N | AR[i,i] |

is less than EPSILON ( = 10-7 say ). Not recommended for N > 20.

ICT63

            procedure rutisvalues(N,A,LAMBDAR,LAMBDAI,COUNT,FAULT,PREC);
integer N,COUNT;
array A,LAMBDAR,LAMBADAI;
label FAULT;
real PREC;

Real or complex eigenvalues of a general real N × N matrix A by Wilkinson quasi-triangulation followed by Rutishauser's method. Real and imaginary parts are stored in LAMBDAR,LAMBDAI[1:N]. The procedure exits to FAULT if a precision determined by PREC is not achieved af COUNT iterations. We suggest PREC = 10-10 and COUNT=50. The procedure is quite fast but multiple eigenvalues are found to less precision.

ICT64

            procedure hymanvalues(N,A,LAMBDAR,LAMBDAI,M,EPS);
integer N,M;
array A,LAMBDAR,LAMBADAI;
real EPS;

Real or complex eigenvalues of a general real N × N matrix A by Householder quasitriangulation followed by Hyman's method. Real and imaginary parts in LAMBDAR,LAMBDAI[1 N]. The procedure finds M ≤ N eigenvalues, depending on what EPS is (it should find all of them as long as EPS is not set too small). EPS = 10-8 is small enough for practical purposes. The method is even more accurate than rutisvalues but 3-4 times slower for the same tolerance.

ICT65

            procedure eigenvec(N,A,LAMBDA,VEC,EPS,IMPOSSIBLE);
integer N;
real EPS;
array A,LAMBDA,VEC;
label IMPOSSIBLE;

Eigenvectors of a general real N × N matrix A with real eigenvalues. The procedure reduces A to tridiagonal form and calculates the eigenvectors by inverse iteration. If the reduction is singular an exit to IMPOSSIBLE is made. The eigenvalues are arranged in decreasing order in LAMBDA [1:N] and the eigenvectors are the corresponding columns of VEC[1:N,1:N]. We suggest EPS = 10-10.

There may be some instability in the reduction to tridiagonal form although this is not very common.

⇑ Top of page
© Chilton Computing and UKRI Science and Technology Facilities Council webmaster@chilton-computing.org.uk
Our thanks to UKRI Science and Technology Facilities Council for hosting this site