यह लगता है कि यह मेरे लिए एक बग हो सकता है, किसी कारण इसे अपने मैट्रिक्स पसंद नहीं करता है के लिए। eigenvals()
उपयोग करने के लिए प्रयास कर रहा है भी बस कुछ भी नहीं देता है, लेकिन बर्कोविट्ज़ एल्गोरिथ्म एक अपेक्षित परिणाम का उपयोग कर उत्पादन (इन सही हैं):
>>> H.berkowitz_eigenvals()
{−23.7383543150805:1,101.965215714556:1,120.955771704237:1,
268.369453977695:1,307.126362241411:1,332.004505895816:1,513.317044781366:1}
वैकल्पिक रूप से, चरित्र बहुपद जड़ों देता है खोजने एक ही परिणाम:
>>> roots(H.charpoly(x),x)
{−23.7383543150805:1,101.965215714556:1,120.955771704237:1,
268.369453977695:1,307.126362241411:1,332.004505895816:1,513.317044781366:1}
एक कामकाज के लिए, मेरे पास इस समय कोई अन्य लाइब्रेरी का उपयोग करने के अलावा कोई विचार नहीं है, शायद न्यूम/साइपी:
>>> from numpy import linalg as LA
>>> w,v = LA.eig(np.array([ [215.0 ,-104.1 ,5.1 ,-4.3 ,4.7 ,-15.1 ,-7.8],
[-104.1 , 220.0 ,32.6 , 7.1 ,5.4 , 8.3 ,0.8],
[ 5.1 , 32.6 , 0. , -46.8 , 1.0 , -8.1 , 5.1 ],
[ -4.3 , 7.1 ,-46.8 ,125.0 ,-70.7 ,-14.7 ,-61.5],
[ 4.7 , 5.4 , 1.0 ,-70.7 ,450.0 ,89.7 ,-2.5],
[-15.1 , 8.3 ,-8.1 ,-14.7 ,89.7 ,330.0 ,32.7],
[-7.8 ,0.8 ,5.1 ,-61.5 ,-2.5 ,32.7 ,280.0]])
>>> w;v
array([[ 0.0211232 , -0.0863685 , 0.31060486, 0.64800412, 0.58825511,
0.34578278, -0.1004976 ],
[-0.03360278, -0.17141713, 0.28577077, 0.60531169, -0.57444552,
-0.41080118, 0.15058085],
[-0.01492258, 0.91780802, -0.23783515, 0.29790711, -0.04561479,
-0.00789624, 0.09974215],
[ 0.19183148, 0.33999268, 0.79845203, -0.30609739, 0.01552874,
-0.18077 , -0.2889039 ],
[-0.86037599, 0.04835763, 0.171535 , -0.10783263, 0.27161704,
-0.27390267, 0.25993089],
[-0.45801107, 0.01859027, -0.05846719, 0.07732967, -0.35064091,
0.32022588, -0.74497537],
[-0.1066849 , 0.05006013, 0.30810033, -0.11677503, -0.35344244,
0.70807431, 0.50125772]])
आप यह सुनिश्चित करें कि मैट्रिक्स किसी भी eigenvectors है कर रहे हैं? – KSFT
@KSFT यह वास्तव में करता है। विशेषता बहुपद की गणना करें। – miradulo
@ डोंकीकॉन्ग मुझे याद नहीं है कि यह कैसे करना है, और यह वोल्फ्राम अल्फा के लिए बहुत लंबा है, इसलिए मैं आप पर भरोसा रखूंगा। – KSFT