var b_eig=new Array();
var bx_eig=new Array();
var lam=new Array();
var v=new Array();
var z_eig;
function eig(){
var s,sx,page;
for(s=1;s<number+1;s++){
v[s]=new Array();
}
for(page=1;page<number+1;page++){
seekbs();
lam[page]=z_eig;
for(s=1;s<number+1;s++){
v[page][s]=b_eig[s];
}
for(s=1;s<number+1;s++){
for(sx=1;sx<number+1;sx++){
x[s][sx]=x[s][sx]-lam[page]*v[page][s]*v[page][sx];
}
}
}
}
function seekbs(){
var s,mode;
b_eig[1]=1;
for(s=2;s<number+1;s++){
b_eig[s]=0;
}
mode=0;
while(mode<100){
seekb();
var e;
e=0;
for(s=1;s<number+1;s++){
e=e+(bx_eig[s]-b_eig[s])*(bx_eig[s]-b_eig[s]);
}
if(e<0.001)mode=1000;
for(s=1;s<number+1;s++){
b_eig[s]=bx_eig[s];
}
mode=mode+1;
}
}
function seekb(){
var s,sx;
var b1;
for(s=1;s<number+1;s++){
b1=0;
for(sx=1;sx<number+1;sx++){
b1=b1+x[s][sx]*b_eig[sx];
}
bx_eig[s]=b1;
}
z_eig=0;
for(s=1;s<number+1;s++){
z_eig=z_eig+bx_eig[s]*bx_eig[s];
}
z_eig=Math.sqrt(z_eig);
for(s=1;s<number+1;s++){
bx_eig[s]=bx_eig[s]/z_eig;
}
}
最終更新:2014年01月11日 20:01