علوم وفضاء

polydiv: هل قسمة المعاملات عنصرًا بعنصر تعطي الخارج؟

معاملات المدخل والخارج والباقي.
الخارج والباقي يعيدان المقسوم.

polydiv تقسم كثير حدود على آخر، وتعيد معاملات الخارج والباقي في مصفوفتين؛ ترتيب المعاملات من الدرجة الدنيا إلى العليا. [1]

مصفوفة معاملات وليست قائمة قيم

polydiv تقسم كثير حدود على آخر، وتعيد معاملات الخارج والباقي في مصفوفتين؛ ترتيب المعاملات من الدرجة الدنيا إلى العليا. [1]

نختار N(x)=10+x+12x² وD(x)=2+x+4x². الثلاثة أعداد في كل مصفوفة معاملات لقوى مختلفة، وليست قيم الدالة عند ثلاث نقاط. طول المصفوفتين متساوٍ هنا عمدًا؛ لا نريد أن يكون خطأ اختلاف الأطوال هو سبب فشل المقارنة.

المثال مؤلف بلا وحدات أو بيانات قياس. نسأل هل يمكن قراءة نسب المعاملات باعتبارها معاملات الخارج. نفحص جوابًا يعيد المقسوم عند ضربه في القاسم وإضافة الباقي، بدل الاكتفاء بوجود ثلاثة أعداد في الناتج.

خارج ثابت وباقٍ خطي

على NumPy 2.3.5 وCPython 3.12.14، اخترنا N=[10,1,12] وD=[2,1,4] من float64؛ أعادت polydiv الخارج [3.] والباقي [4.,−2.].

import numpy as np from numpy.polynomial import polynomial as P N=np.array([10,1,12],dtype=np.float64) D=np.array([2,1,4],dtype=np.float64) q,r=P.polydiv(N,D) print(q,r) print(N/D)

قرأنا الخارج ثابتًا قيمته 3، والباقي 4−2x. تحقق مستقل بالتوزيع: 3(2+x+4x²)+(4−2x)=6+3x+12x²+4−2x=10+x+12x². عادت جميع معاملات المقسوم، لا قيمته عند نقطة واحدة فقط.

الشكل في التشغيل (1,) للخارج و(2,) للباقي. بقاء مدخلين طول كل منهما ثلاثة لا يلزم أن يجعل الخارج بطول ثلاثة. يحدد المثال الفعلي ما قرأناه من مصفوفتين، ولا نضع قاعدة شكل عامة لمدخلات لم نفحصها.

نسب المعاملات ونسبة القيم

القسمة N/D في التشغيل نفسه أعادت [5.,1.,3.]؛ قراءتها معاملات لخارج كثير الحدود تفسد إعادة البناء.

لو سمينا W(x)=5+x+3x²، فإن W(x)D(x)=10+7x+27x²+7x³+12x⁴. هذا ليس N(x). وحتى إضافة الباقي 4−2x الذي أعادته polydiv لا تلغي الحد 12x⁴؛ فلا يصبح W الخارج الصحيح.

هذا الفحص لا ينسب عيبًا إلى القسمة العددية؛ نسب 10/2 و1/1 و12/4 صحيحة. الخطأ هو إعطاء المصفوفة الناتجة معنى معاملات خارج كثير الحدود. مكان كل معامل بين القوى يشارك في الضرب، وليس هناك إلغاء مستقل لمعاملي القوة نفسها في هذه الهوية.

عند x=0، نسبة القيم N(0)/D(0)=5، والخارج 3؛ الفرق 2 يأتي من الباقي مقسومًا على قيمة القاسم.

عند x=1، المقسوم 23 والقاسم 7 والباقي 2؛ نسبة القيم 23/7=3+2/7. وعند x=2، يصبح الباقي صفرًا، فنجد 60/20=3. توافق النسبة مع الخارج عند نقطة واحدة لا يجعلها مساوية له عند النقاط الأخرى.

نستعمل N(x)/D(x)=3+(4−2x)/D(x) عند النقاط التي لا يساوي فيها القاسم صفرًا. قيم القاسم في جدولنا عند 0 و1 و2 هي 2 و7 و20؛ كلها غير صفرية. لا نخلط قسمة معاملات مع قسمة قيم أو مع كثير حدود الخارج.

نسبة القيم والخارج والباقي.
الباقي يفسر فرق نسبة القيم عن الخارج.

التحكم وحدود شبكة الفحص

مرت 1512 مقارنة على 216 حالة تربيعية مؤلفة، مع مرجع كسري مستقل؛ لا نعمم دقتها على كل درجة أو نوع.

تحكم مستقل يبقي D=[2,1,4] ويجعل المقسوم 3D=[6,3,12]؛ أعادت polydiv الخارج [3.] والباقي [0.]. تعطي قسمة المعاملات [3,3,3]، وهي نسب متساوية تكشف العامل الثابت 3، لكنها ليست مصفوفة معاملات الخارج التي أعادتها الدالة.

بَنينا كل حالة على الهوية N=kD+r. معاملات D من المجموعات {2,4} و{1,2} و{4,8} بالترتيب، والثابت k من {−2,1,3}، ومعاملا r من {−4,0,4} و{−2,0,2}. العدد 2×2×2×3×3×3=216؛ درجتا المدخلين اثنتان، وk غير صفري.

سبعة فحوص لكل حالة: الخارج والباقي مقارنة بالمرجع؛ إعادة البناء بضرب يدوي؛ هوية نسبة القيم عند −2 و−1 و0 و1 و2؛ فشل تفسير نسب المعاملات خارجًا؛ تحكم الباقي الصفري؛ نوع الخرج وشكله؛ وثبات بايتات المدخل. المجموع 216×7=1512، ومرت كلها.

المرجع يستخدم الكسور وجمع القوى والضرب بالتوزيع، ولا يستدعي polydiv أو polyval. مقارنة الخارج والباقي وإعادة البناء دقيقة في هذه الأعداد المختارة؛ مقارنة نسب القيم العائمة تستخدم تسامحًا مطلقًا 10⁻¹² ونسبة تسامح صفرًا. كانت قيم القاسم غير صفرية عند النقاط الخمس المفحوصة.

لم نفحص مدخلات مركبة أو متعددة الأبعاد، أو درجات أخرى، أو قاسمًا صفريًا، أو قيمًا غير منتهية، أو الأداء. ليست الشبكة ضمان دقة عامًّا؛ المثال نفسه يفصل ثلاثة معانٍ: نسب معاملات، وخارج كثير حدود، ونسبة قيم عند نقطة معلومة.

xN(x)D(x)N(x)/D(x)q(x)r(x)/D(x)
0102532
123723/732/7
26020330

للتوسع: الحدود والمعاملات والدرجة.

المراجع

  1. NumPy polydiv

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.