% SR_VAB This computes the first N recurrence % coefficients alpha_k, beta_k, k=0,1,\ldots,N-1, to an % accuracy of nofdig digits for the system of polynomials % orthogonal with respect to the weight function % w(x)=x^(a-1)[log(1/x)]^(a-b+1) on (0,1/e] % using ordinary moments. The output variable abv is the % Nx2 array of the nofdig-digit recurrence coefficients, % and dig is the number of digits required to achieve the % target precision of nofdig decimal places using successive % calculations with precisions incremented in steps of dd % digits. The number dd in the first statement of the % routine, as well as dig0, can be changed by the user as % seen appropriate. % function [abv,dig]=sr_vab(N,a,b,nofdig) syms smom abv ab0 ab1 dd=5; % % To reduce computer time, dig0 in the following statement % should be selected considerably higher than nofdig. An % appropriate value can be found by running the routine as % is, and then take for dig0 the output dig. % dig0=nofdig; ii=dig0-dd; maxerr=1; while maxerr>.5*10^(-nofdig) ii=ii+dd; dig=ii smom=smomvab(dig,N,a,b); if ii==dig0 ab0=schebyshev(dig,N,smom); else ab1=schebyshev(dig,N,smom); serr=vpa(abs((ab1-ab0)./ab1),dig); err=subs(serr); maxerr=max(max(err)); ab0=ab1; end end abv=vpa(ab1,nofdig);