2011-05-31 15 views
5

गणित में, मैं a == b || a == -b जैसे a^2 = b^2 में अभिव्यक्तियों को कैसे सरल बना सकता हूं? मैंने जो भी कार्य किया है (जिसमें कमी, सरलीकृत, और पूर्ण अनुकरण शामिल है) ऐसा नहीं करता है।गणित में, अभिव्यक्ति को सरल बनाने के लिए कैसे करें == +/- b^^ == b^2 में?

ध्यान दें कि मैं इसे मनमाना (बहुपद) अभिव्यक्ति a और b के लिए काम करना चाहता हूं। एक और उदाहरण के रूप में,

a == b || a == -b || a == i b || a == -i b 
(काल्पनिक i के लिए)

और

a^2 == b^2 || a^2 == -b^2 

दोनों a^4 == b^4 को सरल बनाया जाना चाहिए।

नोट: समाधान को तार्किक स्तर पर काम करना चाहिए ताकि अन्य असंबंधित तार्किक मामलों को नुकसान न पहुंचाए। उदाहरण के लिए,

a == b || a == -b || c == d 

बन

a^2 == b^2 || c == d. 
+2

अपने वांछित सरलीकरण गणितीय सही नहीं है। उपर्युक्त उदाहरण में मुझे लगता है कि आप एक^2 == बी^2 चाहते हैं, है ना? –

+0

जब तक 'ए' पूरी तरह से 1 या 0 के पूर्ण मान रखने की गारंटी नहीं देता है, यह एक सरलीकरण नहीं है, बल्कि एक नई अभिव्यक्ति है। 'ए' और' बी' के लिए 2 के मानों के साथ प्रयास करें। पूर्ण मूल्यों का उपयोग वास्तविक संख्याओं के लिए काम करता है, लेकिन जब जटिल विमान में इसे विस्तारित नहीं किया जाता है। –

+0

आप नहीं कर सकते, क्योंकि एक == + - बी और एक^2 == बी बराबर नहीं हैं। एक == + - बी और ए^2 == बी^2 हैं। –

उत्तर

7

बूलियन अभिव्यक्ति बीजीय रूप में बदला जा सकता इस प्रकार है:

In[18]:= (a == b || a == -b || a == I b || a == -I b) /. {Or -> Times, 
    Equal -> Subtract} // Expand 

Out[18]= a^4 - b^4 


संपादित

परिवर्तन बाहर छोड़ भागों बनाने के उत्तर में अन्य चरों में, कोई Or परिवर्तन फ़ंक्शन लिख सकता है n, और Simplify में उपयोग करें:

In[41]:= Clear[OrCombine]; 
OrCombine[Verbatim[Or][e__Equal]] := Module[{g}, 
    g = GatherBy[{e}, Variables[Subtract @@ #] &]; 
    Apply[Or, 
    Function[ 
    h, ((Times @@ (h /. {Equal -> Subtract})) // Expand) == 0] /@ g] 
    ] 

In[43]:= OrCombine[(a == b || a == -b || a == I b || a == -I b || 
    c == d)] 

Out[43]= a^4 - b^4 == 0 || c - d == 0 

वैकल्पिक रूप से:

In[40]:= Simplify[(a == b || a == -b || a == I b || a == -I b || 
    c == d), TransformationFunctions -> {Automatic, OrCombine}] 

Out[40]= a^4 == b^4 || c == d 
+0

अच्छा, डैनियल के समान लेकिन अलग भी। नतीजा अब एक समीकरण नहीं है, हालांकि। –

+0

मुझे लगता है कि डैनियल और मैंने अनिवार्य रूप से एक ही समाधान की पेशकश की है। मेरे में समानता परिणामी बहुपद को शून्य से बराबर करके प्राप्त की जाती है। – Sasha

+1

हालांकि यह समस्या के लिए एक समाधान है जैसा कि मैंने कहा था, समाधान अन्य, गैर-संबंधित मामलों को नुकसान नहीं पहुंचाएगा। उदाहरण के लिए, '(ए == बी || ए ==-बी || ए == आई बी || ए ==-आई बी || सी == डी) /। {या -> टाइम्स, समान -> घटाना} // विस्तृत करें 'होना चाहिए^a^4 == b^4 || सी == डी', नहीं^4 सी - बी^4 सी - ए^4 डी + बी^4 डी'। –

11

एक उत्पाद है कि शून्य के बराबर होना चाहिए करने के लिए संभावनाओं के सेट परिवर्तित किया जा सका चाहिए।

expr = a == b || a == -b || a == I*b || a == -I*b; 
eqn = Apply[Times, Apply[Subtract, expr, 1]] == 0 

Out[30]= (a - b)*(a - I*b)*(a + I*b)*(a + b) == 0 

अब इसे सरल बनाएं।

Simplify[eqn] 

Out[32]= a^4 == b^4 

डैनियल Lichtblau

+0

यह समाधान बहुत अच्छी तरह से काम करता प्रतीत होता है। –

संबंधित मुद्दे