## Eigen Values and Vectors

**Please turn javascript on.**

also see

Maths

matrices

Eigen v.

#### Please turn JavaScript on.

- A
*symmetric*real-valued matrix times an arbitrary vector: -
// ------------------------------------ var dimn = 4; var s = M_symmetric(dimn), v = V_random(dimn); var sv = M_times_V(s, v); var PRE = '<'+'PRE CLASS=smallish>', ERP = '<'+'/PRE>', BR = '<'+'BR>'; document.write( PRE + strings2string( glue( M2strings(s), glue( M2strings(V2col(v)), glue( string2strings('='), M2strings(V2col(sv)) ))), BR, BR) + ERP ); #### JavaScript is off!-(

- for example.
- A symmetric N×N matrix has N real Eigen-values (not necessarily distinct).
**The naive Eigen-value algorithm**finds-
// ------------------------------------ var ev = EigenVector(s); var sev = M_times_V(s,ev); var normsev = norm(sev), nsev = normalize(sev); document.write( PRE + strings2string( glue( M2strings(s), glue( string2strings('*'), glue( M2strings(V2col(ev)), glue( string2strings('='), glue( M2strings(V2col(sev)), glue( string2strings('=' + rounding(normsev, 1000)), M2strings(V2col(nsev)) )))))), BR, BR) + ERP); #### JavaScript is off!-(

- The naive algorithm is easy to understand, but is slow, finds only the |largest| Eigen-value (without extra work), and is not always accurate.
**The Jacobi Eigen-value algorithm**finds-
// ------------------------------------ var Evv= Jacobi(s); var Eval =Evv[0], Evec = Evv[1]; var EvecT = transpose(Evec); var ns = new Array(); for( var i = 0; i < Evv[0].length; i ++ ) ns[i] = norm(Evv[1][i]); document.write( PRE + strings2string( glue( string2strings('vals='), glue( M2strings(V2col(Eval)), glue( string2strings(' vecs='), glue( M2strings(Evec), glue( string2strings(' norms='), M2strings(V2col(ns)) ))))), BR, BR) + ERP); for( var i = 0; i < Eval.length; i ++ ) document.write( PRE + strings2string( glue( M2strings(s), glue( string2strings('*'), glue( M2strings(V2col(Evec[i])), glue( string2strings('='), glue( M2strings(V2col(M_times_V(s, Evec[i]))), glue( string2strings('=' + rounding(Eval[i], 1000) + '*'), M2strings(V2col(Evec[i])) )))))), BR, BR) + ERP ); #### JavaScript is off!-(

- (
*random*example computed by*JavaScript*) - performs much better and returns all the Eigen-values and Eigen-vectors.
- There are many other Eigen-value algorithms.
- An Eigen-value finding algorithm is used in Kearsley's method for the 3-D superposition problem.

**Please turn javascript on.**