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

افصل محور الدفعة عن الصف والعمود
عند تجاوز بعدين، triu يعمل على آخر محورين. [1]
نؤلف جدولًا ثانيًا B بإحلال 3a+1 محل كل قيمة a في A. صفوفه [[-20,16,1,37],[10,-5,28,19],[25,13,-2,34]]. ثم نعلن دفعة لها الشكل (2,3,4): جدولان، لكل منهما ثلاثة صفوف وأربعة أعمدة.
في فهرس (b,r,c)، يختار b الجدول، ويختار r وc الصف والعمود داخله. شرط c−r≥1 لا يقارن رقم الجدول برقم العمود. عند (0,1,2) تبقى القيمة 9 من A، وعند (1,1,2) تبقى 28 من B؛ الموضع المحلي واحد والقيمتان مختلفتان.
لذلك الجزء العلوي عند k=1 للجدول الثاني هو [[0,16,1,37],[0,0,28,19],[0,0,0,34]]. وللأول هو الجدول ذي القيم 5 و12 و9 و6 و11 الذي حسبناه. الشكل المعلن للناتج يظل (2,3,4) في نموذجنا؛ لم ندمج الصفوف الستة في جدول واحد.
لو دمجنا الجدولين في ستة صفوف، لتغير رقم الصف المحلي للجدول الثاني، وتغير معه شرط المكان. مثلًا الموضع المحلي (0,1) في B يحفظ 16، بينما جعله صفًا رقمه 3 في جدول مدمج يجعله تحت القطر المطلوب. تغيير المحاور يغير السؤال.
نقصر الأمثلة على جداول صحيحة مستطيلة غير فارغة لها بعدان أو دفعة منها. تحققنا من حساب المواضع والجمع مستقلًا؛ لم نشغل NumPy أو نفحص مدخلًا أحادي البعد أو أنواعًا أخرى أو مشاركة ذاكرة. الأصفار المكتوبة لا تثبت حجم ملف أو زمن تنفيذ.
| الإزاحة في مثال A | عدد المواضع المحفوظة | شكل الناتج |
|---|---|---|
| k=−1 | 11 | (3,4) |
| k=0 | 9 | (3,4) |
| k=1 | 6 | (3,4) |
للتوسع: الأبعاد والقطر والمنقول.
المراجع
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
