"""G05: educational Householder least squares for bounded full-rank matrices."""importmathdefleast_squares(A,b,rtol=1e-12):m,n=len(A),len(A[0])ifAelse0ifnot1<=n<=64ornotn<=m<=10000orlen(b)!=m:raiseValueError("require m >= n, 1..64 columns, <=10000 rows")ifany(len(row)!=nforrowinA):raiseValueError("ragged matrix")ifnotmath.isfinite(rtol)ornot0<rtol<1:raiseValueError("relative rank threshold must lie in (0,1)")ifany(notmath.isfinite(x)forrowinAforxinrow)orany(notmath.isfinite(x)forxinb):raiseValueError("finite matrix and target required")scale=max(abs(x)forrowinAforxinrow)ifscale==0:raiseValueError("rank-deficient zero matrix")R=[[x/scaleforxinrow]forrowinA]target=[x/scaleforxinb]ifany(notmath.isfinite(x)forxintarget):raiseValueError("target exceeds supported dynamic range")forjinrange(n):z=[R[i][j]foriinrange(j,m)]norm=math.hypot(*z)ifnorm<=rtol:raiseValueError("rank deficiency at stated relative threshold")alpha=-math.copysign(norm,z[0])v=list(z)v[0]-=alphavnorm=math.hypot(*v)v=[x/vnormforxinv]forkinrange(j,n):projection=2*math.fsum(v[i-j]*R[i][k]foriinrange(j,m))foriinrange(j,m):R[i][k]-=projection*v[i-j]projection=2*math.fsum(v[i-j]*target[i]foriinrange(j,m))foriinrange(j,m):target[i]-=projection*v[i-j]R[j][j]=alphaforiinrange(j+1,m):R[i][j]=0.x=[0.]*nforjinrange(n-1,-1,-1):remainder=math.fsum(R[j][k]*x[k]forkinrange(j+1,n))x[j]=(target[j]-remainder)/R[j][j]ifnotall(math.isfinite(value)forvalueinx):raiseValueError("nonfinite coefficients")returnxif__name__=="__main__":print(least_squares([[1,0],[1,1],[1,2]],[1,2,2]))