trace يجمع قيم القطر، وافتراضيًا يستخدم أول محورين. [1] نحدد معنى المحاور قبل الجمع.
افصل جمع القطر عن قائمته
trace يعيد مجموع قيم القطر المحدد. [1]
نؤلف جدولًا A=[[4,-2,7],[6,3,5]]. فيه صفان وثلاثة أعمدة، وأعداده بلا وحدة وليست نتيجة نموذج مقاس. نرقم الصف والعمود من صفر، ونكتب القيم من اليسار إلى اليمين.
للقطر الرئيسي موضعان: (0,0) وقيمته 4، ثم (1,1) وقيمته 3. نجمع 4+3=7. ليس الناتج القائمة [4,3]، ولا مصفوفة جديدة نضع عليها هاتين القيمتين؛ إنه حاصل جمعهما.
في نموذج الإزاحة 1 نبدأ عند (0,1) ثم نزيد رقمَي الصف والعمود معًا، فنصل إلى (1,2). القيمتان −2 و5، ومجموعهما 3. وفي الإزاحة −1 يوجد (1,0) وحده وقيمته 6، فيكون المجموع 6.
هذا الجدول مستطيل. نتبع مواضع القطر التي يسمح بها الشكل، ولا نفترض صفًا ثالثًا كي يشمل الجمع العمود الأخير في القطر الرئيسي. كما لا نجمع كل عناصر A لمجرد أن اسم العملية يشير إلى جمع.
اقرأ المحورين الافتراضيين
المحوران الافتراضيان في trace هما أول محورين؛ ويزال المحوران المختاران من شكل الناتج. [1]
نضيف جدولًا ثانيًا B=[[-1,8,2],[9,-4,6]]. ثم نعلن C ذات الشكل (2,2,3): المحور 0 يختار A أو B، والمحور 1 يختار الصف داخل الجدول، والمحور 2 يختار العمود. نكتب الفهرس (b,r,c) بهذا الترتيب.
مع المحورين 0 و1، يكون شرط القطر الرئيسي b=r، ونثبت العمود c. عند العمود 0 نأخذ C(0,0,0)=4 من A وC(1,1,0)=9 من B، فيكون المجموع 13. هاتان القيمتان ليستا قطري A وحده.
عند العمود 1، نأخذ −2 من الصف الأول في A و−4 من الصف الثاني في B: −2−4=−6. وعند العمود 2، نأخذ 7 و6: 7+6=13. لذلك تكون القائمة [13,-6,13]، بطول ثلاثة يوافق عدد الأعمدة.
النتيجة متسقة مع اختيار المحورين، لكنها لا تمثل مجموع قطر كل جدول على حدة. المحور الذي سميناه للجدولين دخل في الجمع مع محور الصفوف؛ وبقي محور الأعمدة. نراجع هذا المعنى قبل وصف الناتج بأنه نتيجة لكل حالة.
اختر صفوف كل جدول وأعمدته
نريد هنا جمع الصف والعمود داخل كل جدول، فنختار axis1=1 وaxis2=2. لا نغير ترتيب C ولا الأعداد؛ إنما نحدد أي محورين يرسمان القطر. يبقى b ثابتًا أثناء حساب المجموع الواحد.
في A، نأخذ الموضعين (0,0) و(1,1) داخل الجدول، أي 4 و3؛ الناتج 7. وفي B نأخذ −1 و−4؛ الناتج −5. لذلك القائمة النهائية [7,-5] لها قيمتان: الأولى لجدول A والثانية لجدول B.
في الشكل (2,2,3)، إزالة المحورين 1 و2 تترك المحور 0 وطوله 2. أما إزالة 0 و1 فتترك المحور 2 وطوله 3. نربط طول الخرج بالمحور الباقي، وليس بتوقع مسبق بأن العملية تعمل دائمًا على آخر محورين.
وعند offset=1 مع المحورين 1 و2، نجمع −2+5=3 داخل A، و8+6=14 داخل B. الناتج [3,14]. الإزاحة تغير المواضع المختارة داخل المستطيلين، ولا تحول الجمع إلى جمع كل صف أو كل عمود.
وجود شكل مناسب للمستهلك لا يكفي لإثبات صحة المهمة. إذا كان المطلوب قيمة لكل جدول، نحتفظ بتعريف المحور 0 وترتيب A ثم B مع النتيجة. وفي هذا المثال لم نشغل أداة أخرى تختبر هذا العقد أو نموذجًا يقيس جودة تنبؤ.

احفظ القيم إذا احتجت إلى مراجعتها
diagonal يحتفظ بقيم القطر على محور مضاف في النهاية، بعد إزالة المحورين المختارين. [2]
مع الاختيار 1 و2 في مثالنا، نكتب قائمتين للقطرين: [[4,3],[-1,-4]]. لهما الشكل (2,2): جدولان، لكل منهما قيمتان قطريتان. الجمع داخل كل قائمة يعطي 7 و−5، ويبقى الشكل ذو محور واحد بطول 2.
ومع المحورين 0 و1، تكون قوائم القطر [[4,9],[-2,-4],[7,6]]، ذات الشكل (3,2). كل قائمة تخص عمودًا أصليًا، وتحتوي قيمتي الموضعين المختارين عبر محور الجدولين والصفوف. جمعها يعطي [13,-6,13] كما حسبنا.
إذن محور قيم القطر في هذه القوائم ليس محورًا إضافيًا يبقى بعد trace؛ لقد جمعناه. نميز بين الاحتفاظ بقيم القطر لمراجعتها وبين حفظ ناتج جمعها فقط. ليست القائمة [7,-5] قطرًا من قيمتين مأخوذًا من جدول واحد في C.
يمكن أن يخفي الجمع اختلاف القيم: [4,3] و[5,2] مجموعهما 7. لا تكشف القيمة 7 وحدها أي القائمتين كانت موجودة، ولا تثبت تساوي الجدولين كاملين. إذا احتجنا إلى معرفة المساهمات، نحفظ القوائم أو المدخل الأصلي.
نقصر الأمثلة على أعداد صحيحة وجداول ذات بعدين أو ترتيب ذي ثلاثة أبعاد موجبة ومحورين مختلفين. تحققنا من المواضع والجمع مستقلًا؛ لم نشغل NumPy أو نفحص dtype أو out أو الفيض العددي أو نسخًا أو تعديلًا عبر الناتج أو ذاكرة أو زمنًا.
| المحوران في C | المحور الباقي | الناتج عند offset=0 |
|---|---|---|
| 0 و1 | 2: ثلاثة أعمدة | 13، −6، 13 |
| 1 و2 | 0: جدولان | 7، −5 |
للتوسع: الأبعاد والقطر والمنقول.
المراجع
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
