समस्या यह है कि आप "सरल" मानते हैं और एमएमए क्या सरल मानता है, दो अलग-अलग चीजें हैं। ComplexityFunction पर एक नज़र डालने से संकेत मिलता है कि एमएमए मुख्य रूप से "LeafCount" देखता है। लागू करने LeafCount देता है:
In[3]:= Abs[q + I w] // LeafCount
Out[3]= 8
In[4]:= Sqrt[q^2 + w^2] // LeafCount
Out[4]= 11
तो, एमएमए समझता है Abs
प्रपत्र बेहतर होने की। (कोई भी ट्रीफॉर्म या फुलफॉर्म का उपयोग करके सादगी का दृश्यता से पता लगा सकता है)। हमें एमएमए को अधिक महंगा के रूप में इलाज करने के लिए एमएमए को क्या करना है। ऐसा करने के लिए, हम ComplexityFunction और लिखने से उदाहरण लेते:
In[7]:= f[e_] := 100 Count[e, _Abs, {0, Infinity}] + LeafCount[e]
FullSimplify[Abs[q + I w], Element[{q, w}, Reals],
ComplexityFunction -> f]
Out[8]= Sqrt[q^2 + w^2]
के रूप में अनुरोध किया। असल में, हम f[e]
के माध्यम से एमएमए को बता रहे हैं कि Abs
के सभी हिस्सों की गणना 100 पत्तियों के रूप में गिना जाना चाहिए।
संपादित करें: ब्रेट द्वारा उल्लेख किया है, आप भी इसे और अधिक सामान्य बना सकते हैं, और नियम के रूप में _Complex
का उपयोग देखने के लिए:
In[20]:= f[e_] := 100 Count[e, _Complex, {0, Infinity}] + LeafCount[e]
FullSimplify[Abs[q + I w], Element[{q, w}, Reals],
ComplexityFunction -> f]
Out[21]= Sqrt[q^2 + w^2]
मैं अभी अपनी गणित मशीन पर नहीं हूं इसलिए कुछ भी परीक्षण नहीं कर सकता लेकिन मेरे पास आपके लिए एक सवाल है। एसबीआरटी [क्यू^2 + डब्ल्यू^2] एब्स [q + Iw] से सरल क्या है? क्या आप निश्चित हैं कि पूर्ण उम्मीद है कि यह पूर्णीकरण 'सरलीकरण' को एक समझदार उम्मीद है? इसके अलावा, इसके बारे में थोड़ा और सोचते हुए, आपके प्रश्न का शीर्षक आपके प्रश्न के साथ बाधाओं में है। –
मैं 'वर्ग' कमांड पर 'वर्ग' कमांड चला सकता हूं लेकिन 'Abs' पर नहीं। – shadesofdarkred
आप 'ComplexExpand' को आजमा सकते हैं। उदाहरण के लिए 'कॉम्प्लेक्सएक्सपैंड [एबीएस [क्यू + आई डब्ल्यू]]' एसकर्ट [क्यू^2 + डब्ल्यू^2] ' – Heike