Skip to content

Instantly share code, notes, and snippets.

@restrepo
Created October 8, 2015 23:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save restrepo/c9c8bda6e63fa198c5bb to your computer and use it in GitHub Desktop.
Save restrepo/c9c8bda6e63fa198c5bb to your computer and use it in GitHub Desktop.
def test_casasibarra():
ci={'MH0':53.,'MH':125.3,'MA0':120.,'MH1':130.,'La2':0.01,'LaL':0.001,'Mtr01':91.,\
'Mtr02':92.,'Mtr03':93,'Mtrch1': 91.8,'Mtrch2': 92.8, 'Mtrch3': 93.8}
#mnu1in,Dms2,Dma2,ThetSol,ThetAtm,ThetRec=neutrino_data()
#Mnuin=np.array([mnu1in,np.sqrt(Dms2[1]+mnu1in**2),np.sqrt(Dma2[1]+mnu1in**2)])
mnu1in=1E-5
h,U,Mnuin,phases=casasibarra(ci,norotate1=True,norotate2=True,norotate3=True,bestfit=True,\
nophases=True,min_nulight=mnu1in,max_nulight=mnu1in)
Lamb = np.array([[Lambda(ci['Mtr01'],ci['MH0'],ci['MA0']),0,0],\
[0,Lambda(ci['Mtr02'],ci['MH0'],ci['MA0']),0],\
[0,0,Lambda(ci['Mtr03'],ci['MH0'],ci['MA0'])]])
Mint = np.dot( h.transpose(),np.dot(Lamb,h) )
Mnu,U=np.linalg.eig(Mint)
lo=np.argsort(np.abs(Mnu))
Mnu=np.array([Mnu[lo[0]],Mnu[lo[1]],Mnu[lo[2]]])
U=np.matrix(U)
U=np.asarray(np.hstack((U[:,lo[0]],U[:,lo[1]],U[:,lo[2]])))
print Mnu
print U
Upmns=np.array([[ 0.81311635+0.j, 0.56164206+0.j, 0.15297059+0.j],\
[ 0.46875227+0.j, 0.47596125+0.j, 0.74413184+0.j],\
[ 0.34512767+0.j, 0.67677108+0.j, 0.65028286+0.j]])
print Mnuin
print Upmns
np.testing.assert_array_almost_equal(np.abs(Mnuin)*1e9,np.abs(Mnu)*1e9)
np.testing.assert_array_almost_equal(np.abs(Upmns),np.abs(U))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment