<s> import os <EOL> import numpy as np <EOL> from numpy import linalg as LA <EOL> from scipy . linalg import sqrtm <EOL> def get_bpwf ( exp = '<STR_LIT>' , root = '<STR_LIT>' ) : <EOL> if exp == '<STR_LIT>' : <EOL> file_in = os . path . join ( "<STR_LIT>" , "<STR_LIT>" ) <EOL> print "<STR_LIT>" % file_in <EOL> ncol = <NUM_LIT> <EOL> elif exp == '<STR_LIT>' : <EOL> file_in = os . path . join ( "<STR_LIT>" , "<STR_LIT>" ) <EOL> print "<STR_LIT>" % file_in <EOL> ncol = <NUM_LIT> <EOL> else : <EOL> print '<STR_LIT>' <EOL> print '<STR_LIT>' <EOL> print '<STR_LIT>' <EOL> print '<STR_LIT>' <EOL> raise IOError ( ) <EOL> bpwf_Cs_l = np . zeros ( [ ncol , <NUM_LIT:9> , <NUM_LIT:6> ] ) <EOL> for i in xrange ( <NUM_LIT:9> ) : <EOL> window_file = file_in . replace ( '<STR_LIT:?>' , str ( i + <NUM_LIT:1> ) ) <EOL> try : <EOL> data = np . loadtxt ( <EOL> os . path . join ( root , window_file ) ) <EOL> except IOError : <EOL> print ( "<STR_LIT>" % window_file + <EOL> "<STR_LIT>" ) <EOL> raise IOError ( ) <EOL> bpwf_Cs_l [ : , i , <NUM_LIT:0> ] = data [ : , <NUM_LIT:1> ] <EOL> bpwf_Cs_l [ : , i , <NUM_LIT:1> ] = data [ : , <NUM_LIT:2> ] <EOL> bpwf_Cs_l [ : , i , <NUM_LIT:2> ] = data [ : , <NUM_LIT:3> ] <EOL> bpwf_Cs_l [ : , i , <NUM_LIT:3> ] = data [ : , <NUM_LIT:4> ] <EOL> bpwf_l = data [ : , <NUM_LIT:0> ] <EOL> return ( bpwf_l , bpwf_Cs_l ) <EOL> def load_cmbfast ( file_in ) : <EOL> print "<STR_LIT>" % file_in <EOL> try : <EOL> data = np . loadtxt ( file_in ) <EOL> except : <EOL> print "<STR_LIT>" % file_in <EOL> ell = data [ : , <NUM_LIT:0> ] <EOL> Cs_l = np . zeros ( [ np . shape ( data ) [ <NUM_LIT:0> ] , <NUM_LIT:9> ] ) <EOL> Cs_l [ : , <NUM_LIT:0> ] = data [ : , <NUM_LIT:1> ] <EOL> Cs_l [ : , <NUM_LIT:1> ] = data [ : , <NUM_LIT:2> ] <EOL> Cs_l [ : , <NUM_LIT:2> ] = data [ : , <NUM_LIT:3> ] <EOL> Cs_l [ : , <NUM_LIT:3> ] = data [ : , <NUM_LIT:4> ] <EOL> Cs_l [ : , <NUM_LIT:6> ] = data [ : , <NUM_LIT:2> ] <EOL> return ( ell , Cs_l ) <EOL> def calc_expvals ( inpmod_l , inpmod_Cs_l , bpwf_l , bpwf_Cs_l ) : <EOL> nbin = np . shape ( bpwf_Cs_l ) [ <NUM_LIT:1> ] <EOL> nl = np . shape ( bpwf_Cs_l ) [ <NUM_LIT:0> ] <EOL> indx = np . arange ( <NUM_LIT:0> , nl ) <EOL> indx = indx + np . nonzero ( bpwf_l [ <NUM_LIT:0> ] == inpmod_l ) [ <NUM_LIT:0> ] [ <NUM_LIT:0> ] <EOL> expv = np . zeros ( [ nbin , np . shape ( bpwf_Cs_l ) [ <NUM_LIT:2> ] ] ) <EOL> x = bpwf_Cs_l [ : , : , <NUM_LIT:0> ] * np . transpose ( np . tile ( inpmod_Cs_l [ indx , <NUM_LIT:0> ] , ( nbin , <NUM_LIT:1> ) ) ) <EOL> expv [ : , <NUM_LIT:0> ] = np . sum ( x , <NUM_LIT:0> ) <EOL> x = bpwf_Cs_l [ : , : , <NUM_LIT:1> ] * np . transpose ( np . tile ( inpmod_Cs_l [ indx , <NUM_LIT:1> ] , ( nbin , <NUM_LIT:1> ) ) ) <EOL> expv [ : , <NUM_LIT:1> ] = np . sum ( x , <NUM_LIT:0> ) <EOL> x1 = bpwf_Cs_l [ : , : , <NUM_LIT:2> ] * np . transpose ( np . tile ( inpmod_Cs_l [ indx , <NUM_LIT:2> ] , ( nbin , <NUM_LIT:1> ) ) ) <EOL> x2 = bpwf_Cs_l [ : , : , <NUM_LIT:5> ] * np . transpose ( np . tile ( inpmod_Cs_l [ indx , <NUM_LIT:3> ] , ( nbin , <NUM_LIT:1> ) ) ) <EOL> expv [ : , <NUM_LIT:2> ] = np . sum ( x1 , <NUM_LIT:0> ) + np . sum ( x2 , <NUM_LIT:0> ) <EOL> x1 = bpwf_Cs_l [ : , : , <NUM_LIT:3> ] * np . transpose ( np . tile ( inpmod_Cs_l [ indx , <NUM_LIT:3> ] , ( nbin , <NUM_LIT:1> ) ) ) <EOL> x2 = bpwf_Cs_l [ : , : , <NUM_LIT:4> ] * np . transpose ( np . tile ( inpmod_Cs_l [ indx , <NUM_LIT:2> ] , ( nbin , <NUM_LIT:1> ) ) ) <EOL> expv [ : , <NUM_LIT:3> ] = np . sum ( x1 , <NUM_LIT:0> ) + np . sum ( x2 , <NUM_LIT:0> ) <EOL> return expv <EOL> def read_data_products_bandpowers ( exp = '<STR_LIT>' , root = "<STR_LIT>" ) : <EOL> if exp == '<STR_LIT>' : <EOL> file_in = "<STR_LIT>" <EOL> elif exp == '<STR_LIT>' : <EOL> file_in = "<STR_LIT>" <EOL> else : <EOL> print '<STR_LIT>' <EOL> print "<STR_LIT>" % file_in <EOL> values = list ( ) <EOL> try : <EOL> fin = file ( os . path . join ( root , file_in ) , '<STR_LIT:r>' ) <EOL> except IOerror : <EOL> print "<STR_LIT>" % file_in <EOL> for line in fin : <EOL> if "<STR_LIT:#>" not in line : <EOL> lst = line . split ( '<STR_LIT:U+0020>' ) <EOL> if len ( lst ) > <NUM_LIT:3> : <EOL> b = [ ] <EOL> for elem in lst : <EOL> if elem != '<STR_LIT>' : <EOL> b . append ( float ( elem ) ) <EOL> values . append ( b ) <EOL> bandpowers = [ ] <EOL> for i in range ( <NUM_LIT:3> ) : <EOL> c = list ( ) <EOL> for j in range ( <NUM_LIT:9> ) : <EOL> c . append ( values [ i * <NUM_LIT> + j * <NUM_LIT:3> : i * <NUM_LIT> + j * <NUM_LIT:3> + <NUM_LIT:3> ] ) <EOL> bandpowers . append ( c ) <EOL> return bandpowers <EOL> def read_M ( exp = '<STR_LIT>' , root = "<STR_LIT>" ) : <EOL> if exp == '<STR_LIT>' : <EOL> file_in = "<STR_LIT>" <EOL> elif exp == '<STR_LIT>' : <EOL> file_in = "<STR_LIT>" <EOL> else : <EOL> print '<STR_LIT>' <EOL> print "<STR_LIT>" % file_in <EOL> try : <EOL> data = np . loadtxt ( os . path . join ( root , file_in ) ) <EOL> except IOError : <EOL> print "<STR_LIT>" % file_in <EOL> if exp == '<STR_LIT>' : <EOL> data = data . reshape ( ( <NUM_LIT> , <NUM_LIT> ) ) <EOL> M_raw = np . array ( data ) <EOL> return M_raw <EOL> def calc_vecp ( l , C_l_hat , C_fl , C_l ) : <EOL> C_fl_12 = sqrtm ( C_fl [ l ] ) <EOL> C_l_inv = LA . inv ( C_l [ l ] ) <EOL> C_l_inv_12 = sqrtm ( C_l_inv ) <EOL> res = np . dot ( C_l_inv_12 , np . dot ( C_l_hat [ l ] , C_l_inv_12 ) ) <EOL> [ d , u ] = LA . eigh ( res ) <EOL> d = np . diag ( d ) <EOL> gd = np . sign ( np . diag ( d ) - <NUM_LIT:1> ) * np . sqrt ( <NUM_LIT:2> * ( np . diag ( d ) - np . log ( np . diag ( d ) ) - <NUM_LIT:1> ) ) <EOL> gd = np . diag ( gd ) <EOL> X = np . dot ( np . transpose ( u ) , C_fl_12 ) <EOL> X = np . dot ( gd , X ) <EOL> X = np . dot ( u , X ) <EOL> X = np . dot ( C_fl_12 , X ) <EOL> X = vecp ( X ) <EOL> return X <EOL> def vecp ( mat ) : <EOL> dim = mat . shape [ <NUM_LIT:0> ] <EOL> vec = np . zeros ( ( dim * ( dim + <NUM_LIT:1> ) / <NUM_LIT:2> ) ) <EOL> counter = <NUM_LIT:0> <EOL> for iDiag in range ( <NUM_LIT:0> , dim ) : <EOL> vec [ counter : counter + dim - iDiag ] = np . diag ( mat , iDiag ) <EOL> counter = counter + dim - iDiag <EOL> return vec <EOL> def evaluateLikelihood ( C_l , C_l_hat , C_fl , M_inv ) : <EOL> logL = <NUM_LIT:0> <EOL> for l in range ( <NUM_LIT:0> , <NUM_LIT:9> ) : <EOL> X = calc_vecp ( l , C_l_hat , C_fl , C_l ) <EOL> for lp in range ( <NUM_LIT:0> , <NUM_LIT:9> ) : <EOL> Xp = calc_vecp ( lp , C_l_hat , C_fl , C_l ) <EOL> M_inv_pp = M_inv [ l , lp , : , : ] <EOL> thislogL = ( - <NUM_LIT:0.5> ) * np . dot ( X , np . dot ( M_inv_pp , Xp ) ) <EOL> logL = logL + thislogL <EOL> if np . isnan ( logL ) : <EOL> logL = - <NUM_LIT> <EOL> logL = np . real ( logL ) <EOL> return logL <EOL> def saveLikelihoodToText ( rlist , logLike , field , exp = '<STR_LIT>' ) : <EOL> if exp == '<STR_LIT>' : <EOL> print "<STR_LIT>" <EOL> f = open ( "<STR_LIT>" , "<STR_LIT:w>" ) <EOL> f . write ( '<STR_LIT>' ) <EOL> f . write ( '<STR_LIT>' ) <EOL> f . write ( '<STR_LIT>' ) <EOL> f . write ( '<STR_LIT>' % field ) <EOL> f . write ( '<STR_LIT>' ) <EOL> f . write ( '<STR_LIT>' ) <EOL> f . write ( '<STR_LIT>' ) <EOL> f . write ( '<STR_LIT>' ) <EOL> f . write ( '<STR_LIT>' ) <EOL> elif exp == '<STR_LIT>' : <EOL> print "<STR_LIT>" <EOL> f = open ( "<STR_LIT>" , "<STR_LIT:w>" ) <EOL> f . write ( '<STR_LIT>' ) <EOL> f . write ( '<STR_LIT>' ) <EOL> f . write ( '<STR_LIT>' ) <EOL> f . write ( '<STR_LIT>' % field ) <EOL> f . write ( '<STR_LIT>' ) <EOL> f . write ( '<STR_LIT>' ) <EOL> f . write ( '<STR_LIT>' ) <EOL> f . write ( '<STR_LIT>' ) <EOL> for i in range ( <NUM_LIT:0> , len ( rlist ) ) : <EOL> f . write ( '<STR_LIT>' % ( rlist [ i ] , logLike [ i ] ) ) <EOL> f . close ( ) <EOL> def init ( experiment , field , root = "<STR_LIT>" ) : <EOL> """<STR_LIT>""" <EOL> ( bpwf_l , bpwf_Cs_l ) = get_bpwf ( exp = experiment , root = root ) <EOL> bp = read_data_products_bandpowers ( exp = experiment , root = root ) <EOL> bp = np . array ( bp ) <EOL> nf = len ( field ) <EOL> dim = nf * ( nf + <NUM_LIT:1> ) / <NUM_LIT:2> <EOL> C_l_hat = np . zeros ( ( <NUM_LIT:9> , nf , nf ) ) <EOL> C_fl = np . zeros ( ( <NUM_LIT:9> , nf , nf ) ) <EOL> N_l = np . zeros ( ( <NUM_LIT:9> , nf , nf ) ) <EOL> C_l = np . zeros ( ( <NUM_LIT:9> , nf , nf ) ) <EOL> if field == "<STR_LIT:T>" : <EOL> C_l_hat [ : , <NUM_LIT:0> , <NUM_LIT:0> ] = bp [ <NUM_LIT:1> , : , <NUM_LIT:0> , <NUM_LIT:0> ] <EOL> C_fl [ : , <NUM_LIT:0> , <NUM_LIT:0> ] = bp [ <NUM_LIT:0> , : , <NUM_LIT:0> , <NUM_LIT:0> ] <EOL> N_l [ : , <NUM_LIT:0> , <NUM_LIT:0> ] = bp [ <NUM_LIT:2> , : , <NUM_LIT:0> , <NUM_LIT:0> ] <EOL> elif field == "<STR_LIT:E>" : <EOL> C_l_hat [ : , <NUM_LIT:0> , <NUM_LIT:0> ] = bp [ <NUM_LIT:1> , : , <NUM_LIT:1> , <NUM_LIT:1> ] <EOL> C_fl [ : , <NUM_LIT:0> , <NUM_LIT:0> ] = bp [ <NUM_LIT:0> , : , <NUM_LIT:1> , <NUM_LIT:1> ] <EOL> N_l [ : , <NUM_LIT:0> , <NUM_LIT:0> ] = bp [ <NUM_LIT:2> , : , <NUM_LIT:1> , <NUM_LIT:1> ] <EOL> elif field == "<STR_LIT:B>" : <EOL> C_l_hat [ : , <NUM_LIT:0> , <NUM_LIT:0> ] = bp [ <NUM_LIT:1> , : , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> C_fl [ : , <NUM_LIT:0> , <NUM_LIT:0> ] = bp [ <NUM_LIT:0> , : , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> N_l [ : , <NUM_LIT:0> , <NUM_LIT:0> ] = bp [ <NUM_LIT:2> , : , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> elif field == "<STR_LIT>" : <EOL> C_l_hat [ : , <NUM_LIT:0> , <NUM_LIT:0> ] = bp [ <NUM_LIT:1> , : , <NUM_LIT:1> , <NUM_LIT:1> ] <EOL> C_l_hat [ : , <NUM_LIT:0> , <NUM_LIT:1> ] = bp [ <NUM_LIT:1> , : , <NUM_LIT:1> , <NUM_LIT:2> ] <EOL> C_l_hat [ : , <NUM_LIT:1> , <NUM_LIT:0> ] = bp [ <NUM_LIT:1> , : , <NUM_LIT:2> , <NUM_LIT:1> ] <EOL> C_l_hat [ : , <NUM_LIT:1> , <NUM_LIT:1> ] = bp [ <NUM_LIT:1> , : , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> C_fl [ : , <NUM_LIT:0> , <NUM_LIT:0> ] = bp [ <NUM_LIT:0> , : , <NUM_LIT:1> , <NUM_LIT:1> ] <EOL> C_fl [ : , <NUM_LIT:0> , <NUM_LIT:1> ] = bp [ <NUM_LIT:0> , : , <NUM_LIT:1> , <NUM_LIT:2> ] <EOL> C_fl [ : , <NUM_LIT:1> , <NUM_LIT:0> ] = bp [ <NUM_LIT:0> , : , <NUM_LIT:2> , <NUM_LIT:1> ] <EOL> C_fl [ : , <NUM_LIT:1> , <NUM_LIT:1> ] = bp [ <NUM_LIT:0> , : , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> N_l [ : , <NUM_LIT:0> , <NUM_LIT:0> ] = bp [ <NUM_LIT:2> , : , <NUM_LIT:1> , <NUM_LIT:1> ] <EOL> N_l [ : , <NUM_LIT:0> , <NUM_LIT:1> ] = bp [ <NUM_LIT:2> , : , <NUM_LIT:1> , <NUM_LIT:2> ] <EOL> N_l [ : , <NUM_LIT:1> , <NUM_LIT:0> ] = bp [ <NUM_LIT:2> , : , <NUM_LIT:2> , <NUM_LIT:1> ] <EOL> N_l [ : , <NUM_LIT:1> , <NUM_LIT:1> ] = bp [ <NUM_LIT:2> , : , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> elif field == "<STR_LIT>" : <EOL> C_l_hat [ : , <NUM_LIT:0> , <NUM_LIT:0> ] = bp [ <NUM_LIT:1> , : , <NUM_LIT:0> , <NUM_LIT:0> ] <EOL> C_l_hat [ : , <NUM_LIT:0> , <NUM_LIT:1> ] = bp [ <NUM_LIT:1> , : , <NUM_LIT:0> , <NUM_LIT:2> ] <EOL> C_l_hat [ : , <NUM_LIT:1> , <NUM_LIT:0> ] = bp [ <NUM_LIT:1> , : , <NUM_LIT:2> , <NUM_LIT:0> ] <EOL> C_l_hat [ : , <NUM_LIT:1> , <NUM_LIT:1> ] = bp [ <NUM_LIT:1> , : , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> C_fl [ : , <NUM_LIT:0> , <NUM_LIT:0> ] = bp [ <NUM_LIT:0> , : , <NUM_LIT:0> , <NUM_LIT:0> ] <EOL> C_fl [ : , <NUM_LIT:0> , <NUM_LIT:1> ] = bp [ <NUM_LIT:0> , : , <NUM_LIT:0> , <NUM_LIT:2> ] <EOL> C_fl [ : , <NUM_LIT:1> , <NUM_LIT:0> ] = bp [ <NUM_LIT:0> , : , <NUM_LIT:2> , <NUM_LIT:0> ] <EOL> C_fl [ : , <NUM_LIT:1> , <NUM_LIT:1> ] = bp [ <NUM_LIT:0> , : , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> N_l [ : , <NUM_LIT:0> , <NUM_LIT:0> ] = bp [ <NUM_LIT:2> , : , <NUM_LIT:0> , <NUM_LIT:0> ] <EOL> N_l [ : , <NUM_LIT:0> , <NUM_LIT:1> ] = bp [ <NUM_LIT:2> , : , <NUM_LIT:0> , <NUM_LIT:2> ] <EOL> N_l [ : , <NUM_LIT:1> , <NUM_LIT:0> ] = bp [ <NUM_LIT:2> , : , <NUM_LIT:2> , <NUM_LIT:0> ] <EOL> N_l [ : , <NUM_LIT:1> , <NUM_LIT:1> ] = bp [ <NUM_LIT:2> , : , <NUM_LIT:2> , <NUM_LIT:2> ] <EOL> elif field == "<STR_LIT>" : <EOL> C_l_hat [ : , <NUM_LIT:0> , <NUM_LIT:0> ] = bp [ <NUM_LIT:1> , : , <NUM_LIT:0> , <NUM_LIT:0> ] <EOL> C_l_hat [ : , <NUM_LIT:0> , <NUM_LIT:1> ] = bp [ <NUM_LIT:1> , : , <NUM_LIT:0> , <NUM_LIT:1> ] <EOL> C_l_hat [ : , <NUM_LIT:1> , <NUM_LIT:0> ] = bp [ <NUM_LIT:1> , : , <NUM_LIT:1> , <NUM_LIT:0> ] <EOL> C_l_hat [ : , <NUM_LIT:1> , <NUM_LIT:1> ] = bp [ <NUM_LIT:1> , : , <NUM_LIT:1> , <NUM_LIT:1> ] <EOL> C_fl [ : , <NUM_LIT:0> , <NUM_LIT:0> ] = bp [ <NUM_LIT:0> , : , <NUM_LIT:0> , <NUM_LIT:0> ] <EOL> C_fl [ : , <NUM_LIT:0> , <NUM_LIT:1> ] = bp [ <NUM_LIT:0> , : , <NUM_LIT:0> , <NUM_LIT:1> ] <EOL> C_fl [ : , <NUM_LIT:1> , <NUM_LIT:0> ] = bp [ <NUM_LIT:0> , : , <NUM_LIT:1> , <NUM_LIT:0> ] <EOL> C_fl [ : , <NUM_LIT:1> , <NUM_LIT:1> ] = bp [ <NUM_LIT:0> , : , <NUM_LIT:1> , <NUM_LIT:1> ] <EOL> N_l [ : , <NUM_LIT:0> , <NUM_LIT:0> ] = bp [ <NUM_LIT:2> , : , <NUM_LIT:0> , <NUM_LIT:0> ] <EOL> N_l [ : , <NUM_LIT:0> , <NUM_LIT:1> ] = bp [ <NUM_LIT:2> , : , <NUM_LIT:0> , <NUM_LIT:1> ] <EOL> N_l [ : , <NUM_LIT:1> , <NUM_LIT:0> ] = bp [ <NUM_LIT:2> , : , <NUM_LIT:1> , <NUM_LIT:0> ] <EOL> N_l [ : , <NUM_LIT:1> , <NUM_LIT:1> ] = bp [ <NUM_LIT:2> , : , <NUM_LIT:1> , <NUM_LIT:1> ] <EOL> elif field == "<STR_LIT>" : <EOL> C_l_hat = bp [ <NUM_LIT:1> , : , : , : ] <EOL> C_fl = bp [ <NUM_LIT:0> , : , : , : ] <EOL> N_l = bp [ <NUM_LIT:2> , : , : , : ] <EOL> M_raw = read_M ( exp = experiment , root = root ) <EOL> M = np . zeros ( ( <NUM_LIT:9> * dim , <NUM_LIT:9> * dim ) ) <EOL> M_inv = np . zeros ( ( <NUM_LIT:9> , <NUM_LIT:9> , dim , dim ) ) <EOL> if field == '<STR_LIT:T>' : <EOL> M [ : , : ] = M_raw [ <NUM_LIT:0> : : <NUM_LIT:6> , <NUM_LIT:0> : : <NUM_LIT:6> ] <EOL> elif field == '<STR_LIT:E>' : <EOL> M [ : , : ] = M_raw [ <NUM_LIT:1> : : <NUM_LIT:6> , <NUM_LIT:1> : : <NUM_LIT:6> ] <EOL> elif field == '<STR_LIT:B>' : <EOL> M [ : , : ] = M_raw [ <NUM_LIT:2> : : <NUM_LIT:6> , <NUM_LIT:2> : : <NUM_LIT:6> ] <EOL> elif field == '<STR_LIT>' : <EOL> M [ <NUM_LIT:0> : : <NUM_LIT:3> , <NUM_LIT:0> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:1> : : <NUM_LIT:6> , <NUM_LIT:1> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:1> : : <NUM_LIT:3> , <NUM_LIT:1> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:2> : : <NUM_LIT:6> , <NUM_LIT:2> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:2> : : <NUM_LIT:3> , <NUM_LIT:2> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:4> : : <NUM_LIT:6> , <NUM_LIT:4> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:0> : : <NUM_LIT:3> , <NUM_LIT:1> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:1> : : <NUM_LIT:6> , <NUM_LIT:2> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:1> : : <NUM_LIT:3> , <NUM_LIT:0> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:2> : : <NUM_LIT:6> , <NUM_LIT:1> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:0> : : <NUM_LIT:3> , <NUM_LIT:2> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:1> : : <NUM_LIT:6> , <NUM_LIT:4> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:2> : : <NUM_LIT:3> , <NUM_LIT:0> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:4> : : <NUM_LIT:6> , <NUM_LIT:1> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:1> : : <NUM_LIT:3> , <NUM_LIT:2> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:2> : : <NUM_LIT:6> , <NUM_LIT:4> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:2> : : <NUM_LIT:3> , <NUM_LIT:1> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:4> : : <NUM_LIT:6> , <NUM_LIT:2> : : <NUM_LIT:6> ] <EOL> elif field == '<STR_LIT>' : <EOL> M [ <NUM_LIT:0> : : <NUM_LIT:3> , <NUM_LIT:0> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:0> : : <NUM_LIT:6> , <NUM_LIT:0> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:1> : : <NUM_LIT:3> , <NUM_LIT:1> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:1> : : <NUM_LIT:6> , <NUM_LIT:1> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:2> : : <NUM_LIT:3> , <NUM_LIT:2> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:3> : : <NUM_LIT:6> , <NUM_LIT:3> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:0> : : <NUM_LIT:3> , <NUM_LIT:1> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:0> : : <NUM_LIT:6> , <NUM_LIT:1> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:1> : : <NUM_LIT:3> , <NUM_LIT:0> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:1> : : <NUM_LIT:6> , <NUM_LIT:0> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:0> : : <NUM_LIT:3> , <NUM_LIT:2> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:0> : : <NUM_LIT:6> , <NUM_LIT:3> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:2> : : <NUM_LIT:3> , <NUM_LIT:0> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:3> : : <NUM_LIT:6> , <NUM_LIT:0> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:1> : : <NUM_LIT:3> , <NUM_LIT:2> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:1> : : <NUM_LIT:6> , <NUM_LIT:3> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:2> : : <NUM_LIT:3> , <NUM_LIT:1> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:3> : : <NUM_LIT:6> , <NUM_LIT:1> : : <NUM_LIT:6> ] <EOL> elif field == '<STR_LIT>' : <EOL> M [ <NUM_LIT:0> : : <NUM_LIT:3> , <NUM_LIT:0> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:0> : : <NUM_LIT:6> , <NUM_LIT:0> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:1> : : <NUM_LIT:3> , <NUM_LIT:1> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:2> : : <NUM_LIT:6> , <NUM_LIT:2> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:2> : : <NUM_LIT:3> , <NUM_LIT:2> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:5> : : <NUM_LIT:6> , <NUM_LIT:5> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:0> : : <NUM_LIT:3> , <NUM_LIT:1> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:0> : : <NUM_LIT:6> , <NUM_LIT:2> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:1> : : <NUM_LIT:3> , <NUM_LIT:0> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:2> : : <NUM_LIT:6> , <NUM_LIT:0> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:0> : : <NUM_LIT:3> , <NUM_LIT:2> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:0> : : <NUM_LIT:6> , <NUM_LIT:5> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:2> : : <NUM_LIT:3> , <NUM_LIT:0> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:5> : : <NUM_LIT:6> , <NUM_LIT:0> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:1> : : <NUM_LIT:3> , <NUM_LIT:2> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:2> : : <NUM_LIT:6> , <NUM_LIT:5> : : <NUM_LIT:6> ] <EOL> M [ <NUM_LIT:2> : : <NUM_LIT:3> , <NUM_LIT:1> : : <NUM_LIT:3> ] = M_raw [ <NUM_LIT:5> : : <NUM_LIT:6> , <NUM_LIT:2> : : <NUM_LIT:6> ] <EOL> elif field == '<STR_LIT>' : <EOL> M = M_raw <EOL> M_invp = LA . inv ( M ) <EOL> for ell in xrange ( <NUM_LIT:9> ) : <EOL> for ellp in xrange ( <NUM_LIT:9> ) : <EOL> M_inv [ ell , ellp , : , : ] = M_invp [ ell * dim : ( ell + <NUM_LIT:1> ) * dim , ellp * dim : ( ellp + <NUM_LIT:1> ) * dim ] <EOL> return C_l , C_l_hat , N_l , C_fl , M_inv , bpwf_l , bpwf_Cs_l </s>
