#NEWLINE# def _gkdiag( self , X , index ) : #NEWLINE# #INDENT# index = index . reshape ( index . size ) #NEWLINE# d = np . unique ( index ) #NEWLINE# B = self . B [ d ] . values #NEWLINE# C = self . C [ d ] . values #NEWLINE# S = self . W [ d , : ] . values #NEWLINE# indd = np . arange ( self . output_dim ) #NEWLINE# indd [ d ] = np . arange ( d . size ) #NEWLINE# index = indd [ index ] #NEWLINE# wbool = ( ( C * C ) >= ( 4.0 * B ) ) #NEWLINE# t = X [ : , 0 ] . reshape ( X . shape [ 0 ] , 1 ) #NEWLINE# B = B . reshape ( B . size , 1 ) #NEWLINE# C = C . reshape ( C . size , 1 ) #NEWLINE# alpha = ( 0.5 * C ) #NEWLINE# C2 = ( C * C ) #NEWLINE# S2 = ( S * S ) #NEWLINE# wbool2 = wbool [ index ] #NEWLINE# ind2t = np . where ( wbool2 ) #NEWLINE# ind3t = np . where ( np . logical_not ( wbool2 ) ) #NEWLINE# lq = self . lengthscale . values . reshape ( 1 , self . rank ) #NEWLINE# lq2 = ( lq * lq ) #NEWLINE# gB = np . empty ( ( t . size , ) ) #NEWLINE# gC = np . empty ( ( t . size , ) ) #NEWLINE# glq = np . empty ( ( t . size , lq . size ) ) #NEWLINE# gS = np . empty ( ( t . size , lq . size ) ) #NEWLINE# indD = np . arange ( B . size ) #NEWLINE# if np . any ( np . logical_not ( wbool ) ) : #NEWLINE# #INDENT# t1 = t [ ind3t ] #NEWLINE# ind = index [ ind3t ] #NEWLINE# d = np . asarray ( np . where ( np . logical_not ( wbool ) ) [ 0 ] ) #NEWLINE# indd = indD . copy ( ) #NEWLINE# indd [ d ] = np . arange ( d . size ) #NEWLINE# ind = indd [ ind ] #NEWLINE# S2lq = ( S2 [ d ] * ( 0.5 * lq ) ) #NEWLINE# c0 = ( S2lq * np . sqrt ( np . pi ) ) #NEWLINE# w = ( 0.5 * np . sqrt ( ( ( 4.0 * B [ d ] ) - C2 [ d ] ) ) ) #NEWLINE# alphad = alpha [ d ] #NEWLINE# alpha2 = ( alphad * alphad ) #NEWLINE# w2 = ( w * w ) #NEWLINE# gam = ( alphad + ( 1j * w ) ) #NEWLINE# gam2 = ( gam * gam ) #NEWLINE# gamc = ( alphad - ( 1j * w ) ) #NEWLINE# c1 = ( 0.5 / alphad ) #NEWLINE# c2 = ( 0.5 / gam ) #NEWLINE# c = ( c1 - c2 ) #NEWLINE# c0 = ( c0 / w2 ) #NEWLINE# nu = ( ( 0.5 * lq ) * gam ) #NEWLINE# gamt = ( ( - gam [ ind ] ) * t1 ) #NEWLINE# gamct = ( ( - gamc [ ind ] ) * t1 ) #NEWLINE# egamt = np . exp ( gamt ) #NEWLINE# egamct = np . exp ( gamct ) #NEWLINE# ec = ( ( egamt * c2 [ ind ] ) - ( egamct * c1 [ ind ] ) ) #NEWLINE# t_lq = ( t1 / lq ) #NEWLINE# t2_lq2 = ( ( - t_lq ) * t_lq ) #NEWLINE# t_lq2 = ( t_lq / lq ) #NEWLINE# et2_lq2 = np . exp ( t2_lq2 ) #NEWLINE# etlq2gamt = np . exp ( ( t2_lq2 + gamt ) ) #NEWLINE# wnu = wofz ( ( 1j * nu ) ) #NEWLINE# lwnu = np . log ( wnu ) #NEWLINE# t2_lq2 = ( ( - t_lq ) * t_lq ) #NEWLINE# upm = ( wnu [ ind ] - np . exp ( ( ( t2_lq2 + gamt ) + np . log ( wofz ( ( 1j * ( t_lq + nu [ ind ] ) ) ) ) ) ) ) #NEWLINE# upm [ ( t1 [ : , 0 ] == 0 ) , : ] = 0.0 #NEWLINE# nu2 = ( nu * nu ) #NEWLINE# z1 = ( nu [ ind ] - t_lq ) #NEWLINE# indv1 = np . where ( ( z1 . real >= 0.0 ) ) #NEWLINE# indv2 = np . where ( ( z1 . real < 0.0 ) ) #NEWLINE# upv = ( - np . exp ( ( lwnu [ ind ] + gamt ) ) ) #NEWLINE# if ( indv1 [ 0 ] . shape > 0 ) : #NEWLINE# #INDENT# upv [ indv1 ] += np . exp ( ( t2_lq2 [ indv1 ] + np . log ( wofz ( ( 1j * z1 [ indv1 ] ) ) ) ) ) #NEWLINE# #UNINDENT# if ( indv2 [ 0 ] . shape > 0 ) : #NEWLINE# #INDENT# upv [ indv2 ] += ( np . exp ( ( ( nu2 [ ( ind [ indv2 [ 0 ] ] , indv2 [ 1 ] ) ] + gamt [ ( indv2 [ 0 ] , 0 ) ] ) + np . log ( 2.0 ) ) ) - np . exp ( ( t2_lq2 [ indv2 ] + np . log ( wofz ( ( ( - 1j ) * z1 [ indv2 ] ) ) ) ) ) ) #NEWLINE# #UNINDENT# upv [ ( t1 [ : , 0 ] == 0 ) , : ] = 0.0 #NEWLINE# Slq = ( S [ d ] * lq ) #NEWLINE# c0_S = ( ( Slq * np . sqrt ( np . pi ) ) / w2 ) #NEWLINE# K01 = ( c0_S * c ) #NEWLINE# gS [ ind3t ] = ( np . real ( ( K01 [ ind ] * upm ) ) + np . real ( ( ( c0_S [ ind ] * ec ) * upv ) ) ) #NEWLINE# upmd = ( etlq2gamt - 1.0 ) #NEWLINE# upvd = ( egamt - et2_lq2 ) #NEWLINE# dw_dB = ( 0.5 / w ) #NEWLINE# dgam_dB = ( 1j * dw_dB ) #NEWLINE# Ba1 = ( c0 * ( ( ( 0.5 * dgam_dB ) / gam2 ) + ( ( ( ( ( 0.5 * lq2 ) * gam ) * dgam_dB ) - ( ( 2.0 * dw_dB ) / w ) ) * c ) ) ) #NEWLINE# Ba2_1 = ( c0 * ( ( dgam_dB * ( ( 0.5 / gam2 ) - ( 0.25 * lq2 ) ) ) + ( dw_dB / ( w * gam ) ) ) ) #NEWLINE# Ba2_2 = ( ( c0 * dgam_dB ) / gam ) #NEWLINE# Ba3 = ( c0 * ( ( ( ( ( ( - 0.25 ) * lq2 ) * gam ) * dgam_dB ) / alphad ) + ( dw_dB / ( w * alphad ) ) ) ) #NEWLINE# Ba4_1 = ( ( ( S2lq * lq ) * dgam_dB ) / w2 ) #NEWLINE# Ba4 = ( Ba4_1 * c ) #NEWLINE# gB [ ind3t ] = np . sum ( ( ( ( np . real ( ( Ba1 [ ind ] * upm ) ) - np . real ( ( ( ( ( Ba2_1 [ ind ] + ( Ba2_2 [ ind ] * t1 ) ) * egamt ) - ( Ba3 [ ind ] * egamct ) ) * upv ) ) ) + np . real ( ( Ba4 [ ind ] * upmd ) ) ) + np . real ( ( ( Ba4_1 [ ind ] * ec ) * upvd ) ) ) , axis = 1 ) #NEWLINE# dw_dC = ( ( - alphad ) * dw_dB ) #NEWLINE# dgam_dC = ( 0.5 + ( 1j * dw_dC ) ) #NEWLINE# Ca1 = ( c0 * ( ( ( ( - 0.25 ) / alpha2 ) + ( ( 0.5 * dgam_dC ) / gam2 ) ) + ( ( ( ( ( 0.5 * lq2 ) * gam ) * dgam_dC ) - ( ( 2.0 * dw_dC ) / w ) ) * c ) ) ) #NEWLINE# Ca2_1 = ( c0 * ( ( dgam_dC * ( ( 0.5 / gam2 ) - ( 0.25 * lq2 ) ) ) + ( dw_dC / ( w * gam ) ) ) ) #NEWLINE# Ca2_2 = ( ( c0 * dgam_dC ) / gam ) #NEWLINE# Ca3_1 = ( c0 * ( ( ( 0.25 / alpha2 ) - ( ( ( ( 0.25 * lq2 ) * gam ) * dgam_dC ) / alphad ) ) + ( dw_dC / ( w * alphad ) ) ) ) #NEWLINE# Ca3_2 = ( ( 0.5 * c0 ) / alphad ) #NEWLINE# Ca4_1 = ( ( ( S2lq * lq ) * dgam_dC ) / w2 ) #NEWLINE# Ca4 = ( Ca4_1 * c ) #NEWLINE# gC [ ind3t ] = np . sum ( ( ( ( np . real ( ( Ca1 [ ind ] * upm ) ) - np . real ( ( ( ( ( Ca2_1 [ ind ] + ( Ca2_2 [ ind ] * t1 ) ) * egamt ) - ( ( Ca3_1 [ ind ] + ( Ca3_2 [ ind ] * t1 ) ) * egamct ) ) * upv ) ) ) + np . real ( ( Ca4 [ ind ] * upmd ) ) ) + np . real ( ( ( Ca4_1 [ ind ] * ec ) * upvd ) ) ) , axis = 1 ) #NEWLINE# la = ( ( ( 1.0 / lq ) + ( nu * gam ) ) * c0 ) #NEWLINE# la1 = ( la * c ) #NEWLINE# c0l = ( ( S2 [ d ] / w2 ) * lq ) #NEWLINE# la3 = ( c0l * c ) #NEWLINE# gam_2 = ( 0.5 * gam ) #NEWLINE# glq [ ind3t ] = ( ( ( ( la1 [ ind ] * upm ) . real + ( ( la [ ind ] * ec ) * upv ) . real ) + ( la3 [ ind ] * ( ( - gam_2 [ ind ] ) + ( etlq2gamt * ( ( - t_lq2 ) + gam_2 [ ind ] ) ) ) ) . real ) + ( ( c0l [ ind ] * ec ) * ( ( ( - et2_lq2 ) * ( t_lq2 + gam_2 [ ind ] ) ) + ( egamt * gam_2 [ ind ] ) ) ) . real ) #NEWLINE# #UNINDENT# if np . any ( wbool ) : #NEWLINE# #INDENT# t1 = t [ ind2t ] #NEWLINE# ind = index [ ind2t ] #NEWLINE# d = np . asarray ( np . where ( wbool ) [ 0 ] ) #NEWLINE# indd = indD . copy ( ) #NEWLINE# indd [ d ] = np . arange ( d . size ) #NEWLINE# ind = indd [ ind ] #NEWLINE# S2lq = ( S2 [ d ] * ( 0.25 * lq ) ) #NEWLINE# c0 = ( S2lq * np . sqrt ( np . pi ) ) #NEWLINE# w = ( 0.5 * np . sqrt ( ( C2 [ d ] - ( 4.0 * B [ d ] ) ) ) ) #NEWLINE# w2 = ( ( - w ) * w ) #NEWLINE# alphad = alpha [ d ] #NEWLINE# alpha2 = ( alphad * alphad ) #NEWLINE# gam = ( alphad - w ) #NEWLINE# gamc = ( alphad + w ) #NEWLINE# gam2 = ( gam * gam ) #NEWLINE# gamc2 = ( gamc * gamc ) #NEWLINE# c1 = ( 0.5 / alphad ) #NEWLINE# c21 = ( 0.5 / gam ) #NEWLINE# c22 = ( 0.5 / gamc ) #NEWLINE# c = ( c1 - c21 ) #NEWLINE# c2 = ( c1 - c22 ) #NEWLINE# c0 = ( c0 / w2 ) #NEWLINE# nu = ( ( 0.5 * lq ) * gam ) #NEWLINE# nuc = ( ( 0.5 * lq ) * gamc ) #NEWLINE# gamt = ( ( - gam [ ind ] ) * t1 ) #NEWLINE# gamct = ( ( - gamc [ ind ] ) * t1 ) #NEWLINE# egamt = np . exp ( gamt ) #NEWLINE# egamct = np . exp ( gamct ) #NEWLINE# ec = ( ( egamt * c21 [ ind ] ) - ( egamct * c1 [ ind ] ) ) #NEWLINE# ec2 = ( ( egamct * c22 [ ind ] ) - ( egamt * c1 [ ind ] ) ) #NEWLINE# t_lq = ( t1 / lq ) #NEWLINE# t2_lq2 = ( ( - t_lq ) * t_lq ) #NEWLINE# et2_lq2 = np . exp ( t2_lq2 ) #NEWLINE# etlq2gamct = np . exp ( ( t2_lq2 + gamct ) ) #NEWLINE# etlq2gamt = np . exp ( ( t2_lq2 + gamt ) ) #NEWLINE# t2_lq2 = ( ( - t_lq ) * t_lq ) #NEWLINE# wnu = np . real ( wofz ( ( 1j * nu ) ) ) #NEWLINE# lwnu = np . log ( wnu ) #NEWLINE# upm = ( wnu [ ind ] - np . exp ( ( ( t2_lq2 + gamt ) + np . log ( wofz ( ( 1j * ( t_lq + nu [ ind ] ) ) ) . real ) ) ) ) #NEWLINE# upm [ ( t1 [ : , 0 ] == 0.0 ) , : ] = 0.0 #NEWLINE# nu2 = ( nu * nu ) #NEWLINE# z1 = ( nu [ ind ] - t_lq ) #NEWLINE# indv1 = np . where ( ( z1 >= 0.0 ) ) #NEWLINE# indv2 = np . where ( ( z1 < 0.0 ) ) #NEWLINE# upv = ( - np . exp ( ( lwnu [ ind ] + gamt ) ) ) #NEWLINE# if ( indv1 [ 0 ] . shape > 0 ) : #NEWLINE# #INDENT# upv [ indv1 ] += np . exp ( ( t2_lq2 [ indv1 ] + np . log ( wofz ( ( 1j * z1 [ indv1 ] ) ) . real ) ) ) #NEWLINE# #UNINDENT# if ( indv2 [ 0 ] . shape > 0 ) : #NEWLINE# #INDENT# upv [ indv2 ] += ( np . exp ( ( ( nu2 [ ( ind [ indv2 [ 0 ] ] , indv2 [ 1 ] ) ] + gamt [ ( indv2 [ 0 ] , 0 ) ] ) + np . log ( 2.0 ) ) ) - np . exp ( ( t2_lq2 [ indv2 ] + np . log ( wofz ( ( ( - 1j ) * z1 [ indv2 ] ) ) . real ) ) ) ) #NEWLINE# #UNINDENT# upv [ ( t1 [ : , 0 ] == 0 ) , : ] = 0.0 #NEWLINE# wnuc = wofz ( ( 1j * nuc ) ) . real #NEWLINE# upmc = ( wnuc [ ind ] - np . exp ( ( ( t2_lq2 + gamct ) + np . log ( wofz ( ( 1j * ( t_lq + nuc [ ind ] ) ) ) . real ) ) ) ) #NEWLINE# upmc [ ( t1 [ : , 0 ] == 0.0 ) , : ] = 0.0 #NEWLINE# lwnuc = np . log ( wnuc ) #NEWLINE# nuc2 = ( nuc * nuc ) #NEWLINE# z1 = ( nuc [ ind ] - t_lq ) #NEWLINE# indv1 = np . where ( ( z1 >= 0.0 ) ) #NEWLINE# indv2 = np . where ( ( z1 < 0.0 ) ) #NEWLINE# upvc = ( - np . exp ( ( lwnuc [ ind ] + gamct ) ) ) #NEWLINE# if ( indv1 [ 0 ] . shape > 0 ) : #NEWLINE# #INDENT# upvc [ indv1 ] += np . exp ( ( t2_lq2 [ indv1 ] + np . log ( wofz ( ( 1j * z1 [ indv1 ] ) ) . real ) ) ) #NEWLINE# #UNINDENT# if ( indv2 [ 0 ] . shape > 0 ) : #NEWLINE# #INDENT# upvc [ indv2 ] += ( np . exp ( ( ( nuc2 [ ( ind [ indv2 [ 0 ] ] , indv2 [ 1 ] ) ] + gamct [ ( indv2 [ 0 ] , 0 ) ] ) + np . log ( 2.0 ) ) ) - np . exp ( ( t2_lq2 [ indv2 ] + np . log ( wofz ( ( ( - 1j ) * z1 [ indv2 ] ) ) . real ) ) ) ) #NEWLINE# #UNINDENT# upvc [ ( t1 [ : , 0 ] == 0 ) , : ] = 0.0 #NEWLINE# c0_S = ( ( S [ d ] / w2 ) * ( lq * ( np . sqrt ( np . pi ) * 0.5 ) ) ) #NEWLINE# K011 = ( c0_S * c ) #NEWLINE# K012 = ( c0_S * c2 ) #NEWLINE# gS [ ind2t ] = ( ( ( ( K011 [ ind ] * upm ) + ( K012 [ ind ] * upmc ) ) + ( ( c0_S [ ind ] * ec ) * upv ) ) + ( ( c0_S [ ind ] * ec2 ) * upvc ) ) #NEWLINE# upmd = ( ( - 1.0 ) + etlq2gamt ) #NEWLINE# upvd = ( ( - et2_lq2 ) + egamt ) #NEWLINE# upmdc = ( ( - 1.0 ) + etlq2gamct ) #NEWLINE# upvdc = ( ( - et2_lq2 ) + egamct ) #NEWLINE# dgam_dB = ( 0.5 / w ) #NEWLINE# dgamc_dB = ( - dgam_dB ) #NEWLINE# Ba1 = ( c0 * ( ( ( 0.5 * dgam_dB ) / gam2 ) + ( ( ( ( ( 0.5 * lq2 ) * gam ) * dgam_dB ) - ( 1.0 / w2 ) ) * c ) ) ) #NEWLINE# Ba3 = ( c0 * ( ( ( ( ( ( - 0.25 ) * lq2 ) * gam ) * dgam_dB ) / alphad ) + ( 0.5 / ( w2 * alphad ) ) ) ) #NEWLINE# Ba4_1 = ( ( ( S2lq * lq ) * dgam_dB ) / w2 ) #NEWLINE# Ba4 = ( Ba4_1 * c ) #NEWLINE# Ba2_1 = ( c0 * ( ( dgam_dB * ( ( 0.5 / gam2 ) - ( 0.25 * lq2 ) ) ) + ( 0.5 / ( w2 * gam ) ) ) ) #NEWLINE# Ba2_2 = ( ( c0 * dgam_dB ) / gam ) #NEWLINE# Ba1c = ( c0 * ( ( ( 0.5 * dgamc_dB ) / gamc2 ) + ( ( ( ( ( 0.5 * lq2 ) * gamc ) * dgamc_dB ) - ( 1.0 / w2 ) ) * c2 ) ) ) #NEWLINE# Ba3c = ( c0 * ( ( ( ( ( ( - 0.25 ) * lq2 ) * gamc ) * dgamc_dB ) / alphad ) + ( 0.5 / ( w2 * alphad ) ) ) ) #NEWLINE# Ba4_1c = ( ( ( S2lq * lq ) * dgamc_dB ) / w2 ) #NEWLINE# Ba4c = ( Ba4_1c * c2 ) #NEWLINE# Ba2_1c = ( c0 * ( ( dgamc_dB * ( ( 0.5 / gamc2 ) - ( 0.25 * lq2 ) ) ) + ( 0.5 / ( w2 * gamc ) ) ) ) #NEWLINE# Ba2_2c = ( ( c0 * dgamc_dB ) / gamc ) #NEWLINE# gB [ ind2t ] = np . sum ( ( ( ( ( ( ( ( ( Ba1 [ ind ] * upm ) - ( ( ( ( Ba2_1 [ ind ] + ( Ba2_2 [ ind ] * t1 ) ) * egamt ) - ( Ba3 [ ind ] * egamct ) ) * upv ) ) + ( Ba4 [ ind ] * upmd ) ) + ( ( Ba4_1 [ ind ] * ec ) * upvd ) ) + ( Ba1c [ ind ] * upmc ) ) - ( ( ( ( Ba2_1c [ ind ] + ( Ba2_2c [ ind ] * t1 ) ) * egamct ) - ( Ba3c [ ind ] * egamt ) ) * upvc ) ) + ( Ba4c [ ind ] * upmdc ) ) + ( ( Ba4_1c [ ind ] * ec2 ) * upvdc ) ) , axis = 1 ) #NEWLINE# dw_dC = ( ( 0.5 * alphad ) / w ) #NEWLINE# dgam_dC = ( 0.5 - dw_dC ) #NEWLINE# dgamc_dC = ( 0.5 + dw_dC ) #NEWLINE# S2lq2 = ( S2lq * lq ) #NEWLINE# Ca1 = ( c0 * ( ( ( ( - 0.25 ) / alpha2 ) + ( ( 0.5 * dgam_dC ) / gam2 ) ) + ( ( ( ( ( 0.5 * lq2 ) * gam ) * dgam_dC ) + ( alphad / w2 ) ) * c ) ) ) #NEWLINE# Ca2_1 = ( c0 * ( ( dgam_dC * ( ( 0.5 / gam2 ) - ( 0.25 * lq2 ) ) ) - ( ( 0.5 * alphad ) / ( w2 * gam ) ) ) ) #NEWLINE# Ca2_2 = ( ( c0 * dgam_dC ) / gam ) #NEWLINE# Ca3_1 = ( c0 * ( ( ( 0.25 / alpha2 ) - ( ( ( ( 0.25 * lq2 ) * gam ) * dgam_dC ) / alphad ) ) - ( 0.5 / w2 ) ) ) #NEWLINE# Ca3_2 = ( ( 0.5 * c0 ) / alphad ) #NEWLINE# Ca4_1 = ( S2lq2 * ( dgam_dC / w2 ) ) #NEWLINE# Ca4 = ( Ca4_1 * c ) #NEWLINE# Ca1c = ( c0 * ( ( ( ( - 0.25 ) / alpha2 ) + ( ( 0.5 * dgamc_dC ) / gamc2 ) ) + ( ( ( ( ( 0.5 * lq2 ) * gamc ) * dgamc_dC ) + ( alphad / w2 ) ) * c2 ) ) ) #NEWLINE# Ca2_1c = ( c0 * ( ( dgamc_dC * ( ( 0.5 / gamc2 ) - ( 0.25 * lq2 ) ) ) - ( ( 0.5 * alphad ) / ( w2 * gamc ) ) ) ) #NEWLINE# Ca2_2c = ( ( c0 * dgamc_dC ) / gamc ) #NEWLINE# Ca3_1c = ( c0 * ( ( ( 0.25 / alpha2 ) - ( ( ( ( 0.25 * lq2 ) * gamc ) * dgamc_dC ) / alphad ) ) - ( 0.5 / w2 ) ) ) #NEWLINE# Ca3_2c = ( ( 0.5 * c0 ) / alphad ) #NEWLINE# Ca4_1c = ( S2lq2 * ( dgamc_dC / w2 ) ) #NEWLINE# Ca4c = ( Ca4_1c * c2 ) #NEWLINE# gC [ ind2t ] = np . sum ( ( ( ( ( ( ( ( ( Ca1 [ ind ] * upm ) - ( ( ( ( Ca2_1 [ ind ] + ( Ca2_2 [ ind ] * t1 ) ) * egamt ) - ( ( Ca3_1 [ ind ] + ( Ca3_2 [ ind ] * t1 ) ) * egamct ) ) * upv ) ) + ( Ca4 [ ind ] * upmd ) ) + ( ( Ca4_1 [ ind ] * ec ) * upvd ) ) + ( Ca1c [ ind ] * upmc ) ) - ( ( ( ( Ca2_1c [ ind ] + ( Ca2_2c [ ind ] * t1 ) ) * egamct ) - ( ( Ca3_1c [ ind ] + ( Ca3_2c [ ind ] * t1 ) ) * egamt ) ) * upvc ) ) + ( Ca4c [ ind ] * upmdc ) ) + ( ( Ca4_1c [ ind ] * ec2 ) * upvdc ) ) , axis = 1 ) #NEWLINE# la = ( ( ( 1.0 / lq ) + ( nu * gam ) ) * c0 ) #NEWLINE# lac = ( ( ( 1.0 / lq ) + ( nuc * gamc ) ) * c0 ) #NEWLINE# la1 = ( la * c ) #NEWLINE# la1c = ( lac * c2 ) #NEWLINE# t_lq2 = ( t_lq / lq ) #NEWLINE# c0l = ( ( S2 [ d ] / w2 ) * ( 0.5 * lq ) ) #NEWLINE# la3 = ( c0l * c ) #NEWLINE# la3c = ( c0l * c2 ) #NEWLINE# gam_2 = ( 0.5 * gam ) #NEWLINE# gamc_2 = ( 0.5 * gamc ) #NEWLINE# glq [ ind2t ] = ( ( ( ( ( ( ( ( la1c [ ind ] * upmc ) + ( ( lac [ ind ] * ec2 ) * upvc ) ) + ( la3c [ ind ] * ( ( - gamc_2 [ ind ] ) + ( etlq2gamct * ( ( - t_lq2 ) + gamc_2 [ ind ] ) ) ) ) ) + ( ( c0l [ ind ] * ec2 ) * ( ( ( - et2_lq2 ) * ( t_lq2 + gamc_2 [ ind ] ) ) + ( egamct * gamc_2 [ ind ] ) ) ) ) + ( la1 [ ind ] * upm ) ) + ( ( la [ ind ] * ec ) * upv ) ) + ( la3 [ ind ] * ( ( - gam_2 [ ind ] ) + ( etlq2gamt * ( ( - t_lq2 ) + gam_2 [ ind ] ) ) ) ) ) + ( ( c0l [ ind ] * ec ) * ( ( ( - et2_lq2 ) * ( t_lq2 + gam_2 [ ind ] ) ) + ( egamt * gam_2 [ ind ] ) ) ) ) #NEWLINE# #UNINDENT# return ( glq , gS , gB , gC )