علوم وفضاء

eigvalsh: هل يدخل القطر التخيلي في القيم الذاتية؟

قطر مركب وخرجان.
مدخل غير هيرميتي.

eigvalsh تعتمد الجزء الحقيقي من القطر وتتجاهل جزأه التخيلي، مع L أو U. [1]

ما الذي تقرؤه الدالة من القطر؟

eigvalsh تعتمد الجزء الحقيقي من القطر وتتجاهل جزأه التخيلي، مع L أو U. [1]

تجاهل القطر التخيلي ثابت؛ لا يعتمد على صغره. [1]

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

مدخل يخالف شرط الدالة

الدالة مخصصة لمصفوفة هيرميتية أو حقيقية متناظرة؛ مدخلنا الرئيسي يتعمد مخالفة الشرط الهيرميتي. [1]

على NumPy 2.3.5، للمصفوفة A أدناه، أعادت eigvalsh القيم [2,5] مع الخيارين؛ أعادت eigvals القيم المركبة 2+7j و5−3j.

import numpy as np A=np.array([[2+7j,0],[0,5-3j]],dtype=np.complex128) lo=np.linalg.eigvalsh(A) up=np.linalg.eigvalsh(A,UPLO="U") general=np.linalg.eigvals(A)

في A، مرافقة العدد 2+7j تعطي 2−7j، ومرافقة 5−3j تعطي 5+3j. بما أن القطر لا يبقى نفسه تحت المرافقة، فالمدخل لا يساوي منقوله المرافق. نختاره لإظهار حدود استعمال هذه الدالة، لا بوصفه مدخلًا هيرميتيًا صالحًا.

lo وup من float64 بالشكل (2,)، وقيمهما [2.0,5.0]. general من complex128 بالشكل نفسه، ويحمل في التشغيل [2+7j,5−3j]. بقيت بايتات A دون تغيير؛ لا يعني تجاهل الجزء التخيلي في الحساب أن الدالة عدلت المدخل.

قارن بقيم المصفوفة الأصلية

قيم A الذاتية في مثالنا القطري هي 2+7j و5−3j؛ 2 و5 وحدهما ليسا قيمتيها الذاتيتين.

eigvals تحسب قيم مصفوفة عامة حقيقية أو مركبة؛ ترتيب الخرج ليس مضمونًا. [2]

في مثالنا، ضرب A في (1,0) يعطي (2+7j)(1,0)، وضربها في (0,1) يعطي (5−3j)(0,1). وهذان اتجاهان مستقلان يقرآن عنصري القطر مباشرة.

كذلك محدد A−λI هو (2+7j−λ)(5−3j−λ). جذراه 2+7j و5−3j، بينما التعويض بـ2 أو5 لا يصفر هذا الحاصل. هذا تحقق مستقل من أعداد مثالنا، وليس توقعًا صنعناه باستدعاء eigvalsh.

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

تحكم بقطر حقيقي.
اتفاق قيم واختلاف أنواع.

تحكم بقطر حقيقي وحدود الشبكة

تحكم: C ذات القطر الحقيقي 2 و5 تعطي اتفاق القيم بين الدالتين، مع بقاء خرج eigvalsh من float64 وخرج eigvals من complex128 في هذا التشغيل.

C=np.array([[2+0j,0],[0,5+0j]],dtype=np.complex128) np.linalg.eigvalsh(C) np.linalg.eigvalsh(C,UPLO="U") np.linalg.eigvals(C)

C مدخل مستقل، لا نسخة صامتة نستبدلها بـA. في التحكم لا تغير المرافقة عناصر القطر، وبقية الخانات أصفار. تعود قيم eigvals فيه إلى 2+0j و5+0j، بينما تعود قيم eigvalsh إلى 2.0 و5.0.

اتفق L وU على المثالين القطريين؛ تجاهل القطر التخيلي موثق مع كليهما. [1]

فحصنا 81 تركيبًا: الجزء الحقيقي الأول من −3 و0 و2، والثاني من −1 و1 و5؛ الجزء التخيلي الأول من −4 و0 و7، والثاني من −3 و0 و6. قارنا القيم والأنواع والأشكال، وجذور كثيرة الحدود ومجموعها وحاصل ضربها وثبات المدخل.

أضفنا المثال الرئيسي والتحكم الحقيقي؛ مرت 660 مقارنة. النطاق مصفوفات قطرية 2×2 من complex128 على NumPy 2.3.5 وCPython 3.12.14. لم نفحص خانات خارج القطر، أو متجهات ذاتية أو دفعات أو دقة عامة أو أداءً.

المدخلeigvalsh مع L وUeigvals في التشغيل
A: قطر 2+7j و5−3j[2,5][2+7j,5−3j]
C: قطر 2 و5[2,5][2+0j,5+0j]

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

المراجع

  1. NumPy eigvalsh
  2. NumPy eigvals

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