कृत्रिम विभाजन: Difference between revisions

From Vigyanwiki
Line 396: Line 396:


<syntaxhighlight lang="python">
<syntaxhighlight lang="python">
डीईएफ़                 
def expanded_synthetic_division(dividend, divisor):
  प्रसारित_अवास्तविक_विभाजन(भाज्य, भाजक):
     """Fast polynomial division by using Expanded Synthetic Division.
     """प्रसारित अवास्तविक विभाजन का उपयोग करके शीघ्र बहुपद विभाजन। गैर-एकगुणांकी बहुपदों के साथ भी काम करता है।
    Also works with non-monic polynomials.


     भाज्य और भाजक दोनों ही बहुपद हैं, जो यहाँ केवल गुणांकों की सूची हैं।
     Dividend and divisor are both polynomials, which are here simply lists of coefficients.
     उदा.: x**2 + 3*x + 5 को [1, 3, 5] के रूप में दर्शाया जाएगा """
     E.g.: x**2 + 3*x + 5 will be represented as [1, 3, 5]
     बाहर = सूची (भाज्य) # भाज्य की प्रतिलिपि बनाएँ
    """
     सामान्यक = विभाजक [0] मैं सीमा में (लेन (भाज्य)-लेन(भाजक)+ 1):
     out = list(dividend) # Copy the dividend
         # सामान्य बहुपद विभाजन के लिए (जब बहुपद गैर-एकगुणांकी हों),
     normalizer = divisor[0]
         # हमें गुणांक को विभाजक के पहले गुणांक से विभाजित करके सामान्य करने की आवश्यकता है out[i] /= normalizer
    for i in range(len(dividend) - len(divisor) + 1):
         # For general polynomial division (when polynomials are non-monic),
         # we need to normalize by dividing the coefficient with the divisor's first coefficient
        out[i] /= normalizer


         coef = out[i]
         coef = out[i]
         if coef != 0: # यदि coef 0 है तो गुणा करना बेकार है
         if coef != 0: # Useless to multiply if coef is 0
             # अवास्तविक विभाजन में, हम हमेशा भाजक के पहले गुणांक को छोड़ देते हैं,
             # In synthetic division, we always skip the first coefficient of the divisor,
             # क्योंकि इसका उपयोग केवल भाज्य गुणांक को सामान्य करने के लिए किया जाता है
             # because it is only used to normalize the dividend coefficients
             जे के लिए सीमा में (1, लेन (भाजक)):
             for j in range(1, len(divisor)):
                 out[i + j] += -divisor[j] * coef
                 out[i + j] += -divisor[j] * coef


     # परिणामी परिणाम में भागफल और शेषफल दोनों सम्मिलित हैं,
     # The resulting out contains both the quotient and the remainder,
     # शेषफल भाजक के परिमाण का है (शेषफल
     # the remainder being the size of the divisor (the remainder
     # आवश्यक रूप से विभाजक के समान कोटि है क्योंकि यह है
     # has necessarily the same degree as the divisor since it is
     # जिसे हम भाज्य से विभाजित नहीं कर सके), इसलिए हम सूचकांक की गणना करते हैं
     # what we couldn't divide from the dividend), so we compute the index
     # जहां यह विभाजक है, भागफल और शेषफल लौटाएं।
     # where this separation is, and return the quotient and remainder.
     विभाजक = 1 - लेन (भाजक) रिटर्न आउट [: विभाजक], आउट [विभाजक:] # रिटर्न भागफल, शेषफल।
     separator = 1 - len(divisor)
    return out[:separator], out[separator:] # Return quotient, remainder.
</syntaxhighlight>
</syntaxhighlight>


[[Category:Created On 03/03/2023]]
[[Category:Machine Translated Page]]
[[Category:Pages with script errors|Short description/doc]]
[[Category:Short description with empty Wikidata description]]
[[Category:Template documentation pages|Short description/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:कंप्यूटर बीजगणित]]


== यह भी देखें ==
== यह भी देखें ==

Revision as of 12:49, 20 March 2023

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

यह ज्यादातर रैखिक एकगुणांकी बहुपद (रफिनी के नियम के रूप में जाना जाता है) द्वारा विभाजन के लिए सिखाया जाता है, लेकिन विधि को किसी भी बहुपद द्वारा विभाजन के लिए व्यापकीकृत किया जा सकता है।

अवास्तविक विभाजन का लाभ यह है कि यह किसी को चर लिखे बिना गणना करने की अनुमति देता है, यह कुछ गणनाओं का उपयोग करता है, और यह विस्तृत विभाजन की तुलना में कागज पर काफी कम जगह लेता है। इसके अलावा, शुरुआत में ही संकेतों को स्विचन करके विस्तृत विभाजन में व्यवकलन को संकलन में बदल दिया जाता है, जिससे संकेत त्रुटियों को रोकने में मदद मिलती है।

सम अवास्तविक विभाजन

पहला उदाहरण अवास्तविक विभाजन है जिसमें केवल एक एकगुणांकी बहुपद रैखिक हर है .

अंश के रूप में लिखा जा सकता है .

हर का शून्य है .

के गुणांक को शून्य के साथ निम्नानुसार व्यवस्थित किया जाता हैं बाईं तरफ:

स्तम्भ के बाद पहला गुणांक अंतिम पंक्ति में "गिराया" जाता है।
पतित संख्या को स्तम्भ से पहले की संख्या से गुणा किया जाता है और अगले स्तम्भ में रखा जाता है।

अगले स्तम्भ में एक योग किया जाता है।

पिछले दो चरणों को दोहराया जाता है और निम्नलिखित प्राप्त होता है:

यहाँ, अंतिम पद (-123) शेषफल है जबकि शेष भागफल के गुणांकों के संगत है।

पदों को शेषफल और परिणाम के लिए कोटि शून्य के साथ दाएं से बाएं बढ़ते हुए कोटि के साथ लिखा जाता है।

अतः

भागफल और शेषफल हैं:


शेषफल प्रमेय द्वारा बहुपदों का मूल्यांकन

अवास्तविक विभाजन का उपरोक्त रूप बहुपद शेषफल प्रमेय के संदर्भ में एकाचर बहुपदों के मूल्यांकन के लिए उपयोगी है। संक्षेप में, का मूल्य पर के विभाजन के शेषफल के बराबर है द्वारा इस तरह से मूल्य की गणना करने का लाभ यह है कि इसके लिए सहज मूल्यांकन के रूप में आधे से अधिक गुणन चरणों की आवश्यकता होती है। एक वैकल्पिक मूल्यांकन विधि हॉर्नर की विधि है।

प्रसारित अवास्तविक विभाजन

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

हम स्वंय को केवल गुणांकों से संबंध करते हैं। शीर्ष पर विभाजित किए जाने वाले बहुपद के गुणांक लिखिए।

भाजक के गुणांकों का खंडन करे।

प्रत्येक गुणांक में लिखें लेकिन बाईं ओर पहले वाले को ऊपर की ओर दाएं विकर्ण में लिखें (अगला चित्र देखें)।

1 से −1 और −3 से 3 में चिन्ह के परिवर्तन पर ध्यान दें। अंतिम पंक्ति में स्तम्भ के बाद पहला गुणांक "छोड़ें"।

पतित संख्या को स्तम्भ से पहले विकर्ण से गुणा करें, और परिणामी प्रविष्टियों को पतित प्रविष्टि से विकर्ण के दाईं ओर रखें।

अगले स्तंभ में एक योग करें।

पिछले दो चरणों को तब तक दोहराएं जब तक आप अगले विकर्ण के साथ शीर्ष पर प्रविष्टियों को पार नहीं कर लेते।

फिर बस कोई भी शेष स्तम्भ जोड़ें।

पदों को स्तम्भ के बाईं ओर गिनें। चूंकि दो हैं, शेषफल की कोटि एक है और यह स्तम्भ के नीचे सबसे दाहिनी ओर दो पद हैं। अलगाव को एक ऊर्ध्वाधर पट्टी के साथ चिह्नित करें।

पदों को शेषफल और परिणाम दोनों के लिए कोटि शून्य से दाएं से बाएं बढ़ते हुए कोटि के साथ लिखा जाता है।

हमारे विभाजन का परिणाम है:


गैर-एकगुणांकी विभाजकों के लिए

थोड़े से उकसावे के साथ, विस्तारित प्रविधि को किसी भी बहुपद के लिए काम करने के लिए और भी सामान्यीकृत किया जा सकता है, न कि केवल एकगुणांकी बहुपद के लिए। ऐसा करने का सामान्य तरीका भाजक को विभाजित करना होगा इसके प्रमुख गुणांक के साथ (इसे संकेत करें):

फिर साथ अवास्तविक विभाजन का उपयोग करना भाजक के रूप में, और फिर मूल विभाजन का भागफल प्राप्त करने के लिए भागफल को a से विभाजित करना (शेषफल समान रहता है)। लेकिन यह अक्सर भद्दे भिन्न की उत्पत्ति करता है जो बाद में हटा दिए जाते हैं, और इस प्रकार त्रुटि के लिए अधिक प्रवण होते हैं। g(x)के गुणांक को कम किए बिना इसे करना संभव है/

जैसा कि इस तरह के एक गैर-एकगुणांकी विभाजक के साथ पहले दीर्घ विभाजन का प्रदर्शन करके देखा जा सकता है, के प्रमुख गुणांक से विभाजित हैं "पातन" के बाद, और गुणा करने से पहले।

आइए निम्नलिखित विभाजन का प्रदर्शन करके वर्णन करें:

कुछ परिवर्धित तालिका का प्रयोग किया जाता है:

आधार पर अतिरिक्त पंक्ति नोट करें। इसका उपयोग प्रमुख गुणांक द्वारा "पतित" मानों को विभाजित करके प्राप्त मूल्यों को लिखने के लिए किया जाता है (इस स्थिति में, /3 द्वारा दर्शाया गया है; ध्यान दें कि, बाकी गुणांकों के विपरीत , इस संख्या का चिह्न नहीं बदला गया है)।

बाद में, पहला गुणांक हमेशा की तरह छोड़ दिया जाता है:

और फिर छोड़ा हुआ मान 3 से विभाजित किया जाता है और नीचे पंक्ति में रखा जाता है:

अगला, नया (विभाजित) मान 2 और 1 के गुणकों के साथ शीर्ष पंक्तियों को भरने के लिए उपयोग किया जाता है, जैसा कि विस्तारित प्रविधि में है:

इसके बाद 5 को हटा दिया जाता है, इसके नीचे 4 को अनिवार्य रूप से जोड़ दिया जाता है, और उत्तर को फिर से विभाजित कर दिया जाता है:

फिर 3 का उपयोग शीर्ष पंक्तियों को भरने के लिए किया जाता है:

इस बिंदु पर, यदि तीसरा योगफल प्राप्त करने के बाद, हम शीर्ष पंक्तियों को भरने के लिए इसका उपयोग करने की जाँच कर रहे थे, तो हम दाईं ओर अलग हो जाते हैं, इस प्रकार तीसरा योग शेष का पहला गुणांक है, जैसा कि सम अवास्तविक विभाजन में होता है। लेकिन शेषफल के मान भाजक के मुख्य गुणांक से विभाजित नहीं होते हैं:

अब हम उत्तर के गुणांकों को पढ़ सकते हैं। प्रसारित अवास्तविक विभाजन के रूप में, अंतिम दो मान (2 विभाजक की घात है) शेष के गुणांक हैं, और शेष मान भागफल के गुणांक हैं:

और परिणाम है


संक्षिप्त प्रसारित अवास्तविक विभाजन

हालाँकि, ऊपर दिया गया विकर्ण प्रारूप कम विस्तार-सक्षम हो जाता है जब भाजक की कोटि भाज्य की कोटि के आधे से अधिक हो जाती है। निम्नलिखित विभाजन पर विचार करें:

यह देखना आसान है कि हमें प्रत्येक गुणनफल को किसी भी पंक्ति में लिखने की पूर्ण स्वतंत्रता है जब तक कि वह सही स्तंभ में है, इसलिए कलनविधि को लुब्ध उपाय द्वारा सचित्र किया जा सकता है, जैसा कि नीचे दिए गए विभाजन में दिखाया गया है:

निम्नलिखित वर्णन करता है कि कलनविधि कैसे करें; इस कलनविधि में गैर-एकगुणांकी विभाजक को विभाजित करने के चरण सम्मिलित हैं:

  1. लाभांश के गुणांकों को एक दंड पर लिखिए।
  2. भाजक के पहले (अग्रणी) गुणांक को अनदेखा करते हुए, प्रत्येक गुणांक को नकारें और उन्हें बार के बाईं ओर रखें।
  3. दंड के बाईं ओर स्थित गुणांकों की संख्या से, सबसे दाहिने स्तंभ से प्रारंभ करते हुए, दंड के ऊपर लाभांश गुणांकों की संख्या की गणना करें। फिर उस कॉलम के बाईं ओर और साथ ही नीचे की पंक्ति में एक वर्टिकल बार रखें। यह लंबवत बार भागफल और शेष के बीच अलगाव को चिह्नित करता है।
  4. लाभांश के पहले गुणांक को बार के नीचे गिराएं।
    • विभाजक के प्रमुख गुणांक द्वारा पहले छोड़े गए/संकलित संख्या को विभाजित करें और इसे नीचे की पंक्ति पर रखें (यदि प्रमुख गुणांक 1 है तो इसे करने की आवश्यकता नहीं है)).
      इस मामले में , जहां सूचकांक को लाभांश से भाजक के सूचकांक को घटाकर चुना गया है।
    • बाईं ओर प्रत्येक अस्वीकृत विभाजक गुणांकों के लिए पहले छोड़े गए/सारांश संख्या (या विभाजित गिराए गए/सारांश संख्या) को गुणा करें (सबसे बाईं ओर से शुरू करके); छोड़ दें अगर गिराया/समेकित संख्या शून्य है। प्रत्येक उत्पाद को बाद के कॉलम के शीर्ष पर रखें।
  5. अगले कॉलम पर कॉलम-वाइज एडिशन करें। इस स्थिति में, .
  6. पिछले दो चरणों को दोहराएं। रुकें जब आपने वर्टिकल बार के ठीक पहले नंबर पर पिछले दो चरणों का प्रदर्शन किया।
    1. Let .
    2. Let .
    3. Let .
  7. बाद के कॉलम पर शेष कॉलम-वार जोड़ (शेष की गणना) करें।
  8. क्षैतिज पट्टी के नीचे सबसे नीचे के परिणाम बहुपद (भागफल और शेष) के गुणांक होते हैं, जहां भागफल के गुणांक ऊर्ध्वाधर बार पृथक्करण के बाईं ओर होते हैं और शेष के गुणांक दाईं ओर होते हैं। इन गुणांकों की व्याख्या भागफल और शेष दोनों के लिए डिग्री शून्य से शुरू करते हुए दाएं से बाएं बढ़ती हुई डिग्री के रूप में की जाती है

    हम प्राप्त करने के लिए परिणामों की व्याख्या करते हैं:

पायथन कार्यान्वयन

निम्नलिखित स्निपेट कार्यान्वयन अविभाज्य बहुपदों के लिए पायथन में प्रसारित अवास्तविक विभाजन को लागू करता है:

def expanded_synthetic_division(dividend, divisor):
    """Fast polynomial division by using Expanded Synthetic Division. 
    Also works with non-monic polynomials.

    Dividend and divisor are both polynomials, which are here simply lists of coefficients. 
    E.g.: x**2 + 3*x + 5 will be represented as [1, 3, 5]
    """
    out = list(dividend)  # Copy the dividend
    normalizer = divisor[0]
    for i in range(len(dividend) - len(divisor) + 1):
        # For general polynomial division (when polynomials are non-monic),
        # we need to normalize by dividing the coefficient with the divisor's first coefficient
        out[i] /= normalizer

        coef = out[i]
        if coef != 0:  # Useless to multiply if coef is 0
            # In synthetic division, we always skip the first coefficient of the divisor,
            # because it is only used to normalize the dividend coefficients
            for j in range(1, len(divisor)):
                out[i + j] += -divisor[j] * coef

    # The resulting out contains both the quotient and the remainder,
    # the remainder being the size of the divisor (the remainder
    # has necessarily the same degree as the divisor since it is
    # what we couldn't divide from the dividend), so we compute the index
    # where this separation is, and return the quotient and remainder.
    separator = 1 - len(divisor)
    return out[:separator], out[separator:]  # Return quotient, remainder.

यह भी देखें

संदर्भ

  • Lianghuo Fan (2003). "A Generalization of Synthetic Division and A General Theorem of Division of Polynomials" (PDF). Mathematical Medley. 30 (1): 30–37.
  • Li Zhou (2009). "Short Division of Polynomials". College Mathematics Journal. 40 (1): 44–46. doi:10.4169/193113409x469721.


बाहरी संबंध