Ejemplo n.º 1
0
def _F2(a, b, c):
    if b == c:
        return 6 * _H(a, c)
    return (a + b + c)**2 / (3 * (b - c)**2) * (
        (b + c) / (math.sqrt(b * c)) * float(mpm.elliprf(a / b, a / c, 1)) +
        (2 * a - b - c) /
        (3 * math.sqrt(b * c)) * float(mpm.elliprd(a / b, a / c, 1)) - 2)
Ejemplo n.º 2
0
def _F1(a, b, c):
    if a == b:
        return 3 * _H(c, a)
    if a == c:
        return 3 * _H(b, a)
    return (a + b + c)**2 / (18 * (a - b) * (a - c)) * (
        math.sqrt(b * c) / a * float(mpm.elliprf(a / b, a / c, 1)) +
        (3 * a**2 - a * b - a * c - b * c) /
        (3 * a * math.sqrt(b * c)) * float(mpm.elliprd(a / b, a / c, 1)) - 1)
Ejemplo n.º 3
0
Archivo: elc.py Proyecto: harrygun/hec
def bi(ai):
    # ->> t: time list <<- #

    #b=np.zeros(3)
    idxall = np.arange(3)

    b = []
    for i in range(3):
        idx = np.delete(idxall, i)
        #print 'calculating RD at', idx[0], idx[1], i
        #b.append(2./3.*(mpmath.elliprd(ai[idx[0]], ai[idx[1]], ai[i])*np.prod(ai)-1.))

        b.append(
            np.float64(
                2. / 3. *
                mpmath.elliprd(ai[idx[0]]**2., ai[idx[1]]**2., ai[i]**2.) *
                np.prod(ai)))

    return b
Ejemplo n.º 4
0
def get_Ax(*, x, y, z):
    """
    Returns the degenerate Carlson symmetric elliptic integral of the third kind. Note that the permutation of the first
    two arguments does not change the result
    """
    return float(2 / 3 * (elliprd(y**2, z**2, x**2)))