MATLAB: Is there an error in the documentation of the LSQR function in MATLAB 7.1 (R14SP3)

MATLAB

In the documentation of the LSQR function, it says :
"lsqr(A,b,tol,maxit,M1) and lsqr(A,b,tol,maxit,M1,M2) use n-by-n preconditioner M or M = M1*M2 and effectively solve the system A*inv(M)*y= b for y, where x = M*y. "
Why x = M*y, whereas we are supposed to solve the system A*x = b, so could it be x = inv(M)*y ?

Best Answer

This enhancement has been incorporated in Release 2006a (R2006a). For previous product releases, read below for any possible workarounds:
There is an error in the documentation of the LSQR function in MATLAB 7.1 (R14SP3).
It will be fixed in the next release of MATLAB. That is, the documentation should read "where Y = M*X" or equivalently "where X = inv(M)*Y". The routine computes the proper x; there was simply a typo in the documentation