কনটেন্টে যান

Chapter 4.4 — Dimension ও Change of Basis (মাত্রা ও বেসিস বদল): চশমা বদলানোর কারিগরি

🎯 এই chapter-এ যা শিখবে

  • Dimension(মাত্রা) আসলে কি — সব basis-এ সদস্যসংখ্যা একই কেন হয়, আর সেই অভিন্ন সংখ্যাটাই কেন space-এর "আসল সাইজ"
  • চশমা বদলানোর analogy: একই vector, ভিন্ন basis-এ ভিন্ন coordinates — জিনিস বদলায় না, বদলায় শুধু বর্ণনার ভাষা
  • Change of basis matrix \(P\) নিজের হাতে derive করবে — কোন column-এ কি বসে, কোন দিকে গুণ করলে কোন ভাষায় পৌঁছায়
  • \([v]_{new} = P^{-1}[v]_{old}\) — সূত্রে \(P^{-1}\) কেন আসে, মুখস্থ ছাড়াই বোঝা
  • কেন basis বদলাতে চাই আদৌ — PCA, JPEG, eigenvector: সবার গোপন কথা এক — সঠিক চশমায় জটিল জিনিস সরল হয়ে যায়

🖼️ এক ছবিতে মূল idea

একই arrow, দুই চশমা

একই লাল arrow \(v\) — বাঁয়ের চশমায় (standard basis) তার নাম \((1, 3)\), ডানের চশমায় (basis \(B\)) নাম বদলে যায়। Arrow এক চুলও নড়েনি; নড়েছে শুধু গ্রিড, মানে মাপার ভাষা। এই ভাষা-বদলের সম্পূর্ণ যন্ত্রপাতিই আজকের chapter।


১. কি? (What)

আগে concrete ছবি: \(R^2\)-এ ফিরে দেখা

Chapter 4.3-এর শেষে একটা প্রশ্ন ঝুলিয়ে রেখেছিলাম: সব basis-এ সদস্যসংখ্যা কি একই হয়? \(R^2\)-এর দিকে তাকাও — এতগুলো উদাহরণ দেখলে: \(\{e_1, e_2\}\), \(\{(1,1), (1,-1)\}\), \(\{(2,1), (1,3)\}\)... প্রত্যেকটায় ঠিক ২টা vector। কখনো ১টা দিয়ে হয়নি (plane span হয় না), কখনো ৩টা দিয়েও হয়নি (dependent হয়ে যায়)।

এটা কাকতালীয় নয়। যেকোনো vector space-এ:

সব basis-এর সদস্যসংখ্যা একই। এই অভিন্ন সংখ্যাটাই space-টার সবচেয়ে গুরুত্বপূর্ণ পরিচয়।

দৈনন্দিন analogy: ঘরের ঠিকানায় কতগুলো সংখ্যা লাগে?

একটা লম্বা রাস্তার বাড়ি চেনাতে ১টা সংখ্যাই যথেষ্ট — "৪৭ নম্বর বাড়ি"। শহরের কোনো জায়গা চেনাতে লাগে ২টা — "block C, plot 12"। আকাশের ড্রোন চেনাতে ৩টা — অক্ষাংশ, দ্রাঘিমাংশ, উচ্চতা। লক্ষ করো: রাস্তা যে-ভাবেই নম্বর দাও — সামনে থেকে, পেছন থেকে, ৫০ থেকে শুরু করে — সংখ্যা লাগবে ১টাই। ঠিকানা-ব্যবস্থা (basis) বদলালেও কতগুলো সংখ্যা লাগে সেটা বদলায় না। ওই সংখ্যাটা জায়গাটার নিজস্ব ধর্ম — তার dimension

সংজ্ঞা: Dimension

Vector space \(V\)-এর কোনো basis-এ যদি সসীম সংখ্যক (\(n\)টি) vector থাকে, তবে \(V\)-কে finite-dimensional(সসীম-মাত্রিক) বলা হয় এবং \(V\)-এর Dimension(মাত্রা) হলো সেই সংখ্যা:

\[\dim V = n = \text{যেকোনো basis-এর সদস্যসংখ্যা}.\]

(সংজ্ঞাটা অর্থবহ, কারণ নিচের Property 1 প্রমাণ করবে — সব basis-এ সংখ্যা একই।)

পরিচিত জগতগুলোর dimension:

Space একটি basis \(\dim\)
\(R^2\) \(\{e_1, e_2\}\) \(2\)
\(R^n\) \(\{e_1, \ldots, e_n\}\) \(n\)
\(P_n\) (ডিগ্রি \(\le n\) polynomial) \(\{1, t, \ldots, t^n\}\) \(n + 1\)
\(M_{2\times 2}\) ৪টি "এক-ঘরে-১" matrix \(4\)
\(\{0\}\) \(\varnothing\) (খালি set) \(0\)

লক্ষ করো \(P_n\)-এর ফাঁদটা: ডিগ্রি \(n\), কিন্তু dimension \(n+1\) — কারণ constant term-ও একটা "দিক"।

এবার দ্বিতীয় প্রশ্ন: চশমা বদলাব কীভাবে?

Chapter 4.3-এ দেখেছ একই \(v\)-এর ঠিকানা standard basis-এ এক রকম, অন্য basis-এ আরেক রকম। এখন হিসেবের প্রশ্ন: এক ভাষার ঠিকানা জানা থাকলে অন্য ভাষার ঠিকানা বের করার যন্ত্র কি?

ধরো নতুন basis \(B = (b_1, b_2)\), আর সব কিছু standard ভাষায় লেখা। \([v]_B = (c_1, c_2)\) মানে সংজ্ঞা অনুযায়ী:

\[v = c_1 b_1 + c_2 b_2 = \underbrace{(b_1 \;\; b_2)}_{P} \begin{pmatrix} c_1 \\ c_2 \end{pmatrix}.\]

ব্যস — যন্ত্র পাওয়া গেল! Matrix \(P\), যার column-গুলো হলো নতুন basis vector-দের পুরনো (standard) ভাষায় লেখা রূপ:

Change of Basis Matrix

\(B = (b_1, \ldots, b_n)\) basis হলে \(P = (b_1 \; b_2 \cdots b_n)\) (column হিসেবে সাজানো) হলো \(B\) থেকে standard-এ যাওয়ার change of basis matrix(বেসিস বদলের ম্যাট্রিক্স):

\[v_{std} = P\,[v]_B \qquad \Longleftrightarrow \qquad [v]_B = P^{-1} v_{std}.\]

\(P\) সবসময় invertible — কারণ তার column-রা basis (Chapter 4.3-এর determinant test)।

দিক মনে রাখার কৌশল: \(P\)-এর column-এ আছে \(b_i\)-দের standard বর্ণনা, তাই \(P\) গুণ করলে ফলও standard ভাষায় বেরোয় — "\(P\) অনুবাদ করে \(B\)-ভাষা → standard-ভাষা"। উল্টো পথে যেতে চাইলে (standard → \(B\)) উল্টো যন্ত্র: \(P^{-1}\)। এই জন্যই সূত্রে \(P^{-1}\) আসে — কোনো জাদু নয়, স্রেফ উল্টো দিকের টিকিট।

আর দুটো non-standard basis \(B\)\(B'\)-এর মধ্যে যেতে চাইলে? Standard-কে transit হিসেবে ব্যবহার করো: \([v]_{B'} = P'^{-1} P \,[v]_B\) — আগে \(B\) থেকে standard (\(P\)), তারপর standard থেকে \(B'\) (\(P'^{-1}\))।


২. দেখতে কেমন?

Dimension-এর গ্যালারি: \(R^3\)-এর ভেতরের চার রকম জগৎ

dim 0,1,2,3 subspace গ্যালারি

Chapter 4.1-এর subspace-তালিকা এবার নতুন ভাষায়: \(\{0\}\)-এর dimension \(0\) (basis-ই লাগে না), line-এর \(1\) (১টা basis vector), plane-এর \(2\), পুরো \(R^3\)-এর \(3\)Dimension মানে: ঠিকানা লিখতে ন্যূনতম কতগুলো সংখ্যা লাগে।**

ছবিটা Chapter 4.1-এর টেবিলের সাথে মিলিয়ে দেখো — সেখানে "সাইজ" বলে যে কলামটা রেখেছিলাম, আজ তার আসল নাম পেলাম।

Change of basis-এর ছবি: গ্রিড বদলায়, arrow বদলায় না

Opening figure-এ আবার তাকাও। বাঁয়ে চৌকো গ্রিড — প্রতি ঘর \(e_1, e_2\) মাপের। ডানে বাঁকা গ্রিড — প্রতি ঘর \(b_1, b_2\) মাপের। Coordinates মানে: "নিজের গ্রিডের কত ঘর হাঁটতে হবে।" একই arrow-এ পৌঁছাতে চৌকো গ্রিডে হাঁটতে হয় এক রকম, বাঁকা গ্রিডে আরেক রকম — তাই সংখ্যা ভিন্ন। Vector-টা কিন্তু ভাষা-নিরপেক্ষ: সে গ্রিডের আগে থেকেই ওখানে ছিল।


৩. কোথায় ইউজ হয়?

কেন কষ্ট করে চশমা বদলাব? কারণ এক চশমায় যা জট পাকানো, আরেক চশমায় তা পানির মতো সোজা:

সঠিক basis-এ data সরল হয়ে যায়

বাঁয়ে standard basis-এ data cloud — \(x\) আর \(y\) জড়াজড়ি করে আছে (correlated)। ডানে data-র নিজের পছন্দের basis \(\{b_1, b_2\}\)-তে একই cloud — অক্ষগুলো খুলে গেছে, প্রতিটা দিক স্বাধীন। এটাই PCA-র পুরো গল্প (Part VI) — আর সেটা change of basis ছাড়া আর কিছুই না।

  • PCA (Principal Component Analysis): data-র covariance বিশ্লেষণ করে "data-র নিজের basis" বের করা হয়, তারপর \(P^{-1}\) দিয়ে সব point সেই ভাষায় অনুবাদ — jumbled feature আলাদা হয়ে যায়, কম গুরুত্বের দিক ফেলে দিলে dimension reduction।
  • JPEG compression: ছবির pixel block-কে cosine-wave basis-এ (DCT) লিখলে বেশিরভাগ coordinate প্রায় \(0\) — সেগুলো ফেলে দাও, ফাইল ১০ গুণ ছোট। "ভালো চশমায় ছবির বর্ণনা ছোট হয়।"
  • Eigenvector basis (Part VI-এর মূল অস্ত্র): কোনো matrix বারবার গুণ করতে হলে eigenvector-দের basis-এ গেলে সে diagonal হয়ে যায় — গুণ তখন শুধু সংখ্যার power। Fibonacci-র সূত্র থেকে Google PageRank — সব এখানে।
  • Robotics / Computer graphics: রোবটের হাতের নিজস্ব frame, ক্যামেরার frame, world frame — প্রতি মুহূর্তে coordinates এক frame থেকে আরেকটায় অনুবাদ চলে; প্রতিটা অনুবাদই একেকটা change of basis matrix।
  • Machine Learning-এর feature engineering: feature-দের নতুন combination বানানো (whitening, embedding rotation) মানেই ভিন্ন basis-এ data দেখা — model-এর কাজ সহজ হয়ে যায়।

৪. Properties

Property 1: সব basis-এর সাইজ এক (Dimension well-defined)

দাবি: \(S = \{v_1, \ldots, v_n\}\) যদি \(V\)-এর basis হয় আর \(T = \{w_1, \ldots, w_m\}\) যদি independent হয়, তবে \(m \le n\)

যুক্তির কঙ্কাল (exchange argument): \(S\) span করে, তাই \(w_1\)-কে \(v_i\)-দের combination হিসেবে লেখা যায় — অন্তত একটা coefficient অশূন্য, ধরো \(v_1\)-এর। তাহলে \(v_1\)-কে উল্টো করে \(w_1\) আর বাকিদের দিয়ে লেখা যায় — অর্থাৎ দলে \(v_1\)-এর বদলে \(w_1\) ঢুকিয়ে দিলেও (\(S_1 = \{w_1, v_2, \ldots, v_n\}\)) দলটা basis-ই থাকে। এভাবে একে একে বদল করতে থাকো: প্রতি ধাপে একজন \(w\) ঢোকে, একজন \(v\) বেরোয়। যদি \(m > n\) হতো, \(n\) ধাপ পরে সব \(v\) শেষ, দল \(= \{w_1, \ldots, w_n\}\) — সে basis, অথচ \(w_{n+1}\) এখনও বাইরে; basis-এর combination হিসেবে \(w_{n+1}\) লেখা যাবে — \(T\)-এর independence ভেঙে যায়। কাজেই \(m \le n\)\(\blacksquare\)

ফল (corollary): দুটো basis \(S\) (\(n\) জন) আর \(T\) (\(m\) জন) — দুজনেই independent, দুজনেই span করে। উপরের দাবি দুই দিকে খাটাও: \(m \le n\) এবং \(n \le m\), অতএব \(m = n\)Dimension সংজ্ঞা করা বৈধ হলো।

Property 2: \(n\)-মাত্রিক space-এ \(n\)টা সংখ্যাই যথেষ্ট, \(n\)টাই দরকার

\(\dim V = n\) হলে —

  • \(n\)টির বেশি vector সবসময় dependent (Property 1-এর সরাসরি ফল)
  • \(n\)টির কম vector কখনো span করে না
  • ঠিক \(n\)টা independent vector? আপনা-আপনি basis! (Span আলাদা করে চেক করতে হয় না — Problems 5-এ প্রমাণ করবে)
  • ঠিক \(n\)টা spanning vector? সেটাও আপনা-আপনি basis।

অর্থাৎ সংখ্যা মিললে দুই শর্তের একটা চেক করলেই অন্যটা ফ্রি — বিরাট সাশ্রয়।

Property 3: Subspace-এর dimension ছোট বা সমান

\(U \subseteq V\) subspace হলে \(\dim U \le \dim V\); আর \(\dim U = \dim V\) হলে \(U = V\)-ই। (\(U\)-এর basis \(V\)-তেও independent, তাই Property 1 মতে সদস্য \(\le n\); সমান হলে সেই basis \(V\)-কেও span করে।) \(R^3\)-এর ছবিতে: line (\(1\)) \(<\) plane (\(2\)) \(<\) পুরো space (\(3\)) — ঠিক যেমনটা দেখে এসেছি।

Property 4: Change of basis matrix সবসময় invertible — আর উল্টোটাও সত্য

\(P\)-এর column-রা basis \(\Rightarrow\) independent \(\Rightarrow\) \(\det P \ne 0\)। উল্টোদিকে, যেকোনো invertible \(n \times n\) matrix-ই কোনো না কোনো change of basis matrix — তার column-গুলোকে নতুন basis ধরে নিলেই হলো। "Invertible matrix" আর "চশমা বদল" আসলে একই জিনিসের দুই নাম।

Property 5: দুই ধাপের অনুবাদ-যন্ত্র

P আর P^{-1}-এর দুইমুখী যন্ত্র

অনুবাদ-যন্ত্রটা দুইমুখী: \(B\)-ভাষা থেকে standard-এ যেতে \(P\) দিয়ে গুণ, ফিরতে \(P^{-1}\)। Column-এর নিয়মটাই সব: \(P\)-এর column = নতুন basis vector-দের পুরনো ভাষায় চেহারা।**

আর ধারাবাহিক বদল? \(B \to B' \to B''\) দুই ধাপে গেলে matrix-রা গুণ হয়ে যায় — অনুবাদের পর অনুবাদ মানে যন্ত্রের composition। Part III-এর "matrix গুণ = কাজের পর কাজ" এখানে আবার দেখা দিল।


৫. Intuition — কেন সত্য?

সব basis-এ সদস্যসংখ্যা এক কেন — এক মিনিটের গল্পে। ভাবো তোমার কাছে \(n\) জন কর্মীর একটা দল আছে যারা মিলে পুরো space চালায় (basis \(S\))। নতুন এক দল আসছে (independent দল \(T\))। নতুন প্রত্যেক কর্মী ঢোকার সময় পুরনো একজনকে অবসরে পাঠানো যায় — কারণ নতুনজনের কাজ পুরনোদের combination দিয়ে হতো, তাই কাউকে না কাউকে সে পুরোপুরি replace করতে পারে। এক ঢোকে, এক বেরোয় — দলের সাইজ কখনো বাড়ে না। তাহলে independent দল কখনো basis-এর চেয়ে বড় হতে পারে না; আর দুটো basis পরস্পরের চেয়ে বড় হতে না পারলে তারা সমান। Dimension তাই space-এর নিজস্ব সম্পত্তি — কে মাপছে তার ওপর নির্ভর করে না।

\(P^{-1}\)-এ ভয় কেন পাবে না। অনেকের change of basis-এ একটাই আতঙ্ক: "কখন \(P\) আর কখন \(P^{-1}\)?" মুখস্থের বদলে একটা প্রশ্ন করো: আমার হাতের সংখ্যাগুলো কোন ভাষায়, আর আমি কোন ভাষায় যেতে চাই? \(P\)-এর ভেতরে বসে আছে \(b_i\)-দের standard-ভাষার বর্ণনা — তাই \(P\)-এর output সবসময় standard ভাষায়। হাতে \([v]_B\) থাকলে \(P\) মারো, হাতে \(v_{std}\) থাকলে \(P^{-1}\)। ব্যাকরণ মনে রাখার দরকার নেই — শুধু দেখো তীরটা কোন দিকে।

গভীর কথাটা (3Blue1Brown-এর ভঙ্গিতে): গণিতে যা "আসল", তা ভাষা-নিরপেক্ষ — vector, linear map, subspace। যা "বর্ণনা", তা ভাষা-সাপেক্ষ — coordinates, matrix-এর entries। Change of basis হলো এই দুই স্তরের মাঝের সিঁড়ি। আর সিঁড়িটা এত গুরুত্বপূর্ণ কারণ প্রকৃতির প্রশ্ন আসে এক ভাষায়, কিন্তু উত্তর সহজ হয় আরেক ভাষায়। Data আসে sensor-এর ভাষায় — উত্তর সহজ PCA-র ভাষায়। ছবি আসে pixel-এর ভাষায় — compression সহজ cosine-এর ভাষায়। পরের chapter-গুলোতে দেখবে: matrix-রাও চশমা বদলায় (\(P^{-1}MP\)) — আর সঠিক চশমায় ভয়ঙ্কর matrix-ও diagonal-এর মতো নিরীহ হয়ে যায়।


৬. Code-এ কেমনে লিখে

Change of basis-এর পুরো চক্র — যাওয়া, ফেরা, আর দুই non-standard basis-এর মধ্যে লাফ:

import numpy as np

np.random.seed(42)

# ---- নতুন basis B: columns হিসেবে সাজাই ----
b1 = np.array([2.0, 1.0])
b2 = np.array([-1.0, 1.0])
P = np.column_stack([b1, b2])          # change of basis matrix
print("det(P) =", np.linalg.det(P))    # 3.0 != 0 -> সত্যিই basis

# ---- Standard -> B: P^{-1} দিয়ে ----
v_std = np.array([1.0, 3.0])
v_B = np.linalg.solve(P, v_std)        # [v]_B = P^{-1} v_std
print("[v]_B =", v_B)                  # [0.8, 0.6] নয় — দেখো output!

# ---- B -> Standard: P দিয়ে (ফেরার পথ) ----
back = P @ v_B
print("P @ [v]_B =", back)             # আবার [1, 3] — অনুবাদে তথ্য হারায় না

# ---- দুই non-standard basis-এর মধ্যে: B -> B' ----
Pp = np.column_stack([[1.0, 1.0], [1.0, -1.0]])   # basis B'
v_Bp = np.linalg.solve(Pp, P @ v_B)    # আগে standard-এ, তারপর B'-তে
print("[v]_B' =", v_Bp)

# ---- যাচাই: তিন ভাষার তিন ঠিকানা, কিন্তু vector একটাই ----
print("B'-থেকে ফিরে:", Pp @ v_Bp)      # আবার [1, 3]

Output:

det(P) = 3.0000000000000004
[v]_B = [1.33333333 1.66666667]
P @ [v]_B = [1. 3.]
[v]_B' = [2. -1.]
B'-থেকে ফিরে: [1. 3.]

ব্যাখ্যা: একই vector-এর তিনটা নাম পেলাম — standard-এ \((1, 3)\), \(B\)-তে \((\frac{4}{3}, \frac{5}{3})\), \(B'\)-তে \((2, -1)\)। প্রতিবার ফেরত এসে \((1,3)\)-ই মিলছে — অনুবাদ lossless। লক্ষ করো np.linalg.solve(P, v) লিখেছি, np.linalg.inv(P) @ v নয় — এক system solve করা inverse বানানোর চেয়ে দ্রুত ও নিখুঁত (Part II-এর শিক্ষা)।


৭. Worked Examples

Example 1: Subspace-এর dimension বের করা

\(U = \{(x, y, z, w) \in R^4 : x + y - z = 0,\; w = 2x\}\)-এর dimension কত?

ধাপ ১: শর্ত solve করো — \(z = x + y\), \(w = 2x\); free variable: \(x, y\)

ধাপ ২: সাধারণ সদস্য লেখো:

\[(x,\; y,\; x + y,\; 2x) = x(1, 0, 1, 2) + y(0, 1, 1, 0).\]

ধাপ ৩: প্রস্তাবিত basis \(\{(1,0,1,2), (0,1,1,0)\}\) — independence: প্রথম component দেয় \(c_1 = 0\), দ্বিতীয়টা \(c_2 = 0\)

উত্তর: \(\dim U = 2\)\(R^4\)-এর ভেতরে একটা "plane"। নিয়মটা মনে রাখো: dimension = free variable-এর সংখ্যা। Part II-এর solution set-এর গল্পটাই আজকের ভাষায়।

Example 2: Change of basis matrix বানানো ও ব্যবহার

Basis \(B = ((1, 1), (1, -1))\)। (ক) \(v_{std} = (5, 1)\)-এর \([v]_B\)? (খ) \([w]_B = (2, 3)\) হলে \(w_{std}\)?

ধাপ ১ (\(P\) বানাও): \(P = \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}\), \(\det P = -2 \ne 0\)

ধাপ ২ (ক — standard থেকে \(B\)-তে, তাই \(P^{-1}\)):

\[P^{-1} = \frac{1}{-2}\begin{pmatrix} -1 & -1 \\ -1 & 1 \end{pmatrix} = \begin{pmatrix} 1/2 & 1/2 \\ 1/2 & -1/2 \end{pmatrix}, \qquad [v]_B = P^{-1}\begin{pmatrix} 5 \\ 1 \end{pmatrix} = \begin{pmatrix} 3 \\ 2 \end{pmatrix}.\]

যাচাই: \(3(1,1) + 2(1,-1) = (5, 1)\) ✓ (Chapter 4.3-এর Example 1-এর সাথে মিলে গেল!)

ধাপ ৩ (খ — \(B\) থেকে standard-এ, তাই \(P\)):

\[w_{std} = P \begin{pmatrix} 2 \\ 3 \end{pmatrix} = \begin{pmatrix} 2 + 3 \\ 2 - 3 \end{pmatrix} = \begin{pmatrix} 5 \\ -1 \end{pmatrix}.\]

দুই দিকের অসমতা আবার দেখো: এক দিক সোজা গুণ, অন্য দিক inverse (মানে system solve)।

Example 3: Polynomial জগতে change of basis

\(P_1\)-এর দুই basis: পুরনো \(S = (1, t)\), নতুন \(S' = (1 + t,\; 1 - t)\)। Change of basis matrix \(P\) বের করো, আর তা দিয়ে \(p(t) = 3 + 5t\)-এর \([p]_{S'}\) হিসাব করো।

ধাপ ১ (column-এর নিয়ম): নতুন basis vector-দের পুরনো ভাষায় লেখো:

\[1 + t = 1\cdot(1) + 1\cdot(t) \Rightarrow \begin{pmatrix}1\\1\end{pmatrix}, \qquad 1 - t = 1\cdot(1) + (-1)\cdot(t) \Rightarrow \begin{pmatrix}1\\-1\end{pmatrix}.\]

কাজেই \(P = \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}\)

ধাপ ২: \([p]_S = (3, 5)\) (কারণ \(p = 3 \cdot 1 + 5 \cdot t\))। নতুন ভাষায়:

\[[p]_{S'} = P^{-1}[p]_S = \begin{pmatrix} 1/2 & 1/2 \\ 1/2 & -1/2 \end{pmatrix}\begin{pmatrix} 3 \\ 5 \end{pmatrix} = \begin{pmatrix} 4 \\ -1 \end{pmatrix}.\]

যাচাই: \(4(1 + t) - 1(1 - t) = 3 + 5t\) ✓ — Chapter 4.3-এর Problem 3-এ হাতে-কলমে যা করেছিলে, আজ সেটা এক matrix গুণে নেমে এলো। Polynomial-এও একই যন্ত্র খাটে — abstract হোক বা concrete, চশমা বদলের ব্যাকরণ এক।


৮. Problems ও Solutions

Problem 1. নিচের প্রতিটির dimension বের করো (basis-সহ): (ক) \(U_1 = \{(x, y, z) : x = y = z\} \subset R^3\) (খ) \(U_2 = \{(x, y, z) : x + y + z = 0\} \subset R^3\) (গ) \(U_3 = \{p \in P_2 : p(0) = 0\}\)

Solution

(ক) সাধারণ সদস্য \((t, t, t) = t(1,1,1)\) — basis \(\{(1,1,1)\}\), \(\dim U_1 = 1\) (একটা line)।

(খ) \(x = -y - z\), free variable \(y, z\): সদস্য \(= y(-1,1,0) + z(-1,0,1)\) — basis \(\{(-1,1,0), (-1,0,1)\}\), \(\dim U_2 = 2\) (একটা plane)।

(গ) \(p(t) = a_0 + a_1 t + a_2 t^2\), শর্ত \(p(0) = a_0 = 0\) — সদস্য \(= a_1 t + a_2 t^2\), basis \(\{t, t^2\}\), \(\dim U_3 = 2\)

তিনটাতেই একই ছন্দ: শর্ত solve → free variable গোনো → free variable-প্রতি একটা basis vector। বোনাস লক্ষ্য: (ক) + (খ)-এর dimension \(= 1 + 2 = 3 = \dim R^3\) — কাকতালীয় নয়, পরের chapter-এ (rank–nullity) এমন যোগফলের রহস্য খুলবে।

Problem 2. \(B = ((2, 1), (1, 1))\) basis-এর জন্য change of basis matrix \(P\) লেখো। তারপর (ক) \(v_{std} = (7, 4)\)-এর \([v]_B\) এবং (খ) \([u]_B = (-1, 2)\)-এর \(u_{std}\) বের করো।

Solution

\(P = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}\), \(\det P = 1 \ne 0\)

(ক) \(P^{-1} = \begin{pmatrix} 1 & -1 \\ -1 & 2 \end{pmatrix}\) (det \(=1\) বলে সহজ), তাই

\[[v]_B = \begin{pmatrix} 1 & -1 \\ -1 & 2 \end{pmatrix}\begin{pmatrix} 7 \\ 4 \end{pmatrix} = \begin{pmatrix} 3 \\ 1 \end{pmatrix}.\]

যাচাই: \(3(2,1) + 1(1,1) = (7, 4)\)

(খ) \(u_{std} = P\begin{pmatrix} -1 \\ 2 \end{pmatrix} = \begin{pmatrix} -2 + 2 \\ -1 + 2 \end{pmatrix} = \begin{pmatrix} 0 \\ 1 \end{pmatrix}.\) অর্থাৎ \(B\)-ভাষার \((-1, 2)\) আসলে standard-এর \(e_2\)! এক vector, দুই নাম — এতক্ষণে এটা reflex হয়ে যাওয়ার কথা।

Problem 3. সত্য/মিথ্যা (যুক্তিসহ): (ক) "\(R^5\)-এ ৬টা vector সবসময় dependent।" (খ) "\(R^5\)-এ ৪টা independent vector-এর দল সবসময় \(R^5\) span করে।" (গ) "\(\dim U = \dim V\) এবং \(U \subseteq V\) হলে \(U = V\)।"

Solution

(ক) সত্য। \(\dim R^5 = 5\); Property 2 মতে \(5\)-এর বেশি vector independent হতে পারে না — exchange argument-এ জায়গা নেই।

(খ) মিথ্যা। \(4 < 5\) — span করতে ন্যূনতম \(5\)টা লাগবেই। Independent হওয়া শুধু "ফালতু কেউ নেই" নিশ্চিত করে, "সবখানে পৌঁছানো যায়" নয়। উদাহরণ: \(\{e_1, e_2, e_3, e_4\}\) independent, কিন্তু \(e_5\)-এ পৌঁছায় না।

(গ) সত্য। \(U\)-এর একটা basis নাও — \(V\)-তেও সে independent এবং সদস্যসংখ্যা \(= \dim V\); Property 2-এর "ঠিক \(n\)টা independent = basis" নিয়মে সে \(V\)-এরও basis, তাই \(U = \operatorname{span}(\text{basis}) = V\)Dimension-এ সমান + ভেতরে থাকা = পুরোটাই।

Problem 4. \(M_{2\times 2}\) (সব \(2\times 2\) matrix)-এর একটি basis লিখে দেখাও \(\dim M_{2\times 2} = 4\)। তারপর symmetric matrix-দের subspace \(S\) (Chapter 4.1, Problem 6)-এর dimension বের করো।

Solution

Basis: \(E_{11} = \begin{pmatrix}1&0\\0&0\end{pmatrix}, E_{12} = \begin{pmatrix}0&1\\0&0\end{pmatrix}, E_{21} = \begin{pmatrix}0&0\\1&0\end{pmatrix}, E_{22} = \begin{pmatrix}0&0\\0&1\end{pmatrix}\)। Span: \(\begin{pmatrix}a&b\\c&d\end{pmatrix} = aE_{11} + bE_{12} + cE_{21} + dE_{22}\) ✓; Independence: combination শূন্য মানে প্রতি ঘর শূন্য, মানে সব coefficient শূন্য ✓। কাজেই \(\dim M_{2\times2} = 4\) — matrix-রাও আসলে "\(R^4\)-এর ছদ্মবেশ"।

Symmetric: \(A^T = A\) মানে \(b = c\): সদস্য \(\begin{pmatrix}a&b\\b&d\end{pmatrix} = aE_{11} + b(E_{12} + E_{21}) + dE_{22}\) — basis \(\{E_{11},\; E_{12} + E_{21},\; E_{22}\}\), \(\dim S = 3\)। শর্ত একটা (\(b = c\)), dimension কমলো একটা — প্রতিটা স্বাধীন linear শর্ত এক মাত্রা করে "খায়"।

Problem 5 (Property 2-এর প্রমাণ). \(\dim V = n\) এবং \(T = \{w_1, \ldots, w_n\}\) independent হলে প্রমাণ করো \(T\) একটি basis (অর্থাৎ span আপনিই চলে আসে)।

Solution

দেখাতে হবে \(\operatorname{span}(T) = V\)। ধরো না — অর্থাৎ এমন \(u \in V\) আছে যে \(u \notin \operatorname{span}(T)\)। তাহলে \(\{w_1, \ldots, w_n, u\}\) independent: কারণ \(c_1 w_1 + \cdots + c_n w_n + c\,u = 0\)-তে \(c \ne 0\) হলে \(u\)-কে \(w_i\)-দের combination হিসেবে লেখা যেত (\(u \notin \operatorname{span} T\)-এর বিরোধিতা), আর \(c = 0\) হলে \(T\)-এর independence-এ বাকিরা শূন্য। কিন্তু এখন \(V\)-তে \(n + 1\)টা independent vector পেয়ে গেলাম — Property 1 বলে independent দল basis-এর (\(n\) জনের) চেয়ে বড় হতে পারে না। বিরোধ! কাজেই \(\operatorname{span}(T) = V\), আর \(T\) basis। \(\blacksquare\) ব্যবহারিক মানে: \(R^n\)-এ \(n\)টা vector হাতে পেলে শুধু \(\det \ne 0\) চেক করো — দুই শর্তই এক চেকে মিটে যায়।

Problem 6. \(B = ((1, 2), (3, 1))\) এবং \(B' = ((1, 1), (1, -1))\) — দুটোই \(R^2\)-এর basis। \([v]_B = (2, 1)\) জানা থাকলে \([v]_{B'}\) বের করো (standard হয়ে ঘুরে যাও)।

Solution

ধাপ ১ (\(B\) → standard): \(P = \begin{pmatrix} 1 & 3 \\ 2 & 1 \end{pmatrix}\), তাই

\[v_{std} = P\begin{pmatrix} 2 \\ 1 \end{pmatrix} = \begin{pmatrix} 2 + 3 \\ 4 + 1 \end{pmatrix} = \begin{pmatrix} 5 \\ 5 \end{pmatrix}.\]

ধাপ ২ (standard → \(B'\)): \(P' = \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}\), \(P'^{-1} = \begin{pmatrix} 1/2 & 1/2 \\ 1/2 & -1/2 \end{pmatrix}\):

\[[v]_{B'} = P'^{-1}\begin{pmatrix} 5 \\ 5 \end{pmatrix} = \begin{pmatrix} 5 \\ 0 \end{pmatrix}.\]

যাচাই: \(5(1,1) + 0(1,-1) = (5,5)\) ✓। পুরো যাত্রা এক সূত্রে: \([v]_{B'} = P'^{-1} P\, [v]_B\) — দুই টিকিটের এক journey। মজার bonus: \(v\) ঘটনাচক্রে \(B'\)-এর প্রথম vector-এর সরল গুণিতক, তাই দ্বিতীয় coordinate \(0\)

Problem 7 (challenge). \(P_2\)-তে "shifted basis" \(S' = (1,\; t - 1,\; (t-1)^2)\) নাও (পুরনো basis \(S = (1, t, t^2)\))। (ক) Change of basis matrix \(P\) লেখো। (খ) \(p(t) = t^2\)-এর \([p]_{S'}\) matrix দিয়ে বের করো আর বীজগণিতে যাচাই করো।

Solution

(ক) নতুনদের পুরনো ভাষায় লেখো (column-এর নিয়ম):

\[1 \mapsto (1, 0, 0), \quad t - 1 \mapsto (-1, 1, 0), \quad (t-1)^2 = t^2 - 2t + 1 \mapsto (1, -2, 1).\]
\[P = \begin{pmatrix} 1 & -1 & 1 \\ 0 & 1 & -2 \\ 0 & 0 & 1 \end{pmatrix}.\]

(খ) \([p]_S = (0, 0, 1)\)। চাই \([p]_{S'} = P^{-1}(0,0,1)^T\) — মানে solve করো \(P c = (0, 0, 1)^T\)। Upper-triangular বলে নিচ থেকে: \(c_3 = 1\); \(c_2 - 2c_3 = 0 \Rightarrow c_2 = 2\); \(c_1 - c_2 + c_3 = 0 \Rightarrow c_1 = 1\)। কাজেই \([p]_{S'} = (1, 2, 1)\)যাচাই: \(1 + 2(t - 1) + (t - 1)^2 = 1 + 2t - 2 + t^2 - 2t + 1 = t^2\) ✓ লক্ষ করো — এটা আসলে Taylor expansion: \(t^2\)-কে \(t = 1\)-এর চারপাশে লেখা (\(p(1) = 1\), \(p'(1) = 2\), \(\frac{p''(1)}{2} = 1\))। Calculus-এর Taylor series = linear algebra-র change of basis — দুই মহাদেশ এক সেতুতে বাঁধা পড়ল।


৯. Common ভুল

❌ ভুল ধারণা ✅ ঠিক ধারণা
"Dimension মানে vector-এর component-সংখ্যা" Component-সংখ্যা বলে vector কোথায় বাস করে (\(R^3\)); dimension বলে subspace-টা কত বড়\(R^3\)-এর plane-এর সদস্যদের component ৩টা, কিন্তু dimension ২
"\(P_n\)-এর dimension \(n\)" \(\dim P_n = n + 1\) — constant \(1\)-ও একটা basis vector; ডিগ্রি আর dimension এক নয়
"Basis বদলালে vector-ও বদলে যায়" Vector অপরিবর্তিত; বদলায় শুধু coordinates — চশমা বদলালে দৃশ্য বদলায় না, দৃশ্যের বর্ণনা বদলায়
"\([v]_B\) পেতে \(P\) দিয়ে গুণ করব" উল্টো! \(P\) নিয়ে যায় \(B\)-ভাষা → standard; \([v]_B\) পেতে লাগবে \(P^{-1}v\) — দিক ঠিক করতে দেখো সংখ্যাগুলো এখন কোন ভাষায় আছে
"\(n\)টা vector দিলেই basis, dependent কি না দেখার দরকার নেই" সংখ্যা ঠিক হওয়া দরকারি কিন্তু যথেষ্ট নয় — \(\det P \ne 0\) (independence) চেক লাগবেই; সংখ্যা মিললে একটা শর্তই যথেষ্ট, শূন্যটা নয়

১০. এক নজরে

ধারণা এক লাইনে
Dimension যেকোনো basis-এর সদস্যসংখ্যা — সব basis-এ একই, তাই space-এর নিজস্ব পরিচয়
কেন well-defined Exchange argument: independent দল কখনো basis-এর চেয়ে বড় নয়
দ্রুত হিসাব Subspace-এর dimension = শর্ত solve করার পর free variable-এর সংখ্যা
Change of basis matrix \(P = (b_1 \cdots b_n)\) — column-এ নতুন basis-এর পুরনো-ভাষার রূপ
অনুবাদের দিক \(v_{std} = P[v]_B\) (নতুন→পুরনো); \([v]_B = P^{-1}v_{std}\) (পুরনো→নতুন)
\(B \to B'\) \([v]_{B'} = P'^{-1}P\,[v]_B\) — standard-কে transit বানাও
কেন দরকার সঠিক basis-এ data/ছবি/matrix সরল হয় — PCA, JPEG, diagonalization

পরের chapter-এর সেতু: এতক্ষণ vector-দের চশমা বদলালাম — কিন্তু vector-রা তো শুধু বসে থাকে না, matrix তাদের এক জায়গা থেকে আরেক জায়গায় পাঠায়। একটা linear map ঠিক কাদের শূন্যে পাঠিয়ে দেয় (kernel)? আর কোথায় কোথায় পৌঁছাতে পারে (range)? দুটোর dimension যোগ করলে বেরোয় linear algebra-র সবচেয়ে সুন্দর হিসাবরক্ষার সূত্র — Rank–Nullity Theorem। Chapter 4.5-এ চলো।

📓 Notebook Project

notebooks/part-04/ch04-project.ipynb — এই Part-এর flagship project: change of basis দিয়ে একটা আস্ত ছবির coordinate বদলাবে — scratch-এ অনুবাদ-যন্ত্র বানিয়ে ছবির প্রতিটি বিন্দুকে নতুন basis-এর ভাষায় লিখবে, বাঁকা গ্রিডে আঁকবে, আর PCA-র মতো "data-র পছন্দের চশমা" নিজে খুঁজে বের করবে।