Changeset 421
- Timestamp:
- Nov 17, 2011 4:12:10 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIImapvars.py
r420 r421 455 455 printlist = [] 456 456 mapvars = GetIndependentVars() 457 # for varlist,mapvars,multarr,invmultarr in zip(458 # dependentParmList,indParmList,arrayList,invarrayList):459 457 for i,name in enumerate(mapvars): 460 458 if name in fixedDict: continue … … 468 466 printlist.append(3*[None]) 469 467 for name,val,esd in printlist: 470 if len(s1) > 40 or name is None:468 if len(s1) > 110 or name is None: 471 469 print 472 470 print s1 … … 485 483 else: 486 484 s3 += '%12.6f' % (esd) 487 485 486 def ComputeDepESD(covMatrix,varyList,parmDict): 487 '''Compute uncertainties for dependent parameters from independent ones 488 returns a dictionary containing the esd values for dependent parameters 489 ''' 490 sigmaDict = {} 491 for varlist,mapvars,invmultarr in zip(dependentParmList,indParmList,invarrayList): 492 if invmultarr is None: continue # probably not needed 493 valuelist = [parmDict[var] for var in mapvars] 494 # get the v-covar matrix for independent parameters 495 vcov = np.zeros((len(mapvars),len(mapvars))) 496 for i1,name1 in enumerate(mapvars): 497 if name1 not in varyList: continue 498 iv1 = varyList.index(name1) 499 for i2,name2 in enumerate(mapvars): 500 if name2 not in varyList: continue 501 iv2 = varyList.index(name2) 502 vcov[i1][i2] = covMatrix[iv1][iv2] 503 # vec is the vector that multiplies each of the independent values 504 for v,vec in zip(varlist,invmultarr): 505 sigmaDict[v] = np.sqrt(np.inner(vec.T,np.inner(vcov,vec))) 506 return sigmaDict 507 488 508 def VarRemapShow(varyList): 489 509 '''List out the saved relationships. -
trunk/GSASIIstruct.py
r420 r421 2580 2580 covData = {'variables':result[0],'varyList':varyList,'sig':sig, 2581 2581 'covMatrix':covMatrix,'title':GPXfile,'newAtomDict':newAtomDict,'newCellDict':newCellDict} 2582 # add the uncertainties into the esd dictionary (sigDict) 2583 sigDict.update(G2mv.ComputeDepESD(covMatrix,varyList,parmDict)) 2582 2584 SetPhaseData(parmDict,sigDict,Phases,covData) 2583 2585 SetHistogramPhaseData(parmDict,sigDict,Phases,Histograms)
Note: See TracChangeset
for help on using the changeset viewer.