var('n, k');
R(n) = beta*(rho - n) + (rho - n)^2*sigma_b^2/2;
F(n) = k*(beta + (rho - n) * sigma_b^2);
ls = exp(-sigma_b^2*k^2/2)*(-cos(k *beta) + Q*exp(R(1))*(rho*cos(F(1)) - k*sin(F(1))) + Q^2/2*exp(R(2))* ((rho*(rho - 1) - k^2)*cos(F(2)) - k*(2*rho - 1)*sin(F(2)))) - k^2*Q^2/2*exp(R(2));
lt = L*exp(R(1))*((1 - exp(-nu + sigma_n^2/2))^(-1)*exp(-rho*nu + rho^2*sigma_n^2/2)*(cos(k*(nu - rho*sigma_n^2))* exp(-k^2*sigma_n^2/2) - 1) + exp((1 - rho)*mu + (1 -rho)^2*sigma_m^2/2)*(cos(k*(mu + (1 - rho)*sigma_m^2))*exp(-k^2 *sigma_m^2/2) - 1));
ll = ls+lt;
def spectrumu(beta=5, sigma_b=1, K=0.1, L=0.05, nu=0.5, sigma_n=0.1, mu=15, sigma_m=3, Q=0.7):
rhou=find_root(ssc(xi=0, beta=beta, sigma_b=sigma_b, K=K, L=L, nu=nu, sigma_n=sigma_n, mu=mu, sigma_m=sigma_m, Q=Q)==0, 0.9,1.5);
print "rho = ", rhou ;
u(k)=ll(xi=xi, beta=beta, sigma_b=sigma_b, K=K, L=L, nu=nu, sigma_n=sigma_n, mu=mu, sigma_m=sigma_m, Q=Q, rho=rhou);
return plot(u(k),(k,0,6))
def spectrum(beta=5, sigma_b=1, K=0.1, L=0.05, nu=0.5, sigma_n=0.1, mu=15, sigma_m=3, Q=0.7):
try:
rhol=find_root(ssc(xi=0, beta=beta, sigma_b=sigma_b, K=K, L=L, nu=nu, sigma_n=sigma_n, mu=mu, sigma_m=sigma_m, Q=Q)==0, 0,1)
rhou=find_root(ssc(xi=0, beta=beta, sigma_b=sigma_b, K=K, L=L, nu=nu, sigma_n=sigma_n, mu=mu, sigma_m=sigma_m, Q=Q)==0, 0.9,2)
print "rho = ", rhol, " , ",rhou
l(k)=ll(xi=xi, beta=beta, sigma_b=sigma_b, K=K, L=L, nu=nu, sigma_n=sigma_n, mu=mu, sigma_m=sigma_m, Q=Q, rho=rhol)
u(k)=ll(xi=xi, beta=beta, sigma_b=sigma_b, K=K, L=L, nu=nu, sigma_n=sigma_n, mu=mu, sigma_m=sigma_m, Q=Q, rho=rhou)
return plot([l(k),u(k)],(k,0,6))
except RuntimeError:
rhou=find_root(ssc(xi=0, beta=beta, sigma_b=sigma_b, K=K, L=L, nu=nu, sigma_n=sigma_n, mu=mu, sigma_m=sigma_m, Q=Q)==0, 0,2);
print "rho = ", rhou ;
u(k)=ll(xi=xi, beta=beta, sigma_b=sigma_b, K=K, L=L, nu=nu, sigma_n=sigma_n, mu=mu, sigma_m=sigma_m, Q=Q, rho=rhou);
plot(u(k),(k,0,6)).show()
p = plot(ssc(xi=0, beta=beta, sigma_b=sigma_b, nu=nu, sigma_n=sigma_n, mu=mu, sigma_m=sigma_m, K=K, L=L, Q=Q), (rho,0,2));
p.show(ymin=-1, ymax=1)