% 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);
