def _rankin_cohen_pair_det2_sym_pol(j, k, l): (r11, r12, r22, s11, s12, s22), _, (r, s) = _pair_gens_r_s() m = j // 2 Q = sum([(-1) ** i * combination(m + l, i) * combination(m + k, m - i) * r ** i * s ** (m - i) for i in range(m + 1)]) Qx = sum([(-1) ** i * combination(m + l, i) * combination(m + k, m - i) * i * r ** (i - 1) * s ** (m - i) for i in range(1, m + 1)]) Qy = sum([(-1) ** i * combination(m + l, i) * combination(m + k, m - i) * (m - i) * r ** i * s ** (m - i - 1) for i in range(0, m)]) detR = r11 * r22 - r12 ** 2 detS = s11 * s22 - s12 ** 2 # det(R+S) detRpS = (-r12 ** 2 + r11 * r22 + r22 * s11 - QQ(2) * r12 * s12 - s12 ** 2 + r11 * s22 + s11 * s22) Q2 = ((2 * k - 1) * (2 * l - 1) * detRpS - (2 * k - 1) * (2 * k + 2 * l - 1) * detS - (2 * l - 1) * (2 * k + 2 * l - 1) * detR) Q = (QQ(4) ** (-1) * Q2 * Q + QQ(2) ** (-1) * ((2 * l - 1) * detR * s - (2 * k - 1) * detS * r) * (Qx - Qy)) return Q
def _rankin_cohen_pair_sym_pol(j, k, l): _, _, (r, s) = _pair_gens_r_s() m = j // 2 return sum([(-1) ** i * combination(m + l - 1, i) * combination(m + k - 1, m - i) * r ** i * s ** (m - i) for i in range(m + 1)])