def overlap_func(theta, i, j, params):
    q = -params.Ej / (2 * params.Ec)
    if i % 2 == 0:
        bra = np.conjugate(special.mathieu_cem(
            i, q, theta * 180 / np.pi)[0]) * np.sqrt(2 / np.pi)
    else:
        bra = np.conjugate(
            special.mathieu_sem(i + 1, q, theta * 180 / np.pi)[0]) * np.sqrt(
                2 / np.pi)
    if j % 2 == 0:
        ket = special.mathieu_cem(j, q, theta * 180 / np.pi)[1] * np.sqrt(
            2 / np.pi)
    else:
        ket = special.mathieu_sem(j + 1, q, theta * 180 / np.pi)[1] * np.sqrt(
            2 / np.pi)
    overlap_point = bra * ket

    return overlap_point
예제 #2
0
def mathieu_se_rad(m, q, x):
    return mathieu_sem(m, q, x*180/np.pi)[0]
예제 #3
0
def mathieu_se_rad(m, q, x):
    return mathieu_sem(m, q, x*180/np.pi)[0]
예제 #4
0
def actfc(m, q, z):
    #z=degrad(z)
    return (sp.mathieu_cem(m, q, z)[0], sp.mathieu_sem(m, q, z)[0])