Adding left, diagonal, balancing preconditioner to linop/mldivide.  Reduced filter tolerance to 1e-13.  The following example shows the accuracy improvements: 
Adding left, diagonal, balancing preconditioner to linop/mldivide.  Reduced filter tolerance to 1e-13. 
The following example shows the accuracy improvements: 

N = chebop(@(x,u) 6e-5*diff(u,2)-2*x.*(cos(x)-.8).*diff(u)+(cos(x)-.8).*u); 
N.lbc=1; N.rbc=1; N =linop(N);
u = N \ 0; 
norm(N*u)
ans = 

      2.5088e-10

as compared to the unbalanced linop/mldivide which gives residual 

ans = 

     1.0440e-05.

This accuracy could be improved if the filter tolerance is further reduced, but this makes the 
chebtest/misc/circplate.m fail to converge with 1025 points.  It appears that the filter is preventing 
further accuracy gains and not the balanced linear solve.

Stefan and Alex


chebfun/chebfun_v4,nickhale/chebfunV4