Changeset 2853 for trunk/GSASIImath.py
- Timestamp:
- Jun 2, 2017 8:44:14 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIImath.py
r2847 r2853 170 170 chisq0 = np.sum(M**2) 171 171 Yvec,Amat = Hess(x0,*args) 172 # print 'unscaled SVD zeros',pinv(Amat)[1] 172 173 Adiag = np.sqrt(np.diag(Amat)) 173 174 psing = np.where(np.abs(Adiag) < 1.e-14,True,False) … … 183 184 Amatlam = Amat*(One+Lam) 184 185 try: 185 Ainv = pinv(Amatlam,xtol)[0] #do Moore-Penrose inversion (via SVD) 186 Ainv,Nzeros = pinv(Amatlam,xtol) #do Moore-Penrose inversion (via SVD) 187 # Ainv = nl.inv(Amatlam); Nzeros = 0 186 188 except nl.LinAlgError: 187 189 print 'ouch #1 bad SVD inversion; change parameterization' … … 196 198 lam *= 10. 197 199 if Print: 198 print 'new chi^2 %.5g ; matrix modification needed; lambda now %.1e'%(chisq1,lam)200 print 'new chi^2 %.5g, %d SVD zeros ; matrix modification needed; lambda now %.1e'%(chisq1,Nzeros,lam) 199 201 else: 200 202 x0 += Xvec … … 224 226 Bmat,Nzero = pinv(Amatlam,xtol) #Moore-Penrose inversion (via SVD) & count of zeros 225 227 print 'Found %d SVD zeros'%(Nzero) 228 # Bmat = nl.inv(Amatlam); Nzeros = 0 226 229 Bmat = Bmat/Anorm 227 230 return [x0,Bmat,{'num cyc':icycle,'fvec':M,'nfev':nfev,'lamMax':lamMax,'psing':[], 'Converged': ifConverged, 'DelChi2':deltaChi2}]
Note: See TracChangeset
for help on using the changeset viewer.