LA 101
M09 · L03
الوحدة 9: الجبر الخطي العددي

المصفوفات المتفرقة

حين تكون المصفوفة مليئة بالأصفار، تقلل صيغ التخزين المتفرقة الذاكرة من O(n²) إلى O(nnz) — مما يتيح حسابات على الرسوم البيانية والشبكات كانت مستحيلة قبل ذلك.

01 / 11
LA 101
M09 · L03
ما معنى متفرق؟

معظمها أصفار

10¹²
عناصر كثيفة
3×10⁸
غير صفرية (nnz)
0.03%
الكثافة
مثال: شبكة اجتماعية (n = 10⁶ مستخدم)
التخزين الكثيف يحتاج 8 تيرابايت. التخزين المتفرق بـ nnz ≈ 3×10⁸ يحتاج ~2.4 غيغابايت — توفير بمقدار 3000 مرة. مسائل FEM وسلاسل ماركوف تظهر النمط ذاته.
02 / 11
LA 101
M09 · L03
صيغة التخزين 1

COO — الإحداثيات

ثلاثة مصفوفات
row[k]، col[k]، val[k] — إدخال واحد لكل غير صفري. لا يتطلب ترتيباً. مثالي للتجميع: FEM يولد ثلاثيات (صف، عمود، قيمة) بشكل طبيعي. حوّل إلى CSR مرة واحدة قبل الحساب.
  • الذاكرة: 3 × nnz كلمة
  • SpMV: بسيط لكن وصول عشوائي للصفوف
  • الأفضل لـ: بناء المصفوفة
03 / 11
LA 101
M09 · L03
صيغة التخزين 2

CSR — الصف المضغوط

SpMV Inner Loop
y_i = \sum_{j=\text{rp}[i]}^{\text{rp}[i+1]-1} \text{val}[j]\cdot x[\text{ci}[j]]

ثلاثة مصفوفات: val[]، col_ind[]، row_ptr[]. الوصول التسلسلي للصفوف → ودّي للذاكرة المؤقتة. صيغة العمل للمحلات التكرارية (CG، GMRES). الذاكرة: nnz + nnz + (m+1) كلمة.

04 / 11
LA 101
M09 · L03
صيغة التخزين 3

CSC — العمود المضغوط

  • يعكس CSR لكن بترتيب الأعمدة: col_ptr[]، row_ind[]، val[]
  • أصلي في MATLAB — جميع مصفوفات sparse() تستخدم CSC
  • المحلات المباشرة (Cholesky، LU) تفضل الوصول العمودي
  • Aᵀv رخيص في CSC = Av في CSR
  • الوصول للصفوف مكلف — يستلزم مسح المصفوفة بأكملها
05 / 11
LA 101
M09 · L03
العمليات المتفرقة

SpMV وملء الفراغ

كثافة العمليات في SpMV
~2 عملية لكل غير صفري، قراءات الذاكرة ≈ 3×nnz + n كلمة → محدود بعرض نطاق الذاكرة. إعادة الترتيب (Cuthill-McKee) تحسن محلية الذاكرة المؤقتة.
ملء الفراغ أثناء التحليل
عناصر غير صفرية جديدة تظهر في L وU. معادلة تفاضلية جزئية ثنائية الأبعاد + تقسيم متداخل: nnz(L) = O(n log n). الترتيب الساذج: O(n^{3/2}). خوارزميات الدرجة الدنيا والتقسيم المتداخل تقلل الملء.
06 / 11
LA 101
M09 · L03
التطبيقات

الرسوم البيانية والشبكات

  • PageRank: تكرار القوة على مصفوفة انتقال متفرقة
  • التجميع الطيفي: متجهات ذاتية للابلاسيان المتفرق L = D − A
  • شبكات الرسوم البيانية العصبية: تمرير رسائل = Ã H W لكل طبقة
  • أقصر المسارات: Bellman-Ford كـ SpMV في شبه الحلقة (min, +)
  • عد المثلثات: قطر SpGEMM لـ A³
07 / 11
LA 101
M09 · L03
التطبيقات

FEM ومصفوفات الصلابة

FEM على شبكة ثنائية الأبعاد بـ n عقدة تولد مصفوفة صلابة متفرقة موجبة محددة K بـ nnz ≈ 7n. دوال الأساس لها دعم محلي — كل معادلة تربط العقد المجاورة فقط. التجميع: ثلاثيات COO لكل عنصر → تحويل إلى CSR → حل تكراري (CG + متعدد الشبكات).

7n
nnz (شبكة 2D)
SPD
نوع المصفوفة
O(n)
تكلفة PCG
08 / 11
LA 101
اختبار سريع

تحقّق ممّا ثبت

أربعة أسئلة من هذا الدرس. أجب لترى السبب — يظهر الشرح سواء أصبتَ أم أخطأت. ولا شيء يُسجّل أو يُحفَظ.

السؤال 1 من 0
النتيجة 0/0

09 / 11
LA 101
M09 · L03
مباشر مقابل تكراري

اختيار المحل المتفرق

  • مباشر (UMFPACK، CHOLMOD): متين، أمثل لأطراف يمنى متعددة، محدود بملء الفراغ في 3D
  • تكراري (CG، GMRES): O(nnz) لكل خطوة، يتوسع لـ n > 10⁷، يحتاج مسبّق
  • مسبّق ILU: تحليل تقريبي متفرق → تكرارات CG أقل
  • متعدد الشبكات: O(n) إجمالاً للمعادلات الإهليلجية — معيار الذهب في 3D
  • خالٍ من المصفوفة: التكراري فقط إذا كانت A ضمنية
10 / 11
LA 101
M09 · L03
الوحدة 9 · الدرس 3 مكتمل

متفرق بالتصميم

COO للتجميع → CSR للحساب → CSC لعمليات الأعمدة. SpMV هو الأساس الحاسم — محدود بعرض نطاق الذاكرة. ملء الفراغ أثناء التحليل يتطلب إعادة الترتيب. الرسوم البيانية وFEM وسلاسل ماركوف تولد مصفوفات متفرقة بشكل طبيعي. المباشر للمتانة وأطراف يمنى متعددة؛ التكراري + المسبّق للمسائل الكبيرة ثلاثية الأبعاد.

الوحدة 9: الجبر الخطي العددي
الفاصلة العائمة · الطرق التكرارية · المصفوفات المتفرقة
11 / 11