علوم وفضاء

polycompanion: هل يصلح خرجها مباشرة لـeigvalsh؟

المصفوفة الأصلية والمصفوفتان المتناظرتان للمقارنة.
المثلثان يعطيان معادلتين مختلفتين في مثالنا.

polycompanion تبني مصفوفة مرافقة لكثير الحدود؛ eigvalsh مخصصة للمدخل الهيرميتي أو الحقيقي المتناظر. [1] [2]

من المعاملات إلى شرط المدخل

polycompanion تبني مصفوفة مرافقة لكثير الحدود؛ eigvalsh مخصصة للمدخل الهيرميتي أو الحقيقي المتناظر. [1] [2]

معاملات polycompanion مرتبة من الدرجة الدنيا إلى العليا. وUPLO في eigvalsh يحدد المثلث المستخدم؛ L للسفلي وU للعلوي. [1] [2]

نؤلف p(x)=x²−5x+6=(x−2)(x−3). إذن جذراه الحسابيان 2 و3، وتمثل المصفوفة [6,−5,1] معاملي الثابت وx ثم معامل x². الأعداد هنا بلا وحدات أو بيانات قياس.

السؤال العملي يظهر في خطوتين متتاليتين: نبني مصفوفة من كثير الحدود، ثم نختار محللًا لأننا نريد القيم الذاتية وحدها. وجود أعداد حقيقية أو مصفوفة مربعة لا يحقق وحده شرط التناظر؛ سنفحص ما بنته الخطوة الأولى قبل تفسير الثانية.

مصفوفة واحدة وثلاثة أزواج

شغّلنا NumPy 2.3.5 وCPython 3.12.14 على c=[6,−5,1] من float64. أعادت polycompanion المصفوفة C=[[0,−6],[1,5]]؛ العنصران خارج القطر مختلفان، فهي غير متناظرة.

import numpy as np from numpy.polynomial import polynomial as P c=np.array([6,-5,1],dtype=np.float64) C=P.polycompanion(c) print(C) print(np.sort(np.linalg.eigvals(C))) print(np.linalg.eigvalsh(C,UPLO="L")) print(np.linalg.eigvalsh(C,UPLO="U"))

eigvals أعادت بعد الترتيب [1.9999999999999996,3.0]. أما eigvalsh مع L فأعادت نحو [−0.1925824,5.1925824]، ومع U أعادت [−4.,9.].

قارنا ترتيب eigvals بالترتيب التصاعدي للجذرين المعروفين، ولم نفترض أن ترتيب خرجها الأصلي مضمون. المرجع اليدوي هو det(tI−C)=t(t−5)+6=t²−5t+6، فنقرأ الجذرين 2 و3 من التحليل السابق.

بتفسير المثلث السفلي كما في هذا التشغيل، تكون المصفوفة المتناظرة H_L=[[0,1],[1,5]]. معادلتها t²−5t−1=0، وجذراها (5−√29)/2 و(5+√29)/2. وهما القيمتان اللتان وافقهما خرج L ضمن التسامح.

وبتفسير المثلث العلوي تكون H_U=[[0,−6],[−6,5]]. معادلتها t²−5t−36=0، وجذراها −4 و9. هذا الحساب يشرح الفرق المسجل بين L وU؛ لا يحول C الأصلية إلى مدخل صالح للمحلل المتناظر.

مررنا عمدًا مدخلًا يخالف شرط التناظر لرؤية أثر اختيار محلل غير مناسب. لم نستعمل المخرجات المختلفة توصية لحساب جذور p؛ تقليل عدد المخرجات المطلوبة لا يغني عن شرط المدخل.

المجموع الصحيح وفحص الجذر

مجموع كل زوج يساوي 5 ضمن تسامح الفحص. مع ذلك، تعويض قيم L في كثير الحدود أعطى نحو 7 لكل قيمة، وقيم U أعطت 42؛ فلا يكفي اتفاق المجموع لقبولها جذورًا.

للجذرين الحقيقيين 2 و3 المجموع 5. كذلك مجموع (5−√29)/2 و(5+√29)/2 هو 5، ومجموع −4 و9 هو 5. تحتفظ المصفوفتان المتناظرتان المذكورتان بالقطر 0 و5، فالتوافق في هذه المقارنة لا يفصل الأزواج الثلاثة.

إذا حققت قيمة t معادلة L، فإن t²−5t=1، ولذلك p(t)=1+6=7. وإذا حققت معادلة U، فإن t²−5t=36، ولذلك p(t)=36+6=42. المرجع هنا جبر مستقل؛ القراءة العددية لقيم L أعطت 7.0 و7.0000000000000036.

لقيم U الصحيحتين، p(−4)=16+20+6=42 وp(9)=81−45+6=42. في المقابل، p(2)=4−10+6=0 وp(3)=9−15+6=0. هذه الفروق كبيرة بالنسبة لتسامح 10⁻¹² المستخدم في الشبكة، فلا نصفها خطأ تقريب صغيرًا.

وجود فحص مجموع ناجح وفحص جذور فاشل يبين ما يقيسه كل منهما في مثالنا. لا نزعم أن فحصًا واحدًا بالتعويض يحل كل مسائل الاستقرار العددي؛ لكنه يكشف هنا أن الزوج المقترح لا يحقق المعادلة الأصلية.

المجموع والتعويض في كثير الحدود لثلاثة أزواج.
المجموع وحده لا يميز الأزواج هنا.

تحكم متناظر وحدود الشبكة

مرت 128 مقارنة على 16 حالة تربيعية مؤلفة. تحكم x²−1 أعطى مصفوفة متناظرة، واتفق المحللان فيه؛ لذا لا نقول إن كل مصفوفة مرافقة غير متناظرة.

في التحكم p₀(x)=x²−1، كان c₀=[−1,0,1]، وC₀=[[0,1],[1,0]]. هنا يتساوى العنصران خارج القطر؛ أعادت eigvals بعد الترتيب وeigvalsh مع L ومع U جميعًا [−1.,1.]. التعويض في p₀ أعطى صفرًا، والمجموع صفر.

ألفنا 15 زوجًا غير مرتب من المجموعة {−3,−2,1,2,3,4}، ثم أضفنا الزوج {−1,1} للتحكم. لكل جذرين a وb كتبنا c=[ab,−(a+b),1]؛ جميعهما غير صفريين ومختلفان، وجميع المدخلات تربيعية حقيقية ذات معامل أعلى يساوي 1.

ثمانية فحوص لكل حالة: بناء C ونوعها وشكلها؛ قيم eigvals مقابل الجذرين المعروفين؛ خرج L مقابل صيغة متناظرة مستقلة؛ خرج U مقابل الصيغة؛ معاملات المعادلة المميزة والجذور الكسرية؛ تعويض L؛ تعويض U؛ ثم المجموع ونوع المخرجات وشكلها وثبات بايتات المدخلين. الإجمالي 16×8=128، ومرت كلها.

للرمزين d=a+b وk=ab، كانت C=[[0,−k],[1,d]]. حسبنا معاملات det(tI−C) يدويًا بالكسور. وصيغة القيم للمصفوفة [[0,h],[h,d]] هي (d±√(d²+4h²))/2؛ حسبنا الجذر بدقة عشرية 80 خانة ثم قارنا خرج float64 بتسامح مطلق 10⁻¹² ونسبي صفر.

مرجع تعويض L هو k+1، ومرجع U هو k+k². كانا غير صفريين في الحالات الخمس عشرة، وصفرًا في التحكم k=−1. لا يستدعي المرجع polycompanion أو eigvals أو eigvalsh أو det أو polyval.

بقيت بايتات c وC كما هي بعد الحسابات، وكانت مصفوفات القيم من float64 بشكل (2,). لم نفحص درجات أعلى أو جذورًا مركبة أو مكررة أو صفرية، أو تغيير أساس بالقياس، أو التكييف العددي، أو الأداء، أو محاور ومجموعات مصفوفات. النتيجة تخص المدخلات المسجلة؛ ولا تضمن دقة عامة لكل مسألة جذور.

الطريقةالقيم المعروضةالمجموعp عند كل قيمة
eigvals (sorted)≈2,3≈5≈0
eigvalsh L≈-0.1925824,5.1925824≈5≈7
eigvalsh U-4,9542

للتوسع: أنواع المصفوفات والمنقول.

المراجع

  1. NumPy polycompanion
  2. NumPy eigvalsh

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