function [] = lanczos(A, m)
this is a function whick takes A as input which is a matrix and reduces it to smaller size. And i have got a for loop
for j=2:inf w = A*V(:,j) - beta(j)*V(:,j-1); alpha(j) = w'*V(:,j); w = w - alpha(j)*V(:,j); beta(j+1) = norm(w,2); loopcnt = loopcnt + 1; if abs(beta(j+1)) = 0 break endend
now i need the control to come out of loop when beta(j+1) is equal to zero ,but its looping continuously may be because of some floating point error.so i tried something like this
if abs(beta(j+1)) < 0.0001 should come out of loop which worked fine for smaller matrix sizes.
but when matrix size got bigger even its not working and loop is running continuosly can some one suggest me a way to avoid this problem and run the loop properly and break it when beta(j+1) become zero
Best Answer