मैं इस मामले में कोटेजेंट फ़ंक्शन में अवशेष लेने के लिए SymPy का उपयोग करने का प्रयास कर रहा हूं।त्रुटि: फ़ंक्शन() कम से कम एन तर्क लेता है (एन दिया गया)
import sympy as sy
import numpy as np
def integrate(f, z, gamma, t, lower, upper, exact=True):
'''
Integrate f(z) along the contour gamma(t): [lower, upper] --> C
INPUTS:
f - A SymPy expression. Should represent a function from C to C.
z - A SymPy symbol. Should be the variable of f.
gamma - A SymPy expression. Should represent a function from [lower, upper] to C.
t - A SymPy symbol. Should be the variable of gamma.
lower - The lower bound for the domain of gamma.
upper - The upper bound for the domain of gamma.
RETURN:
A complex number.
'''
integrand = f.subs(z, gamma)*sy.diff(gamma, t)
ans = sy.integrate(integrand, (t, lower, upper))
if exact:
return sy.simplify(ans)
if ~exact:
return sy.N(sy.simplify(ans))
जो मैं thusly बोल रहा हूँ: मैं एक एकीकृत() फ़ंक्शन मिल गया है
def cot_res(n):
"""Return the residue of the cotangent function at n*pi/2."""
z, t = sy.symbols('z t')
f = sy.cot(z)
gamma = n*np.pi/2 + sy.exp(1j*t)
return 1/(2*np.pi*1j)*integrate(f, z, gamma, 0, 2*sy.pi, exact=True)
for i in xrange(10):
print i/2., cot_res(i)
और मैं त्रुटि integrate() takes at least 6 arguments (6 given)
मिलती रहती है और मुझे यकीन है कि जहां मेरी समस्या है नहीं कर रहा हूँ। मैंने कर्नेल को पुनरारंभ करने का प्रयास किया है।