function vnew=vcycle2(vold,f,nu1,nu2) % VCYCLE2 V-cycle from page 41 for the Helmoltz equation global sigma lmin=3; vtmp=vold; nt=length(f); l=log2(nt-1); for ij=1:nu1 vtmp=dampj(vtmp,f); end if l > lmin nt=length(vtmp); nl=nt-1; h=1/nl; hm2=nl*nl; av=zeros(nt,1); av(2:nt-1)=-vtmp(1:nt-2)+(2+sigma*h*h)*vtmp(2:nt-1)-vtmp(3:nt); r=f-hm2*av; fc=ftoc(r); nc=length(fc); vc=zeros(nc,1); vc=vcycle2(vc,fc,nu1,nu2); vtmp=vtmp+ctof(vc); end for ij=1:nu2 vtmp=dampj(vtmp,f); end vnew=vtmp;