में काल्पनिक जड़ों पर ध्यान न दें मैं एक बहुपद हल करने के लिए sympy उपयोग कर रहा हूँ:sympy
x = Symbol('x')
y = solve(int(row["scaleA"])*x**3 + int(row["scaleB"])*x**2 + int(row["scaleC"])*x + int(row["scaleD"]), x)
y संभव समाधान की एक सूची है। हालांकि, मुझे काल्पनिक लोगों को अनदेखा करने और केवल वास्तविक समाधानों का उपयोग करने की आवश्यकता है। साथ ही, मैं समाधान को एक मान के रूप में एक अभिव्यक्ति के रूप में नहीं चाहता हूं। अभी यह ऐसा लगता है:
[-2/3 - 55**(1/3)*(-1/2 - sqrt(3)*I/2)/3, -2/3 - 55**(1/3)*(-1/2 + sqrt(3)*I/2)/3, -55**(1/3)/3 - 2/3]
मुझे अंतिम अभिव्यक्ति के मूल्य (-2.22756) की आवश्यकता है। क्या इसे सरल बनाने के लिए सिम्पी में कार्य हैं?
सिमपी शायद उपयोग करने के लिए सही लाइब्रेरी नहीं है यदि आप रूट की केवल फ्लोट/डबल सन्निकटन में रूचि रखते हैं। यदि आप numpy/scipy का उपयोग करते हैं तो आपको शायद बेहतर प्रदर्शन और सरल कोड मिल जाएगा। और यदि आप numpy/scipy पर sympy चुनते हैं क्योंकि यह छोटा है, तो आप mpmath के साथ भी छोटे हो सकते हैं जिसका उपयोग संख्यात्मक के लिए सिम्पी के अंदर किया जाता है (मशीन द्वारा सीमित मनमाने ढंग से सटीक नहीं) – Krastanov