علوم وفضاء

cheb2poly: هل ترتيب الدرجات يكفي لنقل المعاملات؟

غيّر الأساس مع حفظ القيم.
وافق تقييم القوى المحولة قيم تشيبيشيف.

المعامل يحتاج معرفة الأساس، حتى عندما يبقى ترتيب الدرجات نفسه.

أي دالة يضربها المعامل؟

cheb2poly تحوّل معاملات تشيبيشيف إلى معاملات القوى العادية؛ كلا الترتيبين يبدأ بالدرجة الدنيا. [1]

chebval تجمع c[n]*T_n(x)، بينما polynomial.polyval تجمع c[n]*x**n. [2] [4]

من تعريف تشيبيشيف T_n(cos θ)=cos(nθ)، نحصل على T0=1 وT1=x وT2=2x²-1 باستعمال هوية ضعف الزاوية. [3]

نبقي المتغير x نفسه وترتيب الدرجات التصاعدي. لا نقلب القائمة ولا نلائم بيانات أو نغير domain وwindow. السؤال هو أي دالة أساس ترتبط بكل معامل.

قائمة واحدة وقيمتان مختلفتان

على NumPy 2.3.5 وCPython 3.12.14، اخترنا c=[1.25,-1.75,2.25] من float64، والنقاط [-0.75,0.25,0.75]. تقييم تشيبيشيف أعطى [2.84375,-1.15625,0.21875].

تقييم القائمة نفسها كمعاملات قوى أعطى [3.828125,0.953125,1.203125]. بعد التحويل إلى [-1,-1.75,4.5] وافق تقييم القوى قيم تشيبيشيف.

أعدادنا مؤلفة بلا وحدات أو قياسات. تمثل القائمة 5/4-(7/4)x+(9/4)T2(x). بعد نشر الحد الأخير تصبح -1-(7/4)x+(9/2)x².

import numpy as np from numpy.polynomial import chebyshev as C, polynomial as P c=np.array([1.25,-1.75,2.25],dtype=np.float64) x=np.array([-0.75,0.25,0.75],dtype=np.float64) q=C.cheb2poly(c) print(C.chebval(x,c)) print(P.polyval(x,c)) print(P.polyval(x,q))

التقييم غير المحول يقرأ 5/4-(7/4)x+(9/4)x². هذا كثير حدود مختلف عن الذي ألفناه؛ اختلاف قيمه هنا لا يدل على أن أحد المقيّمين أخطأ في الحساب.

انشر الأساس ثم قارن

تقييم القائمة نفسها كمعاملات قوى أعطى [3.828125,0.953125,1.203125]. بعد التحويل إلى [-1,-1.75,4.5] وافق تقييم القوى قيم تشيبيشيف.

لأي معاملات a وb وd في مثال الدرجة الثانية، a+b*T1(x)+d*T2(x)=(a-d)+b*x+2*d*x². تتغير خانتا الثابت والتربيع معًا، ولا يكفي قلب قائمة المعاملات.

عند x=1/4، القيمة المقصودة -1-7/16+9/32=-37/32=-1.15625. القائمة غير المحولة تعطي 5/4-7/16+9/64=61/64=0.953125.

وعند -3/4 و3/4، أعاد المسار المحول 91/32 و7/32. يحفظ هذا التمثيل الدالة عند النقاط المختارة، مع اختلاف قائمة معاملاتها. لا نتعامل مع فرق القائمتين على أنه فرق في ترتيب النقاط.

المعاملات المحولة في المثال من float64 بالشكل (3,)، ونتائج التقييم الثلاثة من float64 بالشكل (3,). حفظنا بايتات مدخلات كل نداء وفحصناها مباشرة بعده؛ بقيت كما كانت.

تحكم خطي يخفي فرق الأساس.
اتفق التقييمان حين غاب حد الدرجة الثانية.

تحكم خطي وحدود الفحص

تحكم مستقل c=[1.25,-1.75,0] أعطى [2.5625,0.8125,-0.0625] في المسارين؛ غياب حد الدرجة الثانية أخفى فرق الأساس.

اجتازت 29 حالة مؤلفة مرجعًا كسريًا مستقلًا: 116 نداءً مسمى و335 قيمة ناتجة. اتفق التقييم غير المحول مع تشيبيشيف في 10 حالات واختلف في 19؛ أكبر فرق مع المرجع صفر ضمن سماحية 1e-12.

في التحكم d=0، فتتحول صيغة المعاملات إلى [a,b]. أعاد التشغيل [1.25,-1.75] بالشكل (2,)؛ قيم الدالة بقيت كما في القائمة ذات الصفر الأخير. هذا اتفاق في المثال الخطي، لا تكافؤ بين الأساسين لكل درجة.

بنى المرجع بكسور Fraction القيم a+b*x+d*(2*x*x-1)، والمعاملات [a-d,b,2*d]. وبنى التقييم غير المحول بجمع قوى x مباشرة. لم يستدع المرجع cheb2poly أو chebval أو polyval لتوليد المتوقع.

للشبكة ثلاث قيم لكل معامل: -2 و0 و3. عدد الثلاثيات 3**3=27؛ أضفنا المثال والتحكم بمعاملاتهما خارج الشبكة، فصار العدد 29. ثبتنا النقاط الثلاث والنوع في الجميع.

لكل حالة نداء تحويل، ونداء chebval، ونداءا polynomial.polyval؛ أربعة نداءات مسماة، أي 116. كل مسار تقييم أعاد ثلاث قيم؛ لذلك سجلنا 261 قيمة تقييم و74 معاملًا محولًا، بإجمالي 335 قيمة ناتجة. أطوال قوائم التحويل تراوحت من واحد إلى ثلاثة في هذه الشبكة.

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

اقتصر الفحص على درجة لا تتجاوز اثنتين، ومعاملات float64 محدودة ونقاطنا داخل [-1,1]. لم نفحص درجات أعلى أو ملاءمة أو تحويل إحداثي أو محاور متعددة أو معاملات مركبة وغير منتهية أو نوعًا آخر أو الاستقرار العام. الصفر المرصود في فروق الشبكة ليس ضمان دقة عامة للمكتبة.

النقطةتشيبيشيف والتحويلقوى بلا تحويل
-0.752.843753.828125
0.25-1.156250.953125
0.750.218751.203125

للتوسع: الحدود والمعاملات.

المراجع

  1. NumPy cheb2poly
  2. NumPy chebval
  3. NIST Chebyshev definition
  4. NumPy power-series polyval

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