//--------------------------------------------------------------- // llustration of Power Iteration for computing a prestige vector //--------------------------------------------------------------- // Solving matrix equation lambda x P = A x P // (find eigenvector P and eigenvalue lambda) // // |p1| | 0 0 1 | |p1| // lambda x |p2| = | 1 0 0 | x |p2| // |p3| | 1 1 0 | |p3| // //--------------------------------------------------------------- public class PowerIteration { static final double epsilon = 0.01; static double p1, p2, p3, q1, q2, q3, lambda; public static void main (String[] args) { p1=1; p2=1; p3=1; do { q1 = p1; q2 = p2; q3 = p3; p1 = 0*q1 + 0*q2 + 1*q3; p2 = 1*q1 + 0*q2 + 0*q3; p3 = 1*q1 + 1*q2 + 0*q3; lambda = norm(p1,p2,p3); p1 = p1/lambda; p2 = p2/lambda; p3 = p3/lambda; System.out.println(p1+"\t"+p2+"\t"+p3+"\t"+lambda); } while (norm(p1-q1,p2-q2,p3-q3)>epsilon); } private static double norm (double x,double y,double z) { return Math.sqrt(x*x+y*y+z*z); } }