3.10 تحليل القيم المفردة (Singular Value Decomposition)
تحليل القيم المفردة (singular value decomposition) هو أسلوب عددي موثوق لحساب الرتبة (rank) وفضاء المدى (range space) وفضاء العدم (null space) لمصفوفة، كما رأينا في الأقسام السابقة. لذا فإن الإلمام به مفيد. أما نتيجته النظرية فلن تُستخدم إلا في القسم 7.10، ولذلك يمكن ربط دراسته بذلك القسم.
لتكن $ \mathbf{H} $ مصفوفة حقيقية (real) بأبعاد $ m \times n $ . عرّف $ \mathbf{M} := \mathbf{H}'\mathbf{H} $ . من الواضح أن $ \mathbf{M} $ ذات أبعاد $ n \times n $ ، متناظرة وشبه موجبة التعريف (semidefinite). لذا فإن جميع قيمها الذاتية حقيقية وغير سالبة (صفرية أو موجبة). لتكن $ r $ عدد قيمها الذاتية الموجبة. عندئذ يمكن ترتيب القيم الذاتية للمصفوفة $ \mathbf{M} = \mathbf{H}'\mathbf{H} $ كما يلي
ولتكن $ \bar{n} \coloneqq \min(m, n) $ . عندئذ تكون المجموعة
هي القيم المفردة (singular values) للمصفوفة $ \mathbf{H} $ . عادةً تُرتَّب القيم المفردة ترتيبًا تنازليًا في المقدار.
مثال 3.10.1 اعتبر المصفوفة $ 2 \times 3 $
نحسب
ونحسب كثير حدودها المميِّز كما يلي
وبالتالي فإن القيم الذاتية لـ $ \mathbf{H}'\mathbf{H} $ هي 26.25 و0 و0، والقيم المفردة لـ $ \mathbf{H} $ هي $ \sqrt{26.25} = 5.1235 $ و0. لاحظ أن عدد القيم المفردة يساوي $ \min(n,m) $ .
وبالنظر إلى (3.70)، يمكننا أيضًا حساب القيم المفردة لـ $ \mathbf{H} $ من القيم الذاتية لـ $ \mathbf{HH}' $ . بالفعل، لدينا
و
وعليه فإن القيم الذاتية لـ $ \mathbf{HH}' $ هي 26.25 و0 والقيم المفردة لـ $ \mathbf{H}' $ هي 5.1235 و0. نرى أن القيم الذاتية لـ $ \mathbf{H}'\mathbf{H} $ تختلف عن قيم $ \mathbf{HH}' $ فقط في عدد القيم الذاتية الصفرية، وأن القيم المفردة لـ $ \mathbf{H} $ تساوي القيم المفردة لـ $ \mathbf{H}' $ .
بالنسبة إلى $ \mathbf{M} = \mathbf{H}'\mathbf{H} $ ، توجد، وفقًا لنظرية 3.6، مصفوفة متعامدة $ \mathbf{Q} $ بحيث
حيث إن $ \mathbf{D} $ مصفوفة قطرية $ n \times n $ تحتوي $ \lambda_i^2 $ على القطر. المصفوفة $ \mathbf{S} $ هي $ m \times n $ وتحتوي القيم المفردة $ \lambda_i $ على القطر. سيؤدي التلاعب في (3.71) في النهاية إلى النظرية التالية.
نظرية 3.9 (تحليل القيم المفردة (Singular value decomposition))
يمكن تحويل كل مصفوفة $ m \times n $ هي $ \mathbf{H} $ إلى الصورة
بحيث $ \mathbf{R}'\mathbf{R} = \mathbf{R}\mathbf{R}' = \mathbf{I}_m $ ، و $ \mathbf{Q}'\mathbf{Q} = \mathbf{Q}\mathbf{Q}' = \mathbf{I}_n $ ، و $ \mathbf{S} $ مصفوفة $ m \times n $ تحتوي القيم المفردة لـ $ \mathbf{H} $ على القطر.
أعمدة $ \mathbf{Q} $ هي متجهات ذاتية مُطبَّعة متعامدة (orthonormalized eigenvectors) للمصفوفة $ \mathbf{H}'\mathbf{H} $ ، وأعمدة $ \mathbf{R} $ هي متجهات ذاتية مُطبَّعة متعامدة لـ $ \mathbf{HH'} $ . بعد حساب $ \mathbf{R} $ و $ \mathbf{S} $ و $ \mathbf{Q} $ ، تكون رتبة $ \mathbf{H} $ مساوية لعدد القيم المفردة غير الصفرية. إذا كانت رتبة $ \mathbf{H} $ هي $ r $ ، فإن الأعمدة $ r $ الأولى من $ \mathbf{R} $ تشكّل أساسًا متعامدًا معياريًا (orthonormal basis) لفضاء المدى لـ $ \mathbf{H} $ . أما الأعمدة $ (n - r) $ الأخيرة من $ \mathbf{Q} $ فتشكّل أساسًا متعامدًا معياريًا لفضاء العدم لـ $ \mathbf{H} $ . على الرغم من أن حساب تحليل القيم المفردة يستغرق وقتًا، فإنه موثوق جدًا ويعطي مقياسًا كميًا للرتبة. لذا يُستخدم في MATLAB لحساب الرتبة وفضاء المدى وفضاء العدم. في MATLAB، يمكن الحصول على القيم المفردة لـ $ \mathbf{H} $ بكتابة $ s = svd(H) $ . كتابة
$ \left[\mathbb{R}, \mathbb{S}, \mathbb{Q}\right] = \operatorname{svd}(\mathbb{H}) $ تعطي المصفوفات الثلاث في النظرية. كتابة $ \operatorname{orth}(\mathbb{H}) $ و null $ (\mathbb{H}) $ تعطي، على الترتيب، أسسًا متعامدة معيارياً لفضاء المدى وفضاء العدم للمصفوفة $ \mathbf{H} $ . ستُستخدم الدالة null مرارًا في الفصل 7.
مثال 3.10.2 اعتبر المصفوفة في (3.11). نكتب
والتي تعطي
وهكذا فإن القيم المفردة للمصفوفة $ \mathbf{A} $ في (3.11) هي 6.1568 و2.4686 و0. للمصفوفة قيمتان مفردتان غير صفريتين، لذا رتبتها 2، وبالتالي عدمّيتها $ 4 - \rho(\mathbf{A}) = 2 $ . العمودان الأولان من $ r $ هما أساس متعامد معياريًا في (3.13) تقريبًا، والعمودان الأخيران من $ q $ هما الأساس المتعامد المعياري في (3.14).