本文整理汇总了Python中scipy.log函数的典型用法代码示例。如果您正苦于以下问题:Python log函数的具体用法?Python log怎么用?Python log使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了log函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _calc_bic_
def _calc_bic_(ll, num_snps, num_par, n):
bic = -2 * (ll) + num_par * sp.log(n)
extended_bic = bic + \
2 * _log_choose_(num_snps, num_par - 2)
modified_bic = bic + \
2 * (num_par) * sp.log(num_snps / 2.2 - 1)
return (bic, extended_bic, modified_bic)
示例2: _Psat
def _Psat(Tdb):
"""
ASHRAE Fundamentals Handbook pag 1.2 eq. 4
input:
Dry bulb temperature, K
return:
Saturation pressure, Pa
"""
if 173.15 <= Tdb < 273.15:
C1 = -5674.5359
C2 = 6.3925247
C3 = -0.009677843
C4 = 0.00000062215701
C5 = 2.0747825E-09
C6 = -9.484024E-13
C7 = 4.1635019
pws = exp(C1/Tdb + C2 + C3*Tdb + C4*Tdb**2 + C5*Tdb**3 + C6*Tdb**4 +
C7*log(Tdb))
elif 273.15 <= Tdb <= 473.15:
C8 = -5800.2206
C9 = 1.3914993
C10 = -0.048640239
C11 = 0.000041764768
C12 = -0.000000014452093
C13 = 6.5459673
pws = exp(C8/Tdb + C9 + C10*Tdb + C11*Tdb**2 + C12*Tdb**3 + C13*log(Tdb))
else:
raise NotImplementedError("Incoming out of bound")
return pws
示例3: llfun
def llfun(act, pred):
epsilon = 1e-15
pred = sp.maximum(epsilon, pred)
pred = sp.minimum(1 - epsilon, pred)
ll = sum(act * sp.log(pred) + sp.subtract(1, act) * sp.log(sp.subtract(1, pred)))
ll = ll * -1.0 / len(act)
return ll
示例4: print_model_probability
def print_model_probability(logprob):
"""
Gives a nice overview of the model probability, allowing
the practitioner to compare this model's probability to others
"""
prob = scipy.exp(logprob)
limits = {
'eq' :logprob,
'barely' :logprob - scipy.log(3),
'substantial':logprob - scipy.log(10),
'strong' :logprob - scipy.log(30),
'very strong':logprob - scipy.log(100)
}
for i in limits:
limits[i] = "%5.1f" % limits[i]
limits[i] = " " * (7 - len(limits[i])) + limits[i]
print("Model probability ln(p(D|M, I)): [about 10^%.0f] %.5f" % (logprob / scipy.log(10), logprob))
print(("""
Table to compare support against other models (Jeffrey):
other model |
ln(p(D|M,I)) | supporting evidence for this model
------------------+-------------------------------------
>%%(eq)%s Negative (supports other model)
%%(eq)%s ..%%(barely)%s Barely worth mentioning
%%(barely)%s ..%%(substantial)%s Substantial
%%(substantial)%s ..%%(strong)%s Strong
%%(strong)%s ..%%(very strong)%s Very strong
<%%(very strong)%s Decisive
be careful.
""" % tuple(['s']*10)) % limits)
示例5: summarize_splits
def summarize_splits(splits, weighted=True):
rows = []
if weighted:
v = [ (x.likelihood * x.weight, x) for x in splits ]
else:
v = [ (x.likelihood, x) for x in splits ]
ptot = sum([ x[0] for x in v ])
v.sort(); v.reverse()
opt = scipy.log(v[0][0])
rows.append(["split", "lnL", "Rel.Prob"])
sumprob = 0.0
for L, split in v:
lnL = scipy.log(L)
relprob = (L/ptot)
if sumprob < 0.95:
#if (opt - lnL) < 2:
rows.append([str(split), "%.4g" % lnL, "%.4g" % relprob])
sumprob += relprob
widths = []
for i in range(3):
w = max([ len(x[i]) for x in rows ])
for x in rows:
x[i] = x[i].ljust(w)
return [ " ".join(x) for x in rows ]
示例6: compute_continuous_prob_value
def compute_continuous_prob_value(parameters, distribution, rvs):
mean = float(parameters[0])
stddev = float(parameters[1]) / 100 * mean
A = float(parameters[2])
B = float(parameters[3])
result = float("-inf")
if rvs is None:
while result <= A or result > B:
if distribution == "normal":
rvs = stats.norm.rvs
result = rvs(mean, stddev)
elif distribution == "lognormal":
variance = stddev ** 2.0
mu = log(mean ** 2.0 / sqrt(variance + mean ** 2.0))
sigma = sqrt(log((variance / mean ** 2.0) + 1.0))
rvs = stats.lognorm.rvs
result = rvs(sigma, scale=scipy.exp(mu))
elif distribution == "gamma":
betha = (stddev) ** 2 / mean
alpha = mean / betha
rvs = stats.gamma.rvs
result = rvs(alpha, scale=betha)
else:
result = 1
return result
示例7: binary_logloss
def binary_logloss(p, y):
epsilon = 1e-15
p = sp.maximum(epsilon, p)
p = sp.minimum(1-epsilon, p)
res = sum(y * sp.log(p) + sp.subtract(1, y) * sp.log(sp.subtract(1, p)))
res *= -1.0/len(y)
return res
示例8: KramersKronigFFT
def KramersKronigFFT(ImX_A):
''' Hilbert transform used to calculate real part of a function from its imaginary part
uses piecewise cubic interpolated integral kernel of the Hilbert transform
use only if len(ImX_A)=2**m-1, uses fft from scipy.fftpack '''
X_A = sp.copy(ImX_A)
N = int(len(X_A))
## be careful with the data type, orherwise it fails for large N
if N > 3e6: A = sp.arange(3,N+1,dtype='float64')
else: A = sp.arange(3,N+1)
X1 = 4.0*sp.log(1.5)
X2 = 10.0*sp.log(4.0/3.0)-6.0*sp.log(1.5)
## filling the kernel
if N > 3e6: Kernel_A = sp.zeros(N-2,dtype='float64')
else: Kernel_A = sp.zeros(N-2)
Kernel_A = (1-A**2)*((A-2)*sp.arctanh(1.0/(1-2*A))+(A+2)*sp.arctanh(1.0/(1+2*A)))\
+((A**3-6*A**2+11*A-6)*sp.arctanh(1.0/(3-2*A))+(A+3)*(A**2+3*A+2)*sp.arctanh(1.0/(2*A+3)))/3.0
Kernel_A = sp.concatenate([-sp.flipud(Kernel_A),sp.array([-X2,-X1,0.0,X1,X2]),Kernel_A])/sp.pi
## zero-padding the functions for fft
ImXExt_A = sp.concatenate([X_A[int((N-1)/2):],sp.zeros(N+2),X_A[:int((N-1)/2)]])
KernelExt_A = sp.concatenate([Kernel_A[N:],sp.zeros(1),Kernel_A[:N]])
## performing the fft
ftReXExt_A = -fft(ImXExt_A)*fft(KernelExt_A)
ReXExt_A = sp.real(ifft(ftReXExt_A))
ReX_A = sp.concatenate([ReXExt_A[int((3*N+3)/2+1):],ReXExt_A[:int((N-1)/2+1)]])
return ReX_A
示例9: _LML_covar
def _LML_covar(self,hyperparams,debugging=False):
"""
log marginal likelihood
"""
try:
KV = self.get_covariances(hyperparams,debugging=debugging)
except LA.LinAlgError:
LG.error('linalg exception in _LML_covar')
return 1E6
except ValueError:
LG.error('value error in _LML_covar')
return 1E6
lml_quad = 0.5*(KV['Ytilde']*KV['UYU']).sum()
lml_det = 0.5 * SP.log(KV['S']).sum()
lml_const = 0.5*self.n*self.t*(SP.log(2*SP.pi))
if debugging:
# do calculation without kronecker tricks and compare
_lml_quad = 0.5 * (KV['alpha']*KV['Yvec']).sum()
_lml_det = SP.log(SP.diag(KV['L'])).sum()
assert SP.allclose(_lml_quad,lml_quad), 'ouch, quadratic form is wrong in _LMLcovar'
assert SP.allclose(_lml_det, lml_det), 'ouch, ldet is wrong in _LML_covar'
lml = lml_quad + lml_det + lml_const
return lml
示例10: _visco0
def _visco0(self, rho, T, fase=None, coef=False):
Visco0 = lambda T: -0.135311743/log(T) + 1.00347841 + \
1.20654649*log(T) - 0.149564551*log(T)**2 + 0.0125208416*log(T)**3
def ViscoE(T, rho):
x = log(T)
B = -47.5295259/x+87.6799309-42.0741589*x+8.33128289*x**2-0.589252385*x**3
C = 547.309267/x-904.870586+431.404928*x-81.4504854*x**2+5.37005733*x**3
D = -1684.39324/x+3331.08630-1632.19172*x+308.804413*x**2-20.2936367*x**3
return rho.gcc*B+rho.gcc**2*C+rho.gcc**3*D
if T < 100:
# Section 4.2.1 for 3.5 < T < 100
no = Visco0(T)
ne = ViscoE(T, rho)
n = exp(no+ne)
else:
# Section 4.2.1 for T > 100
no = 196*T**0.71938*exp(12.451/T-295.67/T**2-4.1249)
ne = exp(Visco0(T)+ViscoE(T, rho))-exp(Visco0(T)+ViscoE(T, unidades.Density(0)))
n = no+ne
if coef:
return ne
else:
return unidades.Viscosity(n*1e-6, "P")
示例11: _LML_covar
def _LML_covar(self, hyperparams):
#calculate marginal likelihood of kronecker GP
#1. get covariance structures needed:
try:
KV = self.get_covariances(hyperparams)
except linalg.LinAlgError:
LG.error("exception caught (%s)" % (str(hyperparams)))
return 1E6
#2. build lml
LML = 0
LMLc = 0.5* self.nd * SP.log(2.0 * SP.pi)
#constant part of negative lml
#quadratic form
Si = KV['Si']
LMLq = 0.5 * SP.dot(KV['y_rot'].ravel(),KV['YSi'].ravel() )
#determinant stuff
LMLd = -0.5 * SP.log(Si).sum()
if VERBOSE:
print "costly verbose debugging on"
K = SP.kron(KV['Kr'],KV['Kc']) + SP.diag(KV['Knoise'])
Ki = SP.linalg.inv(K)
LMLq_ = 0.5* SP.dot(SP.dot(self.y.ravel(),Ki),self.y.ravel())
LMLd_ = 0.5* 2 * SP.log(SP.linalg.cholesky(K).diagonal()).sum()
check_dist(LMLq,LMLq_)
check_dist(LMLd,LMLd_)
return LMLc+LMLq+LMLd
示例12: NTU_fPR
def NTU_fPR(P, R, flujo, **kwargs):
"""Calculo de la factor de correccion
Flujo vendra definido por su acronimo
CF: Counter flow
PF: Parallel flow
CrFMix: Crossflow, both fluids mixed
CrFSMix: Crossflow, one fluid mixed, other unmixed
CrFunMix: Crossflow, both fluids unmixed
1-2TEMAE: 1-2 pass shell and tube exchanger
kwargs: Opciones adicionales:
mixed: corriente mezclada para CrFSMix
Cmin, Cmax
"""
if flujo == "1-2TEMAE":
if R == 1:
NTU = log((1-P)/2-3*P)
else:
E = (1+R**2)**0.5
NTU = log((2-P*(1+R-E))/(2-P*(1+R+E)))/E
else:
if R == 1:
NTU = P/(1-P)
else:
NTU = log((1-R/P)/(1-P))/(1-R)
return NTU
示例13: tfidf
def tfidf(termFrequency):
""" The student must code this. """
gf = sp.sum(termFrequency,axis=1).astype(float)
p = (termFrequency.T/gf).T
g = sp.sum(p*sp.log(p+1)/sp.log(len(p[0,:])),axis=1) + 1
a = (sp.log(termFrequency + 1).T*g).T
return a
示例14: cdi_info
def cdi_info(energy, h, z, pix, del_x_d, verbose = False):
"""
h - object size\nz - sam-det dist\npix - # of pix\ndel_x_d - pixel size
"""
x = (pix/2.)*del_x_d
l = energy_to_wavelength(energy)
NF = lambda nh, nl, nz : nh**2./(nl*nz)
del_x_s = lambda l, z, x : (l*z)/(2.*x)
nNF = NF(h,l,z)
OS = lambda l,z,x,h,pix : ((pix*del_x_s(l,z,x))**2.)/(h**2.)
nOS = OS(l,z,x,h,pix)
if verbose:
pyl.figure()
zrange = sp.linspace(0, 2*z, 100)
pyl.plot(zrange, sp.log(NF(h,l,zrange)))
pyl.title('NF')
pyl.xlabel('z [m]')
pyl.ylabel('log NF')
pyl.figure()
pyl.plot(zrange, sp.log(OS(l,zrange, x, h, pix)))
pyl.title('OS')
pyl.xlabel('z [m]')
pyl.ylabel('log OS')
print 'NF: %1.2e\nOS: %1.2e\ndel_x_d: %1.2e\nw_d: %1.2e\ndel_x_s: %1.2e\nw_s: %1.2e' % (nNF, nOS, del_x_d, pix*del_x_d, del_x_s(l,z,x), del_x_s(l,z,x)*pix)
aperture_stats(energy, z, x)
示例15: loglike
def loglike(self, data, paravec, sign = 1):
lu, lsig = paravec
loglike = (-1/(2*np.exp(lsig)**2)) * sum((sp.log(data)-np.exp(lu))**2) - (len(data)/2) * sp.log(2*sp.pi) \
- len(data) * sp.log(np.exp(lsig)) - sum(sp.log(data))
loglike = sign*loglike
return loglike