का उपयोग कर कंप्यूटिंग eigenvalues के साथ समस्या मूल रूप से मैं मैट्रिक्स के लिए eigenvalues खोजने की कोशिश कर रहा हूँ, और इसमें लगभग 12 घंटे लगते हैं। जब यह खत्म होता है, तो यह कहता है कि यह सभी eigenvectors (वास्तव में मुश्किल से कोई भी नहीं) मिल सकता है, और मैं उन लोगों के बारे में संदेह कर रहा हूं जो इसे मिला। मैं वास्तव में अपना कोड पोस्ट कर सकता हूं, और मुझे उम्मीद है कि कोई मुझे कुछ सुझाव दे सकता है। मैं गणित के साथ बहुत अनुभवी नहीं हूं और शायद धीमी गति से चलने वाला समय और खराब परिणामों में मेरे साथ कुछ करना है, न कि गणित की क्षमताओं। उत्तर देने वाले किसी भी व्यक्ति के लिए धन्यवाद, मैं वास्तव में इसकी सराहना करता हूं।गणित
cutoff = 500; (* set a cutoff for the infinite series *)
numStates = cutoff + 1; (* set the number of excited states to be printed *)
If[numStates > 10, numStates = 10];
$RecursionLimit = cutoff + 256; (* Increase the recursion limit to allow for the specified cutoff *)
(* set the mass of the constituent quarks *)
m1 := mS; (* just supposed to be a constant *)
m2 := 0;
(* construct the hamiltonian *)
h0[n_,m_] := 4 Min[n,m] * ((-1)^(n+m) * m1^2 + m2^2);
v[0,m_] := 0;
v[n_,0] := 0;
v[n_,1] := (8/n) * ((1 + (-1)^(n + 1))/2);
v[n_,m_] := v[n - 1, m - 1] * (m/(m - 1)) + (8 m/(n + m - 1))*((1 + (-1)^(n + m))/2);
h[n_,m_] := h0[n,m] + v[n,m];
(* construct the matrix from the hamiltonian *)
mat = Table[h[n,m], {n, 0, cutoff}, {m, 0, cutoff}] // FullSimplify;
(* find the eigenvalues and eigenvectors, then reverse the order *)
PrintTemporary["Finding the eigenvalues"];
{vals, vecs} = Eigensystem[N[mat]] // FullSimplify;
$RecursionLimit = 256; (* Put the recursion limit back to the default *)
मेरे कोड का थोड़ा और अधिक है, लेकिन यह वह बिंदु है जहां यह वास्तव में धीमा हो रहा है। मुझे निश्चित रूप से कुछ उल्लेख करना चाहिए, यह है कि यदि मैं एम 1 और एम 2 दोनों शून्य होने के लिए सेट करता हूं, तो मुझे वास्तव में कोई समस्या नहीं है, लेकिन स्थिरता के लिए एम 1 सेट करना सबकुछ नरक में जाता है।
यह शायद उनका कहना है कि समय का एक महत्वपूर्ण हिस्सा है (जैसा टीमो सुझाव भी Memoization के साथ) मैट्रिक्स के निर्माण खर्च किया जाता है लायक है।'RSolve'' v' की आपकी पुनरावर्ती परिभाषा के लिए एक स्पष्ट रूप प्रदान करता है, हालांकि अनिश्चित कार्य (आपकी प्रारंभिक स्थितियों के माध्यम से) को ठीक करना शाखा कटौती आदि द्वारा जटिल हो सकता है। किसी भी मामले में, यदि आप इसे आगे बढ़ाते हैं, तो यह कुछ हो सकता है की ओर देखें। – acl