예제 #1
0
def sigma(t, g, temp, a, e, wd, ci, V, i = 2):
    """
    V(t) = a + e * cos(wd*t)
    """
    nu = fl.mathieu_nu(wd, a, e)
    C = fl.mathieu_coefs(wd, a, e, nu)
    C = C[C.size//2-i:C.size//2+i+1]
    phi1, dphi1, phi2, dphi2 = fl.mathieu(wd, a, e, t)
    dt = t[1]-t[0]
    #d2phi1, d2phi2 = np.gradient(dphi1, dt), np.gradient(dphi2, dt)
    sxx0, sxp0, spp0 = ci[0], ci[1], ci[2]
#    dsxx0 = -((g*(spp0*phi1**2+2*sxp0*phi1*(-(g*phi1)/2+phi2)+sxx0*(-(g*phi1)/2+phi2)**2))/np.exp(g*t))+(2*spp0*phi1*dphi1+2*sxp0*(-(g*phi1)/2+phi2)*dphi1+2*sxp0*phi1*(-(g*dphi1)/2+dphi2)+2*sxx0*(-(g*phi1)/2+phi2)*(-(g*dphi1)/2+dphi2))/np.exp(g*t)
#    d2sxx0 = (g**2*(spp0*phi1**2+2*sxp0*phi1*(-(g*phi1)/2+phi2)+sxx0*(-(g*phi1)/2+phi2)**2))/np.exp(g*t)-(2*g*(2*spp0*phi1*dphi1+2*sxp0*(-(g*phi1)/2+phi2)*dphi1+2*sxp0*phi1*(-(g*dphi1)/2+dphi2)+2*sxx0*(-(g*phi1)/2+phi2)*(-(g*dphi1)/2+dphi2)))/np.exp(g*t)+(spp0*(2*dphi1**2+2*phi1*d2phi1)+2*sxp0*(2*dphi1*(-(g*dphi1)/2+dphi2)+(-(g*phi1)/2+phi2)*d2phi1+phi1*(-(g*d2phi1)/2+d2phi2))+sxx0*(2*(-(g*dphi1)/2+dphi2)**2+2*(-(g*phi1)/2+phi2)*(-(g*d2phi1)/2+d2phi2)))/np.exp(g*t) 
        
    
    sxx = np.exp(-g*t)*( (phi2-g/2*phi1)**2*sxx0 + 2*phi1*(phi2-g/2*phi1)*sxp0 + phi1**2 * spp0 )+S_xx(t, g, temp, nu, C)
    sxx = sxx.real
   
#    dsxx = dsxx0 + S_xx(t, g, temp, nu, C, deriv = 1)
#    d2sxx = d2sxx0 + S_xx(t, g, temp, nu, C, deriv = 2) 
    
    sxp = np.gradient(sxx, dt)/2
    spp = np.gradient(sxp, dt)+g*sxp+(V-2*g)*sxx    

#    sxp = 1/2 * dsxx
#    spp = 1/2 * d2sxx +g*sxp+(V-2*g)*sxx    

    
    return sxx.real, spp.real, sxp.real
예제 #2
0
파일: aes.py 프로젝트: martindrech/sigma
def cov(t, g, ca1, cq1, ca2, cq2, temp1, temp2, wc = 50, i = 5, unpacked = False):
    """
    Devuelve todos los valores medios para la matriz de covarianza. Puede devolverlos como
    la matriz armada o unpacked.
    """    
    nu1, nu2 = fl.mathieu_nu(ca1, cq1), fl.mathieu_nu(ca2, cq2)
    c1, c2 = fl.mathieu_coefs(ca1, cq1, nu1), fl.mathieu_coefs(ca2, cq2, nu2)
    c1, c2 = c1[c1.size//2-i:c1.size//2+i+1], c2[c2.size//2-i:c2.size//2+i+1]
 
    phi1, dphi1, phi2, dphi2 = fl.mathieu(ca1, cq1, t)    
    phim1, dphim1, phim2, dphim2 = fl.mathieu(ca2, cq2, t)
    
#    impedir_peq(phi1, .01)
#    impedir_peq(phim1, .01)

    
    Ma1 = a1(t, g,  nu1, c1, temp1, nu2, c2, temp2, wc, phi1, phim1)
    Ma2 = a2(t, g,  nu1, c1, temp1, nu2, c2, temp2, wc, phi1, phim1)
    Ma3 = a3(t, g,  nu1, c1, temp1, nu2, c2, temp2, wc, phi1, phim1)
    b1d, b1c, b2d, b2c, b3d, b3c = b(t, g, phi1, dphi1, phi2, dphi2, phim1, dphim1, phim2, dphim2)

    x1x1=(Ma3[1][1]*b3c**2-(Ma3[0][1]+Ma3[1][0])*b3c*b3d+Ma3[0][0]*b3d**2)/(b3c**2-b3d**2)**2
    x2x2=(Ma3[0][0]*b3c**2-(Ma3[0][1]+Ma3[1][0])*b3c*b3d+Ma3[1][1]*b3d**2)/(b3c**2-b3d**2)**2
    x1x2=((Ma3[0][1]+Ma3[1][0])*b3c**2-2*(Ma3[0][0]+Ma3[1][1])*b3c*b3d+(Ma3[0][1]+Ma3[1][0])*b3d**2)/(2*(b3c**2-b3d**2)**2)
    x1p1=(b3c**2*((Ma3[0][1]+Ma3[1][0])*b1c+2*Ma3[1][1]*b1d-Ma2[0][1]*b3c)+b3c*(-2*(Ma3[0][0]+Ma3[1][1])*b1c-2*(Ma3[0][1]+Ma3[1][0])*b1d+Ma2[0][0]*b3c)*b3d+((Ma3[0][1]+Ma3[1][0])*b1c+2*Ma3[0][0]*b1d+Ma2[0][1]*b3c)*b3d**2-Ma2[0][0]*b3d**3)/(2*(b3c**2-b3d**2)**2)
    x2p2=(b3c**2*((Ma3[0][1]+Ma3[1][0])*b1c+2*Ma3[0][0]*b1d-Ma2[1][0]*b3c)+b3c*(-2*(Ma3[0][0]+Ma3[1][1])*b1c-2*(Ma3[0][1]+Ma3[1][0])*b1d+Ma2[1][1]*b3c)*b3d+((Ma3[0][1]+Ma3[1][0])*b1c+2*Ma3[1][1]*b1d+Ma2[1][0]*b3c)*b3d**2-Ma2[1][1]*b3d**3)/(2*(b3c**2-b3d**2)**2)
    x1p2=(b3c**2*(2*Ma3[1][1]*b1c+(Ma3[0][1]+Ma3[1][0])*b1d-Ma2[1][1]*b3c)+b3c*(-2*(Ma3[0][1]+Ma3[1][0])*b1c-2*(Ma3[0][0]+Ma3[1][1])*b1d+Ma2[1][0]*b3c)*b3d+(2*Ma3[0][0]*b1c+(Ma3[0][1]+Ma3[1][0])*b1d+Ma2[1][1]*b3c)*b3d**2-Ma2[1][0]*b3d**3)/(2*(b3c**2-b3d**2)**2)
    x2p1=(b3c**2*(2*Ma3[0][0]*b1c+(Ma3[0][1]+Ma3[1][0])*b1d-Ma2[0][0]*b3c)+b3c*(-2*(Ma3[0][1]+Ma3[1][0])*b1c-2*(Ma3[0][0]+Ma3[1][1])*b1d+Ma2[0][1]*b3c)*b3d+(2*Ma3[1][1]*b1c+(Ma3[0][1]+Ma3[1][0])*b1d+Ma2[0][0]*b3c)*b3d**2-Ma2[0][1]*b3d**3)/(2*(b3c**2-b3d**2)**2)
    p1p1 = Ma1[0][0]+(b3c**2*(Ma3[0][0]*b1c**2+b1d*((Ma3[0][1]+Ma3[1][0])*b1c+Ma3[1][1]*b1d)-(Ma2[0][0]*b1c+Ma2[0][1]*b1d)*b3c)-b3c*(2*(Ma3[0][0]+Ma3[1][1])*b1c*b1d+Ma3[0][1]*(b1c**2+b1d**2)+Ma3[1][0]*(b1c**2+b1d**2)-(Ma2[0][1]*b1c+Ma2[0][0]*b1d)*b3c)*b3d+(Ma3[1][1]*b1c**2+Ma3[0][1]*b1c*b1d+Ma3[1][0]*b1c*b1d+Ma3[0][0]*b1d**2+Ma2[0][0]*b1c*b3c+Ma2[0][1]*b1d*b3c)*b3d**2-(Ma2[0][1]*b1c+Ma2[0][0]*b1d)*b3d**3)/(b3c**2-b3d**2)**2
#    p1p1 = Ma1[0][0]+b1d**2*x1x1+b1c**2*x2x2+4*b1d*b1d*x1x2+2*b1d*x1p1+2*b1c*x2p1   
    p2p2 = Ma1[1][1]+(b3c**2*(Ma3[1][1]*b1c**2+b1d*((Ma3[0][1]+Ma3[1][0])*b1c+Ma3[0][0]*b1d)-(Ma2[1][1]*b1c+Ma2[1][0]*b1d)*b3c)-b3c*(2*(Ma3[0][0]+Ma3[1][1])*b1c*b1d+Ma3[0][1]*(b1c**2+b1d**2)+Ma3[1][0]*(b1c**2+b1d**2)-(Ma2[1][0]*b1c+Ma2[1][1]*b1d)*b3c)*b3d+(Ma3[0][0]*b1c**2+Ma3[0][1]*b1c*b1d+Ma3[1][0]*b1c*b1d+Ma3[1][1]*b1d**2+Ma2[1][1]*b1c*b3c+Ma2[1][0]*b1d*b3c)*b3d**2-(Ma2[1][0]*b1c+Ma2[1][1]*b1d)*b3d**3)/(b3c**2-b3d**2)**2
    p1p2 = (Ma1[0][1]+Ma1[1][0]+(((Ma2[0][1]+Ma2[1][0])*b1c+(Ma2[0][0]+Ma2[1][1])*b1d)*b3c-((Ma2[0][0]+Ma2[1][1])*b1c+(Ma2[0][1]+Ma2[1][0])*b1d)*b3d)/(-b3c**2+b3d**2)+((b1c**2+b1d**2)*((Ma3[0][1]+Ma3[1][0])*b3c**2-2*(Ma3[0][0]+Ma3[1][1])*b3c*b3d+(Ma3[0][1]+Ma3[1][0])*b3d**2))/(b3c**2-b3d**2)**2+(2*b1c*b1d*((Ma3[0][0]+Ma3[1][1])*b3c**2-2*(Ma3[0][1]+Ma3[1][0])*b3c*b3d+(Ma3[0][0]+Ma3[1][1])*b3d**2))/(b3c**2-b3d**2)**2)/2
    
    for i in [x1x1, x2x2, x1x2, x1p1, x2p2, x1p2, x2p1, p1p1, p2p2, p1p2]:
        i[0] = i[1]

    if unpacked:
        return x1x1, x2x2, x1x2, x1p1, x2p2, x1p2, x2p1, p1p1, p2p2, p1p2
    else:
        cov_matrix = np.array([[x1x1, x1p1, x1x2, x1p2], [x1p1, p1p1, x2p1, p1p2], [x1x2, x2p1, x2x2, x2p2], [x1p2, p1p2, x2p2, p2p2]])
        return cov_matrix
예제 #3
0
def entrelazamiento(t, w, wd, c0, c1):
    
    wM0 = np.sqrt(w**2+c0+c1)
    wm0 = np.sqrt(w**2-c0-c1) 
    
    sxx0M = 1/2*wM0 
    spp0M = wM0/2
    sxx0m = 1/2*wm0 
    spp0m = wm0/2
    
    
    phi1M, dphi1M, phi2M, dphi2M = fl.mathieu(wd, w**2+c0, c1, t)
    phi1m, dphi1m, phi2m, dphi2m = fl.mathieu(wd, w**2-c0, -c1, t)
    
    sxxM = spp0M * phi1M**2 +sxx0M * phi2M**2
    sppM = dphi1M**2 * spp0M + dphi2M**2 * sxx0M
    sxpM = spp0M * phi1M * dphi1M + sxx0M * phi2M * dphi2M
    sxxm = spp0m * phi1m**2 +sxx0m * phi2m**2
    sppm = dphi1m**2 * spp0m + dphi2m**2 * sxx0m
    sxpm = spp0m * phi1m * dphi1m + sxx0m * phi2m * dphi2m
    
    x1x1 = 1/2 * (sxxM+sxxm)
    p1p1 = 1/2 * (sppM+sppm)
    x1p1 = 1/2 * (sxpM+sxpm)
    x2x2 = x1x1
    p2p2 = p1p1
    x2p2 = x1p1
    x1x2 = 1/2 * (sxxM-sxxm)
    p1p2 = 1/2 * (sppM-sppm)
    x1p2 = 1/2 * (sxpM-sxpm)
    x2p1 = x1p2
    
    Mcov= np.array([[x1x1, x1p1, x1x2, x1p2], [x1p1, p1p1, x2p1, p1p2], [x1x2, x2p1, x2x2, x2p2], [x1p2, p1p2, x2p2, p2p2]])
#    print Mcov[:, :, 500]
    neg = En(t, Mcov)
    detes = det_cov(t, Mcov) 
    
    return neg, sxxM, sxxm, sppM, sppm, detes
예제 #4
0
def entrelazamiento(t, w, wd, c0, c1):

    wM0 = np.sqrt(w**2 + c0 + c1)
    wm0 = np.sqrt(w**2 - c0 - c1)

    sxx0M = 1 / 2 * wM0
    spp0M = wM0 / 2
    sxx0m = 1 / 2 * wm0
    spp0m = wm0 / 2

    phi1M, dphi1M, phi2M, dphi2M = fl.mathieu(wd, w**2 + c0, c1, t)
    phi1m, dphi1m, phi2m, dphi2m = fl.mathieu(wd, w**2 - c0, -c1, t)

    sxxM = spp0M * phi1M**2 + sxx0M * phi2M**2
    sppM = dphi1M**2 * spp0M + dphi2M**2 * sxx0M
    sxpM = spp0M * phi1M * dphi1M + sxx0M * phi2M * dphi2M
    sxxm = spp0m * phi1m**2 + sxx0m * phi2m**2
    sppm = dphi1m**2 * spp0m + dphi2m**2 * sxx0m
    sxpm = spp0m * phi1m * dphi1m + sxx0m * phi2m * dphi2m

    x1x1 = 1 / 2 * (sxxM + sxxm)
    p1p1 = 1 / 2 * (sppM + sppm)
    x1p1 = 1 / 2 * (sxpM + sxpm)
    x2x2 = x1x1
    p2p2 = p1p1
    x2p2 = x1p1
    x1x2 = 1 / 2 * (sxxM - sxxm)
    p1p2 = 1 / 2 * (sppM - sppm)
    x1p2 = 1 / 2 * (sxpM - sxpm)
    x2p1 = x1p2

    Mcov = np.array([[x1x1, x1p1, x1x2, x1p2], [x1p1, p1p1, x2p1, p1p2],
                     [x1x2, x2p1, x2x2, x2p2], [x1p2, p1p2, x2p2, p2p2]])
    #    print Mcov[:, :, 500]
    neg = En(t, Mcov)
    detes = det_cov(t, Mcov)

    return neg, sxxM, sxxm, sppM, sppm, detes
예제 #5
0
def cov(t, g, ca1, cq1, ca2, cq2, temp1, temp2, wc = 50, i = 5):
    """
    Devuelve todos los valores medios para la matriz de covarianza. 
    """    
    nu1, nu2 = fl.mathieu_nu(ca1, cq1), fl.mathieu_nu(ca2, cq2)
    c1, c2 = fl.mathieu_coefs(ca1, cq1, nu1), fl.mathieu_coefs(ca2, cq2, nu2)
    c1, c2 = c1[c1.size//2-i:c1.size//2+i+1], c2[c2.size//2-i:c2.size//2+i+1]
 
    phi1, dphi1, phi2, dphi2 = fl.mathieu(ca1, cq1, t)    
    phim1, dphim1, phim2, dphim2 = fl.mathieu(ca2, cq2, t)
    
        

    
    Ma1 = a1t1(t, g,  nu1, c1, temp1, nu2, c2, wc, phi1, phim1)+a1t2(t, g,  nu1, c1, temp2, nu2, c2, wc, phi1, phim1)
    Ma2 = a2t1(t, g,  nu1, c1, temp1, nu2, c2, wc, phi1, phim1)+a2t2(t, g,  nu1, c1, temp2, nu2, c2, wc, phi1, phim1)
    Ma3 = a3t1(t, g,  nu1, c1, temp1, nu2, c2, wc, phi1, phim1)+a3t2(t, g,  nu1, c1, temp2, nu2, c2, wc, phi1, phim1)
    
    Ma1, Ma2, Ma3 = 2*Ma1, 2*Ma2, 2*Ma3
    
    b1d, b1c, b2d, b2c, b3d, b3c = b(t, g, phi1, dphi1, phi2, dphi2, phim1, dphim1, phim2, dphim2)

    x1x1=(Ma3[1][1]*b3c**2-(Ma3[0][1]+Ma3[1][0])*b3c*b3d+Ma3[0][0]*b3d**2)/(b3c**2-b3d**2)**2
    x2x2=(Ma3[0][0]*b3c**2-(Ma3[0][1]+Ma3[1][0])*b3c*b3d+Ma3[1][1]*b3d**2)/(b3c**2-b3d**2)**2
    x1x2=((Ma3[0][1]+Ma3[1][0])*b3c**2-2*(Ma3[0][0]+Ma3[1][1])*b3c*b3d+(Ma3[0][1]+Ma3[1][0])*b3d**2)/(2*(b3c**2-b3d**2)**2)
    x1p1=(b3c**2*((Ma3[0][1]+Ma3[1][0])*b1c+2*Ma3[1][1]*b1d-Ma2[0][1]*b3c)+b3c*(-2*(Ma3[0][0]+Ma3[1][1])*b1c-2*(Ma3[0][1]+Ma3[1][0])*b1d+Ma2[0][0]*b3c)*b3d+((Ma3[0][1]+Ma3[1][0])*b1c+2*Ma3[0][0]*b1d+Ma2[0][1]*b3c)*b3d**2-Ma2[0][0]*b3d**3)/(2*(b3c**2-b3d**2)**2)
    x2p2=(b3c**2*((Ma3[0][1]+Ma3[1][0])*b1c+2*Ma3[0][0]*b1d-Ma2[1][0]*b3c)+b3c*(-2*(Ma3[0][0]+Ma3[1][1])*b1c-2*(Ma3[0][1]+Ma3[1][0])*b1d+Ma2[1][1]*b3c)*b3d+((Ma3[0][1]+Ma3[1][0])*b1c+2*Ma3[1][1]*b1d+Ma2[1][0]*b3c)*b3d**2-Ma2[1][1]*b3d**3)/(2*(b3c**2-b3d**2)**2)
    x1p2=(b3c**2*(2*Ma3[1][1]*b1c+(Ma3[0][1]+Ma3[1][0])*b1d-Ma2[1][1]*b3c)+b3c*(-2*(Ma3[0][1]+Ma3[1][0])*b1c-2*(Ma3[0][0]+Ma3[1][1])*b1d+Ma2[1][0]*b3c)*b3d+(2*Ma3[0][0]*b1c+(Ma3[0][1]+Ma3[1][0])*b1d+Ma2[1][1]*b3c)*b3d**2-Ma2[1][0]*b3d**3)/(2*(b3c**2-b3d**2)**2)
    x2p1=(b3c**2*(2*Ma3[0][0]*b1c+(Ma3[0][1]+Ma3[1][0])*b1d-Ma2[0][0]*b3c)+b3c*(-2*(Ma3[0][1]+Ma3[1][0])*b1c-2*(Ma3[0][0]+Ma3[1][1])*b1d+Ma2[0][1]*b3c)*b3d+(2*Ma3[1][1]*b1c+(Ma3[0][1]+Ma3[1][0])*b1d+Ma2[0][0]*b3c)*b3d**2-Ma2[0][1]*b3d**3)/(2*(b3c**2-b3d**2)**2)
    p1p1 = Ma1[0][0]+(b3c**2*(Ma3[0][0]*b1c**2+b1d*((Ma3[0][1]+Ma3[1][0])*b1c+Ma3[1][1]*b1d)-(Ma2[0][0]*b1c+Ma2[0][1]*b1d)*b3c)-b3c*(2*(Ma3[0][0]+Ma3[1][1])*b1c*b1d+Ma3[0][1]*(b1c**2+b1d**2)+Ma3[1][0]*(b1c**2+b1d**2)-(Ma2[0][1]*b1c+Ma2[0][0]*b1d)*b3c)*b3d+(Ma3[1][1]*b1c**2+Ma3[0][1]*b1c*b1d+Ma3[1][0]*b1c*b1d+Ma3[0][0]*b1d**2+Ma2[0][0]*b1c*b3c+Ma2[0][1]*b1d*b3c)*b3d**2-(Ma2[0][1]*b1c+Ma2[0][0]*b1d)*b3d**3)/(b3c**2-b3d**2)**2
    p2p2 = Ma1[1][1]+(b3c**2*(Ma3[1][1]*b1c**2+b1d*((Ma3[0][1]+Ma3[1][0])*b1c+Ma3[0][0]*b1d)-(Ma2[1][1]*b1c+Ma2[1][0]*b1d)*b3c)-b3c*(2*(Ma3[0][0]+Ma3[1][1])*b1c*b1d+Ma3[0][1]*(b1c**2+b1d**2)+Ma3[1][0]*(b1c**2+b1d**2)-(Ma2[1][0]*b1c+Ma2[1][1]*b1d)*b3c)*b3d+(Ma3[0][0]*b1c**2+Ma3[0][1]*b1c*b1d+Ma3[1][0]*b1c*b1d+Ma3[1][1]*b1d**2+Ma2[1][1]*b1c*b3c+Ma2[1][0]*b1d*b3c)*b3d**2-(Ma2[1][0]*b1c+Ma2[1][1]*b1d)*b3d**3)/(b3c**2-b3d**2)**2
    p1p2 = (Ma1[0][1]+Ma1[1][0]+(((Ma2[0][1]+Ma2[1][0])*b1c+(Ma2[0][0]+Ma2[1][1])*b1d)*b3c-((Ma2[0][0]+Ma2[1][1])*b1c+(Ma2[0][1]+Ma2[1][0])*b1d)*b3d)/(-b3c**2+b3d**2)+((b1c**2+b1d**2)*((Ma3[0][1]+Ma3[1][0])*b3c**2-2*(Ma3[0][0]+Ma3[1][1])*b3c*b3d+(Ma3[0][1]+Ma3[1][0])*b3d**2))/(b3c**2-b3d**2)**2+(2*b1c*b1d*((Ma3[0][0]+Ma3[1][1])*b3c**2-2*(Ma3[0][1]+Ma3[1][0])*b3c*b3d+(Ma3[0][0]+Ma3[1][1])*b3d**2))/(b3c**2-b3d**2)**2)/2
    
    for i in [x1x1, x2x2, x1x2, x1p1, x2p2, x1p2, x2p1, p1p1, p2p2, p1p2]:
        i[0] = i[1]
    return x1x1, x2x2, x1x2, x1p1, x2p2, x1p2, x2p1, p1p1, p2p2, p1p2
예제 #6
0
# -*- coding: utf-8 -*-
"""
Created on Thu Feb 26 13:04:22 2015

@author: martin
"""

from __future__ import division
import numpy as np
import pylab as plt
import sigma as si
import floquet as fl
import erres as R

t = np.linspace(0, 30, 1000)
a1, q1 = 1, .5
a2, q2 = 1.1, .5
nu1, nu2 = fl.mathieu_nu(a1, q1), fl.mathieu_nu(a2, q2)
c1, c2 = fl.mathieu_coefs(a1, q1, nu1, 3), fl.mathieu_coefs(a1, q1, nu1, 3)
phi1, dphi1, phi2, dphi2 = fl.mathieu(a1, q1, t)
phim1, dphim1, phim2, dphim2 = fl.mathieu(a2, q2, t)
g = 1
plt.clf()
plt.plot(t, phi1, 'g-', t, phi2, 'b-')



예제 #7
0
        def integr(w):
            return w * np.real(z(ti, w, g, c1, nu1) * z(ti, w, g, c2, nu2))

        int_ti = si.complex_int(integr, 0, wc)
        ret[i] = int_ti
    return ret


import floquet as fl
import w_w as wes
ca1, cq1 = .7, .5
nu1 = fl.mathieu_nu(ca1, cq1)
g = 1
ca2, cq2 = .8, .5
nu2 = fl.mathieu_nu(ca2, cq2)
A1, A2 = fl.mathieu_coefs(ca1, cq1, nu1,
                          11), fl.mathieu_coefs(ca2, cq2, nu2, 11)
i = 2
A1, A2 = A1[A1.size // 2 - i:A1.size // 2 + i + 1], A2[A2.size // 2 -
                                                       i:A2.size // 2 + i + 1]
wc = 50
t = np.linspace(0, 10, 30)
phi1, dphi1, phi2, dphi2 = fl.mathieu(ca1, cq1, t)
phim1, dphim1, phim2, dphim2 = fl.mathieu(ca2, cq2, t)

int_mia = wes.w1_w1(t, g, 0, nu1, A1, nu2, A2, wc, phi1, phim1)
int_num = w1w1(t, wc, g, A1, nu1, A2, nu2)

plt.plot(t, int_mia, 'b')
plt.plot(t, int_num, 'g')
예제 #8
0
    ret = np.zeros(len(t)) + 0 * 1j
    for i, ti in enumerate(t):
        print ti
        def integr(w):
            return w*np.real(z(ti, w, g, c1, nu1) * z(ti, w, g, c2, nu2))
        int_ti = si.complex_int(integr, 0, wc)
        ret[i] = int_ti
    return ret

import floquet as fl
import w_w as wes
ca1, cq1 = .7, .5
nu1 = fl.mathieu_nu(ca1, cq1)
g = 1
ca2, cq2 = .8, .5
nu2 = fl.mathieu_nu(ca2, cq2)
A1, A2 = fl.mathieu_coefs(ca1, cq1, nu1, 11), fl.mathieu_coefs(ca2, cq2, nu2, 11)
i = 2
A1, A2 = A1[A1.size//2-i:A1.size//2+i+1], A2[A2.size//2-i:A2.size//2+i+1]
wc = 50
t = np.linspace(0,10, 30)
phi1, dphi1, phi2, dphi2 = fl.mathieu(ca1, cq1, t)    
phim1, dphim1, phim2, dphim2 = fl.mathieu(ca2, cq2, t)


int_mia = wes.w1_w1(t, g, 0, nu1, A1, nu2, A2, wc, phi1, phim1)
int_num = w1w1(t, wc, g, A1, nu1, A2, nu2) 

plt.plot(t, int_mia, 'b')
plt.plot(t, int_num, 'g')