قراية
وضع الحكايات

الـ vector spaces والـ subspaces

~16 دقيقة قراية الدرس 4 من 4 في الوحدة 1

الكلمة اللي كنا بنستخدمها على الماشي

عدّوا تلات دروس، وقريت كلمة «فضاء» عشر مرات — vector space، فضاء 2D، فضاء 3D — ومحدش قالك معناها إيه. وده هيبقى مشكلة قريب. لأن من الوحدة التالتة ورايح، تقريبًا كل نتيجة في الكورس ده بتتقال بلغة الـ subspaces (الفضاءات الجزئية): الـ null space بتاع matrix، والـ column space، والـ eigenspace، والفضاء اللي الـ projection بيسقط عليه. لو كلمة «subspace» مش واضحة عندك، يبقى كل دول مش واضحين برضه.

عشان كده الدرس ده بيعمل الشغل اللي مش لامع. بيعرّف الـ vector space (الفضاء المتجهي)، وبيعرّف الـ subspace، وبيسلّمك اختبار من تلات سطور تقدر تطبّقه فعلًا، وبيربط ده كله بالصور اللي رسمناها في الدرس التالت. وبعدين بيسدّ ثغرة: norm (معيار) لسه مقابلتهوش، وهو الـ L∞ norm، لأن سؤال «الـ vector ده كبير قد إيه» ليه أكتر من إجابة صح.

يعني إيه vector space

الـ vector space هو مجموعة V، معاها عمليتين، بتحقّق قايمة قصيرة من القواعد. والعمليتين دول إنت بتستخدمهم أصلًا: تجمع عنصرين من V، وتضرب عنصر من V في رقم حقيقي بنسمّيه scalar (كمية قياسية). والشرط الحاسم إن العمليتين يفضلوا جوا V. تجمع عنصرين من V والناتج في V. تكبّر عنصر من V والناتج في V. الخاصية دي اسمها closure (الانغلاق)، وهي القلب اللي بيدق في التعريف.

المثال الشغّال في الكورس كله هو ℝⁿ: كل قوايم الأرقام الحقيقية اللي طولها n. اجمع قايمتين مركّبة بمركّبة، يطلعلك قايمة فيها n رقم حقيقي. اضرب قايمة في 2.5، يطلعلك قايمة فيها n رقم حقيقي. ومفيش حاجة تعملها بالجمع والتكبير تطلّعك برّه ℝⁿ أبدًا. يبقى ℝⁿ هو vector space، وعناصره هي اللي كنا بنسمّيها vectors.

شرطين الـ closure
\mathbf{u} + \mathbf{v} \in V \qquad c\,\mathbf{u} \in V \quad \text{for all } \mathbf{u},\mathbf{v} \in V,\; c \in \mathbb{R}
باقي التعريف بيوصف الجمع والتكبير بيتصرّفوا إزاي. والشرطين دول بيقولوا النتيجة بتنزل فين — وده اللي بيخلّي V فضاء مش مجرد مجموعة.
«الـ vector» معناه عنصر في vector space

في الإطار ده، الـ vector مش كلام عن الشكل. معناه «عنصر في vector space». السهم في ℝ³ يبقى vector. وكمان كثيرة الحدود، والدالة، والـ matrix، والمقطع الصوتي المتحوّل لأرقام — بشرط إنه قاعد في مجموعة الجمع والتكبير فيها بيتصرّفوا صح.

الـ axioms، بالبلدي

القايمة المعروفة فيها تمن axioms (بديهيات)، وكل واحدة فيهم حاجة كنت هتفترضها كده كده. اقراها مرة واحدة، بالظبط عشان تبطّل تفكّر فيها.

فيه نتيجتين بيطلعوا من القايمة دي على طول ويستاهلوا تاخد بالك منهم. الـ zero vector واحد بس، و0 v = 0 لكل v — يعني لو كبّرت أي حاجة بصفر بتنزل على نقطة الأصل. والحقيقة التانية دي هي السبب إن نقطة الأصل بتظهر في كل subspace، وده اللي رايحين له دلوقتي.

vector space مفيهوش ولا سهم

لو مستخدمناش غير ℝⁿ، الـ axioms كانت هتبان طقوس ملهاش لازمة. وده المثال اللي بيوضّح ليه تستاهل تتكتب. خلّي P₂ هي مجموعة كل كثيرات الحدود اللي درجتها 2 أو أقل — كل تعبير شكله a + bx + cx²، وa وb وc أرقام حقيقية.

اجمع اتنين منهم: (1 + 2x) + (3 − x + 4x²) = 4 + x + 4x². لسه درجتها 2 أو أقل، ولسه في P₂. كبّر واحدة بـ −3: −3(1 + 2x) = −3 − 6x. لسه في P₂. وكثيرة الحدود الصفرية بتلعب دور الـ zero vector، وكل axiom باقية مجرد جبر عادي على كثيرات الحدود. يبقى P₂ هو vector space، ومفيش ولا سهم في الصورة.

كثيرات الحدود اللي درجتها 2 أو أقل
P_2 = \{\, a + bx + cx^2 \;:\; a,b,c \in \mathbb{R} \,\}
عيلة بتلات معاملات. الجمع والتكبير عمرهم ما بيرفعوا الدرجة، فالمجموعة مقفولة والـ axioms متحققة.

وخد بالك من حاجة كمان. P₂ ليها مجموعة مولّدة صغيرة وواضحة — 1 وx وx² — حجمها تلاتة، فهي تلاتية الأبعاد بنفس المعنى اللي بيخلّي ℝ³ تلاتي الأبعاد. والتطابق ده مش صدفة، وهو السبب إن نفس النظريات بتشتغل في الـ signal processing (معالجة الإشارات) والإحصاء والـ machine learning (تعلّم الآلة). فضاءات الـ signals وفضاءات الدوال وفضاءات الصور كلها vector spaces، وكل نتيجة في الكورس ده بتنطبق عليها زي ما هي.

الـ subspace: فضاء جوا فضاء

وصلنا للتعريف اللي باقي الكورس واقف عليه. خلّي V يبقى vector space. المجموعة الفرعية S من V اسمها subspace من V لو S نفسها vector space، بنفس الجمع ونفس الضرب في scalar اللي V بيستخدمهم أصلًا.

والقيد الأخير ده بيعمل شغل حقيقي. إحنا مش بنبني بنية جديدة؛ إحنا بنسأل هل حتة من بنية موجودة مكتفية بنفسها. والاكتفاء بالنفس معناه الـ closure بالظبط: خد عناصر من S، واجمعها، وكبّرها، ومينفعش أبدًا تنزل برّه S. الـ subspace منطقة متقدرش تهرب منها بالـ linear algebra.

كل الـ subspaces اللي في ℝ³، على بعض

فيه أربع أنواع بالظبط: النقطة الوحيدة {0}؛ وأي خط مستقيم بيعدّي بنقطة الأصل؛ وأي مستوى بيعدّي بنقطة الأصل؛ وℝ³ كله. القايمة دي كاملة. الكورة مش subspace. والخط اللي مش بيعدّي بنقطة الأصل مش subspace. والثُمن الأول مش subspace. إن المجموعة تبان شيك مش هو المقياس.

الاختبار التلاتي

إنك تتأكد من تمن axioms لكل مجموعة فرعية مرشّحة شغل متعب، ومش محتاجه. الـ commutativity والـ associativity والـ distributivity بتيجي ببلاش — متحققة لعناصر S لأن العناصر دي عناصر في V كمان، وهناك الـ axioms متحققة من الأول. الـ closure بس هو اللي ممكن يقع. فالمسألة كلها بتتلمّ في تلات اختبارات.

اختبار الـ subspace
\begin{aligned} &\text{(1)} \quad \mathbf{0} \in S \\ &\text{(2)} \quad \mathbf{u},\mathbf{v} \in S \;\Rightarrow\; \mathbf{u} + \mathbf{v} \in S \\ &\text{(3)} \quad \mathbf{u} \in S,\; c \in \mathbb{R} \;\Rightarrow\; c\,\mathbf{u} \in S \end{aligned}
تلات شروط، ولازم التلاتة يتحققوا. ده الاختبار اللي هتعمله كل مرة subspace يظهر في باقي الكورس.

بالكلام: الـ zero vector بتاع V موجود في S؛ ولو u وv في S يبقى u + v في S؛ ولو u في S وc أي رقم حقيقي يبقى cu في S. التلاتة اتحققوا يبقى S هي subspace. واحد وقع يبقى S مش subspace — ومفيش نص نص.

وابدأ بالـ zero vector. هو أرخص التلاتة وأكترهم وقوعًا، وده بيخلّيه طريقة كويسة تخلص بدري. وبالدقة، الشرط التالت عند c = 0 بيجبر 0 يبقى جوا S طالما S فيها أي حاجة أصلًا، فالشرط الأول في الحقيقة بيعمل دورين، كتأكيد إن المجموعة مش فاضية — بس كخطوة أولى عملية هو أحسن حاجة عندك.

المثال الأول: المستوى xy جوا ℝ³

خلّي V = ℝ³ وخلّي S كل vector الإحداثي التالت بتاعه صفر. هندسيًا ده المستوى xy، قاعد جوا الفضاء الـ 3D وبيعدّي بنقطة الأصل. طبّق الاختبار.

مستوى بيعدّي بنقطة الأصل
S = \left\{ \begin{bmatrix} x \\ y \\ 0 \end{bmatrix} : x,y \in \mathbb{R} \right\} \subset \mathbb{R}^3, \qquad \dim S = 2
معاملين أحرار، وواحد متثبّت على صفر. والإحداثي المتثبّت هو اللي بيعيش بعد كل جمع وكل تكبير.

الصفر؟ الإحداثي التالت في (0, 0, 0) هو 0، يبقى آه. المجاميع؟ (x₁, y₁, 0) + (x₂, y₂, 0) = (x₁ + x₂, y₁ + y₂, 0) — والإحداثي التالت 0 + 0 = 0، فالمجموع لسه في S. التكبير؟ c(x, y, 0) = (cx, cy, 0)، وc · 0 = 0، فالناتج لسه في S. التلاتة اتحققوا: S هي subspace من ℝ³، والـ dimension (البُعد) بتاعها 2.

المثال التاني: خط بيعدّي بنقطة الأصل

خلّي V = ℝ² وخلّي S كل مضاعفات الـ vector (2, 1) بأرقام حقيقية — يعني الخط اللي بيعدّي بنقطة الأصل وميله ½. الاختبار هنا تقريبًا أوتوماتيك، وده بالظبط المقصود.

خط بيعدّي بنقطة الأصل
S = \left\{ c \begin{bmatrix} 2 \\ 1 \end{bmatrix} : c \in \mathbb{R} \right\} \subset \mathbb{R}^2, \qquad \dim S = 1
لما تكتبه على شكل «كل مضاعفات vector واحد»، الـ closure بيبان في الرموز نفسها.

الصفر؟ خد c = 0 يطلعلك (0, 0). آه. المجاميع؟ c₁(2, 1) + c₂(2, 1) = (c₁ + c₂)(2, 1)، ودي مضاعف تاني لـ (2, 1). آه. التكبير؟ k · c(2, 1) = (kc)(2, 1). آه. يبقى S هي subspace والـ dimension بتاعها 1. وخد بالك مين اللي عمل الشغل: عرّفنا S إنها «كل مضاعفات vector»، فالـ closure جه ببلاش. احفظ الفكرة دي — هترجع بعد كام فقرة باسم الـ span.

المثال المضاد: خط مش بيعدّي بنقطة الأصل

ودلوقتي مثال بيقع، ومهم تشوفه وهو بيقع، لأنه شكله محترم جدًا. في ℝ²، خلّي S هي الخط y = x + 1. خط سليم تمامًا: مستقيم، ومالوش آخر في الاتجاهين، ورسمه مش أصعب من خط المثال التاني. ومع ذلك هو مش subspace.

خط مش subspace
S = \{\, (t,\; t+1) : t \in \mathbb{R} \,\}, \qquad \mathbf{0} \notin S
الـ +1 هو المشكلة كلها. بيزيح الخط عن نقطة الأصل، ومفيش خط أو مستوى أو hyperplane مُزاح يبقى subspace أبدًا.

الصفر؟ هل (0, 0) على الخط؟ ده محتاج 0 = 0 + 1، وده غلط. الاختبار خلص هنا. بس مفيد تتفرّج على الـ closure وهو بيقع كمان. خد (0, 1) و (1, 2)، والاتنين على الخط فعلًا. مجموعهم (1, 3)، والخط محتاج 3 = 1 + 1 = 2. ومش متحقق. جمع عنصرين من S طلّع حاجة برّه S.

القاعدة العملية اللي تستاهل تحفظها

الخط أو المستوى ميبقاش subspace إلا لو عدّى بنقطة الأصل. والخط أو المستوى المُزاح عن نقطة الأصل اسمه مجموعة affine (أفينية). والمجموعات الـ affine مفيدة فعلًا — مجموعة حلول Ax = b لما b ≠ 0 واحدة منهم — بس هي مش subspaces، ونظريات الـ subspaces مش بتنطبق عليها.

الـ span: كل اللي تقدر توصله

قابلت الـ span (المدى) هندسيًا في الدرس التالت: اتنين vectors مش متوازيين في بُعدين بيغطّوا المستوى كله، أما المتوازيين فبيغطّوا خط واحد بس. ودي نفس الفكرة بس كتعريف مش كصورة. الـ span بتاع مجموعة vectors هو مجموعة كل الـ linear combinations (التوليفات الخطية) بتاعتها — كل اللي تقدر توصله بالتكبير والجمع.

ونش علوي في صالة مصنع فاضية، الكوبري بتاعه ممدود بين السكتين وعليه عربية وخطاف.
الكوبري ماشي على طول السكتين، والعربية بالعرض: حركتين مش متوازيين، بالـ scaling والجمع، بيوصلوا لأرض الصالة كلها. والـ span سطح من غير حيطان.
الـ span بتاع مجموعة vectors
\operatorname{span}\{\mathbf{v}_1,\dots,\mathbf{v}_k\} = \{\, c_1\mathbf{v}_1 + c_2\mathbf{v}_2 + \cdots + c_k\mathbf{v}_k \;:\; c_i \in \mathbb{R} \,\}
المجموعة اللي تقدر توصلها. كل اختيار للمعاملات بيدّي عنصر واحد؛ والـ span هو كل العناصر دي على بعض.

ودلوقتي نظرية بتاخدها ببلاش: الـ span دايمًا subspace. عمرك ما هتحتاج تختبره. الـ zero vector جواه (خد كل المعاملات أصفار). ومجموع اتنين linear combinations هو linear combination. وscalar مضروب في linear combination هو linear combination. الاختبارات التلاتة متحققة من طريقة البنا نفسها، لأي مجموعة vectors في أي vector space.

وعشان كده المثال التاني كان سهل كده — الخط على امتداد (2, 1) كان span أصلًا. واقراها بالعكس: ده بيدّيك طريقة تبني بيها subspaces مش تختبرها. اختار vectors، وخد الـ span بتاعهم، يبقى عندك subspace مضمون.

الـ basis والـ dimension

الـ span ممكن يبقى فيه إسراف. الـ span بتاع (1, 0) و (0, 1) و (1, 1) هو ℝ² كله، بس الـ vector التالت مش بيزوّد حاجة — كنت تقدر توصله من الاتنين الأولانيين. والـ basis (الأساس) هو مجموعة مولّدة من غير إسراف: بتولّد الفضاء، ومفيش فيها vector زيادة. وبكلام تاني: شيل أي vector من الـ basis والـ span يصغر.

ودي الحقيقة اللي بتدّي الكلمة الجاية معنى: كل basis لنفس الـ vector space فيه نفس عدد الـ vectors. تقدر تختار bases مختلفة — عدد مالوش آخر منها — والعدد عمره ما بيتغيّر. العدد الثابت ده هو الـ dimension بتاع الفضاء.

الـ dimension
\dim V = \left| \mathcal{B} \right| \quad \text{for any basis } \mathcal{B} \text{ of } V
حجم أي basis. والنظرية اللي بتقول إن كل basis ليه نفس الحجم هي اللي بتخلّي ده رقم متعرّف كويس، مش صدفة في الـ basis اللي إنت اخترته.

يبقى ℝ³ الـ dimension بتاعه 3، والمستوى اللي بيعدّي بنقطة الأصل جواه 2، والخط اللي بيعدّي بنقطة الأصل 1، و {0} الـ dimension بتاعه 0 — لأن المجموعة الفاضية بتولّده. وP₂ اللي فات الـ dimension بتاعه 3، والـ basis بتاعه 1 وx وx². الـ dimension هو الطريقة اللي بتقارن بيها فضاءات ملهاش أي شبه ببعض.

الـ subspaces بتجيب نتيجة فين

كل ده بيبقى ملموس في الوحدة التالتة. هات matrix اسمها A، واسأل أنهي vectors بتودّيها للصفر — يعني حلول Ax = 0. المجموعة دي هي الـ null space (الفضاء الصفري، أو الـ kernel) بتاعة A، وتطبيق الاختبار التلاتي عليها تمرين من سطرين. A0 = 0، فالـ zero vector جواها. ولو Ax = 0 وAy = 0 يبقى A(x + y) = 0. وA(cx) = cAx = 0. يبقى هي subspace، والـ dimension بتاعها ليه اسم: الـ nullity (بُعد العدم) بتاعة A.

وفي المقابل، أعمدة A بتولّد subspace خاص بيها — الـ column space (فضاء الأعمدة) — والـ dimension بتاعه هو الـ rank (الرتبة). ونظرية الـ rank–nullity، اللي بتربط الرقمين دول بعرض A، مش أكتر من جملة عن dimensions اتنين subspaces. الوحدة التالتة، الدرس التالت هو المكان اللي بتوصل فيه، وهو أول مكان تعريفات الدرس ده بتعمل فيه شغل حقيقي.

قياس الحجم: L1 وL2 وL∞

فاضل طرف واحد قبل ما الوحدة الأولى تقفل. الدرس التالت عرّف طول الـ vector إنه الجذر التربيعي لمجموع مربعات مركّباته، والوحدة الحداشر بتستخدم الطول ده طول الوقت باسم الـ L2 norm، جنب norm تاني اسمه الـ L1 norm. وفيه عضو تالت في نفس العيلة بيتستخدم بنفس القدر وبيتعرّف أقل بكتير: الـ L∞ norm، واسمه كمان الـ max norm (معيار الأقصى).

الـ norm هو أي دالة بتدّي الـ vector طول مش سالب، ومبتدّيش صفر غير للـ zero vector، وبتتكبّر زي ما تتوقّع، وبتحقّق الـ triangle inequality (متباينة المثلث). وفيه كذا دالة مختلفة بتحقّق ده كله في نفس الوقت، وكل واحدة فيهم بتقيس «كبير قد إيه» بطريقتها.

الـ norm L1 (التاكسي)
\|\mathbf{v}\|_1 = \sum_{i=1}^{n} |v_i|
اجمع القيم المطلقة
الـ norm L2 (الإقليدي)
\|\mathbf{v}\|_2 = \sqrt{\sum_{i=1}^{n} v_i^2}
الطول المستقيم من الدرس التالت
الـ L∞ norm (الـ max norm)
\|\mathbf{v}\|_\infty = \max_{1 \le i \le n} |v_i| = \lim_{p \to \infty} \left( \sum_{i=1}^{n} |v_i|^p \right)^{1/p}
أكبر مركّبة بالقيمة المطلقة، ومفيش غيرها. ده الـ norm اللي المنهج وعد بيه جنب L1 وL2 والكورس عمره ما عرّفه.

خد v = (3, −4, 1). الـ L1 norm بتاعه 3 + 4 + 1 = 8. والـ L2 norm هو الجذر التربيعي لـ 9 + 16 + 1، يعني حوالي 5.10. والـ L∞ norm هو max(3, 4, 1) = 4 — بيبلّغ عن أوحش مركّبة لوحدها ويرمي الباقي. التلات أرقام دول بيوصفوا نفس الـ vector؛ بس بيجاوبوا على تلات أسئلة مختلفة عنه.

والـ L∞ هو اللي إنت عايزه كل ما أسوأ حالة تبقى هي المهمة. جملة «مفيش sample في البلوك ده بيعدّي 4» دي كلام عن الـ max norm مش عن الإقليدي. وبييجي كمان كـ limit: الـ Lp norm العام بيرفع كل مركّبة للأس p، ويجمع، وياخد الجذر رقم p. عند p = 1 ده L1؛ وعند p = 2 ده L2؛ ولما p يكبر، أكبر مركّبة بتسيطر على المجموع خالص، فالتعبير كله بيقرّب لأكبر |vᵢ|. والـ limit ده هو السبب إن ما لا نهاية مكتوبة في الرمز.

الـ unit ball: تلات أشكال

أوضح طريقة تحسّ بيها الفرق إنك ترسم الـ unit ball (كرة الوحدة) لكل norm: كل vector طوله مش أكتر من 1. في ℝ² التلاتة محدّبين ومتماثلين حوالين نقطة الأصل، ومع ذلك ولا واحد فيهم شبه التاني.

الـ unit ball بتاعة L2 هي الدايرة المعروفة بنص قطر 1. والـ unit ball بتاعة L1 هي المعيّن اللي رؤوسه عند (±1, 0) و(0, ±1): لأنك من (1, 0) تقدر تبدّل الأفقي بالرأسي وحدة بوحدة، فالحد بيطلع مستقيم. والـ unit ball بتاعة L∞ هي المربع اللي رؤوسه عند (±1, ±1)، لأن الإحداثيين أحرار يوصلوا لـ 1 كل واحد لوحده.

والأشكال دي بتفسّر نتايج جاية من غير جبر. معيّن L1 رؤوسه على المحاور، وعشان كده الـ L1 penalty بيزقّ المعاملات لصفر بالظبط — لأن الحل الأمثل عادةً بينزل على راس، والراس فيه إحداثي صفر. أما دايرة L2 فناعمة في كل حتة، ومالهاش اتجاه مفضّل، فمبتطلّعش أصفار بالظبط. والـ slides بتاعة الدرس ده بتخلّيك تزوّد p وتتفرّج على المعيّن وهو بينفخ لحد ما يبقى دايرة وبعدين يتصلّب لحد ما يبقى مربع.

وفيه متباينة واحدة بتطلع من الصورة على طول: المعيّن قاعد جوا الدايرة، والدايرة قاعدة جوا المربع. فالـ max norm عمره ما بيزيد عن الإقليدي، والإقليدي عمره ما بيزيد عن norm التاكسي — لكل vector، وفي أي عدد أبعاد.

ترتيب الـ norms التلاتة
\|\mathbf{v}\|_\infty \;\le\; \|\mathbf{v}\|_2 \;\le\; \|\mathbf{v}\|_1
اقراه من الـ unit balls اللي جوا بعض: كل ما الكورة تصغر، الـ norm اللي بتقيسه يكبر.

الوحدة الأولى بتقفل هنا. وبعدها بنفتح الوحدة التانية وبناخد الـ matrices بشروطها هي — يعني إيه matrix، وإزاي تقرا أبعادها، وليه نفس الحاجة بتشتغل كجدول أرقام وكـ transformation للفضاء في نفس الوقت.

أهم النقط
  • الـ vector space مجموعة مقفولة تحت الجمع والضرب في scalar، وفوقهم ست axioms تانية إنت ماشي عليها أصلًا من غير ما تفكّر.
  • كثيرات الحدود والدوال والـ signals بيعملوا vector spaces كمان — فـ«الـ vector» دور مش شكل.
  • الـ subspace مجموعة فرعية هي نفسها vector space: منطقة متقدرش تخرج منها بالجمع والتكبير.
  • الاختبار التلاتي هو الشغل كله — فيها الـ zero vector، ومقفولة تحت الجمع، ومقفولة تحت الضرب في scalar.
  • الخط أو المستوى ميبقاش subspace إلا لو عدّى بنقطة الأصل؛ والمُزاح عنها affine مش subspace.
  • الـ span هو كل اللي تقدر توصله، وهو subspace أوتوماتيك — وكده تبني الـ subspaces بدل ما تختبرها.
  • الـ basis مجموعة مولّدة من غير زيادة؛ وكل basis للفضاء ليه نفس الحجم، والحجم ده هو الـ dimension.
  • الـ null space والـ column space بتوع matrix هما subspaces؛ والـ dimensions بتاعتهم هي الـ nullity والـ rank (الوحدة التالتة، الدرس التالت).
  • L1 بيجمع القيم المطلقة، وL2 هو الطول المستقيم، وL∞ بياخد أكبر مركّبة — والـ unit balls بتاعتهم معيّن ودايرة ومربع بالترتيب.
اللي فات التفسير الهندسي نظرة عامة على الموديول الدرس اللي بعده يعني إيه matrix؟