function vnew=vcycle1(vold,f,nu1,nu2) % VCYCLE1 V-cycle with a direct solve at the coarsest level. global sigma lmin=3; nt=length(f); l=log2(nt-1); if l==lmin vnew=helmholtz(f); else vnew=vold; for ij=1:nu1 vnew=dampj(vnew,f); end nt=length(vnew); nl=nt-1; h=1/nl; hm2=nl*nl; av=zeros(nt,1); av(2:nt-1)=-vnew(1:nt-2)+(2+sigma*h*h)*vnew(2:nt-1)-vnew(3:nt); r=f-hm2*av; fc=ftoc(r); nc=length(fc); vc=zeros(nc,1); vc=vcycle1(vc,fc,nu1,nu2); vnew=vnew+ctof(vc); for ij=1:nu2 vnew=dampj(vnew,f); end end