कई बहु-मूल्यवान जटिल कार्य-कार्य हैं जो उनके डोमेन में किसी भी बिंदु से संबंधित एक से अधिक मान हो सकते हैं। उदाहरण के लिए: जड़ें, लॉगरिदम, उलटा त्रिकोणमितीय कार्य ...
इन कार्यों के कई मान हो सकते हैं क्योंकि आमतौर पर वे एक ऐसे फ़ंक्शन के विपरीत होते हैं जिसमें डोमेन मानचित्र में एक ही मान पर कई मान होते हैं।
ऐसे कार्यों के साथ गणना करते समय, यह हमेशा संभव मूल्यों को वापस करने के लिए अव्यवहारिक होगा। व्यस्त त्रिकोणमितीय कार्यों के लिए, असीमित कई संभावित मूल्य हैं।
आमतौर पर विभिन्न फ़ंक्शन मान को पूर्णांक पैरामीटर के फ़ंक्शन के रूप में व्यक्त किया जा सकता है। उदाहरण के लिए, log z
के मान z = r*(cos t + i*sin t
के साथ log r + i*(t + k*2*pi)
के साथ कोई पूर्णांक है। एनएच रूट के लिए, यह r**(1/n)*exp(i*(t+k*2*pi)/n
k=0..n-1
समेत है।
क्योंकि सभी संभावित मूल्यों को वापस करना अव्यवहारिक है, पाइथन में गणितीय कार्य और लगभग सभी अन्य सामान्य प्रोग्रामिंग भाषाएं फ़ंक्शन के 'मूल मूल्य' कहलाती हैं। (reference) मूल मूल्य आमतौर पर के = 0 के साथ फ़ंक्शन मान होता है। जो भी विकल्प बनाया जाता है, इसे दस्तावेज़ीकरण में स्पष्ट रूप से बताया जाना चाहिए।
तो एक जटिल संख्या के सभी जटिल जड़ों प्राप्त करने के लिए, तो आप सिर्फ कश्मीर के सभी प्रासंगिक मूल्यों के लिए समारोह का मूल्यांकन:
def roots(z, n):
nthRootOfr = abs(z)**(1.0/n)
t = phase(z)
return map(lambda k: nthRootOfr*exp((t+2*k*pi)*1j/n), range(n))
(आप इस काम करने के लिए cmath मॉड्यूल आयात करने के लिए की आवश्यकता होगी।) यह देता है:
>>> roots(-27j,3)
[(2.59808-1.5j), (1.83691e-16+3j), (-2.59808-1.5j)]
स्रोत
2011-09-14 07:04:52
संबंधित: ([अजगर में एक बहुत बड़ा पूर्णांक के n वीं मूल गणना करने के लिए कैसे] http://stackoverflow.com/questions/356090/how-to-compute-the-nth- रूट-ऑफ-ए-बहुत-बड़े-पूर्णांक-इन-पायथन) [एक डुप्ली नहीं है क्योंकि इस प्रश्न में ओपी पूर्णांक नहीं चाहता है, लेकिन कोई भी संख्या] – amit
असल में, शून्य में भी जड़ों की जड़ें हैं - वे सिर्फ वही हैं :) –
@amit: यह बिल्कुल एक और सवाल है, कीवर्ड "सभी जड़ें" – psihodelia