मैट्रिक्स अभिव्यक्तियों के लिए प्रतीकात्मक सॉफ्टवेयर पैकेज?


36

हम जानते हैं कि सममित और सकारात्मक-निश्चित है। हम जानते हैं कि बी ऑर्थोगोनल है:AB

प्रश्न: है सममित और सकारात्मक-निश्चित? उत्तर: हाँ।BAB

प्रश्न: क्या कोई कंप्यूटर हमें यह बता सकता है? उत्तर: शायद।

क्या कोई प्रतीकात्मक बीजगणित प्रणाली (जैसे गणितज्ञ) है जो मैट्रिसेस के बारे में ज्ञात तथ्यों को संभालती है और प्रचारित करती है?

संपादित करें: स्पष्ट होने के लिए मैं इस प्रश्न को सारगर्भित मेट्रिक्स के बारे में पूछ रहा हूं। यानी मेरे पास और बी के लिए स्पष्ट प्रविष्टियां नहीं हैं , मुझे सिर्फ इतना पता है कि वे दोनों मैट्रिसेस हैं और विशेष रूप से सममित, सकारात्मक निश्चित आदि जैसे हैं।AB


5
मुझे जो याद आ रहा है वह सॉफ्टवेयर है जो मेट्रिक्स को प्रतीकात्मक रूप से व्यवहार करता है (यानी, सरणियों के रूप में नहीं)। मैं इसकी प्रविष्टियों के बारे में झल्लाहट किए बिना कुछ सममित मैट्रिक्स बारे में बात करना चाहता हूँ । C
जेएम

6
इस पर कुछ परियोजनाएँ काम कर रही हैं। मैं सिम्पी में कार्यान्वयन से परिचित होना चाहता हूं। यह छोटी गाड़ी है, लेकिन धीरे-धीरे बनाई जा रही है।
एमआरक्लिन

4
यह लगता है जैसे स्वचालित प्रमेय साबित हो रहा है। फिर चाल को अपने इंजन में पर्याप्त संख्या में स्वयंसिद्ध शामिल करना है ताकि यह स्वचालित रूप से तर्क द्वारा प्रभावी ढंग से घटाया जा सके (सोचें PROLOG)। अगर मुझे ऐसी कोई चीज़ डिजाइन करनी थी, तो आप जिस संपत्ति का हवाला देते हैं, वह निश्चित रूप से ऐसी चीज़ है जिसे मैं कोशिश करने के बजाय एक तथ्य / ज्ञात संबंध के रूप में बताता हूँ। दूसरी ओर, RWTH आचेन विश्वविद्यालय में प्रोफेसर पाओलो बिआंटीनी है। अपने शोध प्रबंध में वे रैखिक बीजगणित एल्गोरिदम के स्वचालित व्युत्पत्ति के बारे में बात करते हैं। वह प्रतीकात्मक तरीके से गणितज्ञ का उपयोग करता है। anices.rwth-aachen.de:8080/~pauldj
लागरबॉयर

1
मैं पाओलो के सामान और फ्लेम लाइब्रेरी को जानता हूं। मुझे नहीं लगता कि यह ऐसा कर सकता है।
मैट नेप्ले

2
मैं मानता हूं कि मेट्रिसेस के लिए कंप्यूटर बीजगणित प्रणाली बहुत अच्छी होगी, लेकिन लगता है कि यह गायब है। मैंने उत्तर पाने की संभावना बढ़ाने के लिए एक इनाम रखा है।
मेमिंग

जवाबों:


27

संपादित करें: यह अब SymPy में है

$ isympy
In [1]: A = MatrixSymbol('A', n, n)
In [2]: B = MatrixSymbol('B', n, n)
In [3]: context = Q.symmetric(A) & Q.positive_definite(A) & Q.orthogonal(B)
In [4]: ask(Q.symmetric(B*A*B.T) & Q.positive_definite(B*A*B.T), context)
Out[4]: True

पुराना उत्तर जो अन्य काम दिखाता है

इसलिए थोड़ी देर तक इस पर गौर करने के बाद मैंने यही पाया।

मेरे विशिष्ट प्रश्न का वर्तमान उत्तर "नहीं, कोई वर्तमान प्रणाली नहीं है जो इस प्रश्न का उत्तर दे सके।" हालांकि कुछ चीजें हैं जो करीब आती दिख रही हैं।

सबसे पहले, मैट नेप्ले और लेगरबेर दोनों ने डिएगो फैब्रगैट और पाओलो बिआंटिनेसि द्वारा काम करने के लिए इशारा किया । यह काम संभावित महत्व और इस समस्या की व्यवहार्यता दोनों को दर्शाता है। अच्छा पढ़ा है। दुर्भाग्य से मैं निश्चित नहीं हूं कि उसकी प्रणाली कैसे काम करती है या वह क्या करने में सक्षम है (यदि किसी को इस विषय पर अन्य सार्वजनिक सामग्री का पता है तो मुझे बताएं)।

दूसरा, एक दसवीं बीजगणित पुस्तकालय है जिसे गणित के लिए लिखा गया है जिसे एक्सएक्ट कहा जाता है जो समरूपता और ऐसे प्रतीकात्मक रूप से संभालता है। यह कुछ चीजों को बहुत अच्छी तरह से करता है लेकिन रैखिक बीजगणित के विशेष मामले के अनुरूप नहीं है।

तीसरा, इन नियमों को औपचारिक रूप से Coq के लिए पुस्तकालयों के एक जोड़े में लिखा गया है , एक स्वचालित प्रमेय साबित करने वाला सहायक (कुछ खोजने के लिए coq रैखिक / मैट्रिक्स बीजगणित के लिए Google खोज)। यह एक शक्तिशाली प्रणाली है जो दुर्भाग्य से मानव संपर्क की आवश्यकता लगती है।

कुछ प्रमेय करने वाले लोगों के साथ बात करने के बाद वे इस तरह की चीज़ के लिए लॉजिक प्रोग्रामिंग (यानी प्रोलॉग, जिसे लेगरबेर ने भी सुझाया था) देखने की सलाह देते हैं। मेरे ज्ञान के लिए यह अभी तक नहीं किया गया है - मैं भविष्य में इसके साथ खेल सकता हूं।

अद्यतन: मैंने इसे Maude सिस्टम का उपयोग करके कार्यान्वित किया है । मेरा कोड github पर होस्ट किया गया है


1
जब मैंने पाया कि कोई अच्छी व्यवस्था नहीं है, तो मेरी पहली वृत्ति एक प्रोलोग प्रोग्राम लिखने की थी। :)
मेमोरियल

1
मैंने मेरा एक साइड प्रोजेक्ट के नीचे एक लिंक जोड़ा जो इस समस्या से संबंधित है।
एमरॉकलिन

4

कुछ प्रतीकात्मक मैट्रिक्स संगणनाएँ (उदाहरण के लिए, ब्लॉक मैट्रिक्स पूर्णता) पैकेज NCAlgebra http://www.math.ucsd.edu/~ncalg/ (जो कि गणित के तहत चलता है) के साथ किया जा सकता है ।

बर्गमैन http://servus.math.su.se/bergman/ लिस्प में एक पैकेज है जिसमें समान क्षमताएं हैं।

कुछ प्रासंगिक कागजात:
http://math.ucsd.edu/~helton/osiris/COMPALG2000/ohRevisIJC.pdf
http://math.ucsd.edu/~thesis/thesis/dkronewitter/dkronewitter.pdf
http: // www। tandfonline.com/doi/abs/10.1080/00207170600882346


3

CAS2x23x3B

प्रश्न फिर बन जाता है, एक Nआयामी मैट्रिक्स के बारे में क्या ? हो सकता है कि आप एक आगमनात्मक योजना के साथ आ सकते हैं, जहां के लिए N-1 x N-1सच माना जाता है और फिर N x Nसकारात्मक आकार और सममित साबित करने के लिए समग्र आकार के साथ एक नया ब्लॉक मैट्रिक्स का निर्माण करें ।

तो अंतिम प्रश्न, जिनमें से सॉफ्टवेयर कार्य के लिए बेहतर है (यदि कोई है), तो मेरा अनुभव रहा है MATLAB/MuPadऔर Derive(अभी भी इसका उपयोग करें) और न ही उनमें से वैक्टर और मैट्रिस को बहुत अच्छी तरह से संभालना है। MATLABघटकों में सब कुछ टूट जाता है, और Deriveघोषित कर सकते हैं Non-scalarsलेकिन यह उनके लिए कोई सरलीकरण नियम लागू नहीं करता है।

a×(b×c)=(ab)c(ac)b


2

जब से मैंने आखिरी बार इन पैकेजों में से किसी एक का उपयोग किया है, लेकिन मुझे लगा कि आप इसे मुखर रूप में मैथेमैटिका जैसी भाषाओं में कर सकते हैं। Assert [A, Symmetric] की तरह कुछ Mathematica को बताता है कि A एक सममित मैट्रिक्स है, और इसी तरह। मेरे पास इस समय काम करने की कोई सुविधा नहीं है, इसलिए यह कुछ ऐसा है जिसे जांचना होगा।


1
मुझे लगता है कि आपको माथेमैटिक कमांड के Assumingबजाय मतलब है AssertAssumingएक अभिव्यक्ति को सरल या एकीकृत करते समय इन मान्यताओं को लागू करेगा, लेकिन मैट्रिक्स के गुणों के प्रसार के बारे में प्रलेखन स्पष्ट नहीं है। मेरा अनुमान है कि ऐसी संपत्तियों को प्रतीकात्मक गणनाओं के माध्यम से नहीं किया जाता है।
ज्यॉफ ऑक्सीबेरी

यह सच हो सकता है। जैसा कि मैंने कहा, यह ईन्स (मेरे स्नातक स्कूल के दिनों में) था। लेकिन मुझे याद है कि मैं एक बार ऐसा कुछ करने में सक्षम हूं। (शायद यह साइपैड के साथ था, जैसा कि साइंटिफिक वर्कप्लेस में लागू किया गया है।) लेकिन मेरे पास अब एसडब्ल्यूपी तक पहुंचने के लिए यह जांचने के लिए नहीं है (विंडोज-ओनली, और मेरे बॉक्स पर एमुलेटर नहीं है)।
ऐसमेल

MuPAD अब मतलाब का हिस्सा है। प्रलेखन के अनुसार , मान्यताओं का उपयोग गणितज्ञ के समान है।
ज्यॉफ ऑक्सीबेरी

MuPAD केवल निश्चित आकार मैट्रिक्स के साथ सौदा कर सकता है, और सकारात्मक निश्चितता जैसी मनमानी धारणाएं नहीं लेता है। इसके अलावा, यह BAB की सकारात्मक निश्चितता के प्रश्न का उत्तर नहीं दे सकता है।
मेमोरियल

@ मेमिंग: काफी फेयर। जैसा कि मैंने कहा, मेरी याददाश्त काफी पुरानी थी, क्योंकि मैंने आखिरी बार 2006 के आसपास (जब मैंने पीसी से मैक पर स्विच किया था) कार्यक्रम का नियमित रूप से उपयोग किया।
आइज़्मेल

2

मेपल 15 यह नहीं कर सकता। मेट्रिसेस के लिए इसकी कोई संपत्ति "ऑर्थोगोनल" नहीं है (हालांकि इसमें सममित और पॉजिटिव अनिश्चित है)।


1
मेपल 16 -> कोई संपत्ति "ऑर्थोगोनल" न ही अपडेट किया गया।
GertVdE

1

मैथेमेटिका में आप विशिष्ट मैट्रिसेस के लिए कम से कम इन गुणों की जांच कर सकते हैं। उदाहरण के लिए, Aजैसा कि आपने वर्णित मैट्रिक्स :

In[1]:= A = {{2.0,-1.0,0.0},{-1.0,2.0,-1.0},{0.0,-1.0,2.0}};
        {SymmetricMatrixQ[A],PositiveDefiniteMatrixQ[A]}
Out[2]= {True,True}

मैट्रिक्स के लिए B:

In[3]:= B = {{0, -0.80, -0.60}, {0.80, -0.36, 0.48}, {0.60, 0.48, -0.64}};
        Transpose[B] == Inverse[B]
Out[4]= True

फिर:

In[5]:= c = B.A.Transpose[B];
        {SymmetricMatrixQ[c],PositiveDefiniteMatrixQ[c]}
Out[6]= {True,True}

गणितज्ञ मैट्रिसेस और रैखिक बीजगणित प्रलेखन


7
यह मेरी समझ है कि ऊपर दिए गए विधेय उस संपत्ति को एक दिए गए मैट्रिक्स के लिए सत्यापित कर रहे हैं, बजाय इसके कि इन गुणों को प्रतीकात्मक रूप से प्रचारित किया जाए क्योंकि मैट ऊपर कहता है।
मैट नॅपले

आह येस। उसके लिए माफ़ करना। मैंने गलत समझा।
lynchs
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.