मेरा एक matlab कोड के भीतर, मैं एक निश्चित दिया मैट्रिक्स के Cholesky गुणन से निपटने के लिए। मैं आमतौर पर निम्न त्रिभुज कारक उत्पन्न करने के लिए chol(A,'lower')
पर कॉल कर रहा हूं।Cholesky गुणन
अब, profiler
के साथ मेरा कोड जांचना, यह स्पष्ट है कि chol
फ़ंक्शन वास्तव में समय लेने वाला है, खासकर यदि इनपुट मैट्रिक्स का आकार बड़ा हो जाता है। बिल्ट-इन chol
समारोह
इसलिए, मैं, जानना चाहते हैं, अगर वहाँ के लिए किसी भी मूल्यवान विकल्प नहीं है।
मैं LAPACK
लाइब्रेरी, और spptrf
फ़ंक्शन के बारे में सोच रहा हूं। क्या यह MATLAB
में उपलब्ध है या नहीं?
किसी भी संकेत या समर्थन का स्वागत करते हैं और अधिक से अधिक कर रहे हैं।
संपादित
बस एक उदाहरण के रूप, प्रोफाइलर इस जानकारी को पुन: प्राप्त:
जहां Coh_u
आकार (1395*1395)
है। यह भी टिप्पणी की जा सकती है कि chol
को 4000
बार कहा जाता है, क्योंकि मुझे 4000
विभिन्न कॉन्फ़िगरेशन के लिए cholesky कारक की आवश्यकता है।
दृश्यों के पीछे मैटलैब आम तौर पर उच्च गुणवत्ता वाले न्यूमेरिक पुस्तकालयों का उपयोग करता है जो सटीकता, सटीकता और गति के साथ-साथ शेल्फ पुस्तकालयों जैसे बीएलएएस, लैपैक इत्यादि के बराबर (व्यापक रूप से बोलने वाले) हैं। वास्तव में कुछ मामलों में मैटलैब उन लोगों का उपयोग करता है पुस्तकालयों। यह अत्यधिक संभावना है, लेकिन मैंने जांच नहीं की है, कि 'चोल' के उनके कार्यान्वयन ऐसे कोड का उपयोग करता है। मेरे से बेहतर प्रोग्रामर (हालांकि शायद आपके से बेहतर नहीं) ने मैटलैब की संख्यात्मक दिनचर्या के तेज़ी से कार्यान्वयन (कुछ तरीकों से) लागू करने की कोशिश की है और बुरी तरह विफल रही है। इस समय –
मैं अपने कोड के प्रदर्शन की तुलना किसी अन्य व्यक्ति के साथ कर रहा हूं, जिसे 'किलेरान' में लिखा गया है और लैपैक 'spptrf' का उपयोग करना है।अनुभव यह है कि 'spptrf'' चोल 'के बाद काफी तेज है, हालांकि आपको हमेशा दो अलग-अलग भाषाओं में समान कोड की तुलना करने में सतर्क रहने की आवश्यकता है। मुझे संदेह है कि 'MATLAB' आंतरिक रूप से' LAPACK 'लाइब्रेरी को कॉल करता है, लेकिन मुझे पूरा यकीन नहीं है। – fpe