Chapter 3.4 — Inverse Matrix (উল্টো matrix: "undo" বোতাম)¶
🎯 এই chapter-এ যা শিখবে¶
- Inverse matrix(বিপরীত ম্যাট্রিক্স) \(A^{-1}\) মানে কি — transformation-এর undo বোতাম, Ctrl+Z
- কোন matrix-এর undo আছে (invertible) আর কার চিরতরে নেই (singular) — এবং হারানোর গল্পটা ছবিতে
- \(2\times2\) matrix-এর inverse-এর পকেট-সূত্র: adbc-নাচ — আর সূত্রটার প্রতিটা অঙ্গের মানে
- বড় matrix-এর inverse বের করার সাধারণ পদ্ধতি: Gauss-Jordan elimination — Part II-এর পুরনো অস্ত্র নতুন কাজে
- \(A\mathbf{x} = \mathbf{b}\)-র সমাধান \(\mathbf{x} = A^{-1}\mathbf{b}\) — এবং কেন বাস্তব কোডে তবু
invনয়,solveলিখবে
🖼️ এক ছবিতে মূল idea¶

বাঁয়ে অক্ষত গ্রিড। মাঝে: shear matrix \(A\) চাপা হলো — গ্রিড হেলে গেল। ডানে: \(A^{-1}\) চাপা হলো — সবকিছু হুবহু আগের জায়গায়! \(A^{-1}A = I\) মানে "করো, তারপর undo করো = কিছুই কোরো না।" এই chapter-এর প্রশ্ন: এমন undo বোতাম কখন বানানো সম্ভব?
১. কি? (What)¶
দৈনন্দিন analogy: লেখালেখির সময় ভুল হলে কি করো? Ctrl+Z — undo। জুতোর ফিতে বেঁধেছ? খুলে ফেলা যায়। দরজা তালা দিয়েছ? চাবি ঘুরিয়ে খোলা যায়। প্রতিটা "কাজ"-এর পাশে একটা "উল্টো কাজ" — যেটা করলে সব আগের অবস্থায় ফেরে।
আগের chapter-এ শিখেছ matrix মানে transformation, আর দুটো transformation পরপর চালানো মানে multiplication। তাহলে স্বাভাবিক প্রশ্ন: \(A\) চালিয়ে ফেলেছি — এমন কোনো matrix \(B\) আছে কি, যেটা চালালে সবাই নিজের আগের জায়গায় ফিরে যায়?
"সবাই আগের জায়গায় ফিরে যায়" মানে মোট প্রভাবটা হলো "কিছুই কোরো না" — অর্থাৎ identity matrix \(I\) (যার column-রা \(\mathbf{e}_1, \mathbf{e}_2\) নিজেরাই; কাউকে নাড়ায় না)। তাহলে সংজ্ঞাটা নিজে থেকেই লেখা হয়ে যায়:
সংজ্ঞা: Square matrix \(A\)-এর inverse(বিপরীত) হলো সেই matrix \(A^{-1}\), যার জন্য
এমন \(A^{-1}\) থাকলে \(A\)-কে বলে invertible(বিপরীতযোগ্য) বা non-singular; না থাকলে singular(অবিপরীতযোগ্য)।
দুটো শর্তের মানে composition-এর ভাষায় পড়ো: \(A^{-1}A = I\) মানে "আগে \(A\), পরে \(A^{-1}\)" = কিছুই না — অর্থাৎ \(A^{-1}\) হলো \(A\)-র undo। আর \(AA^{-1} = I\) মানে উল্টো ক্রমেও তাই — \(A\)-ও আবার \(A^{-1}\)-এর undo। Undo-র undo = আসল কাজটাই।
সংখ্যার জগতে এর চেনা ভাই আছে: \(5\)-এর inverse \(\frac{1}{5}\), কারণ \(5 \times \frac15 = 1\) — এখানে \(1\)-এর ভূমিকাটাই matrix-জগতে \(I\)-এর। আর সংখ্যাতেও একজন singular সদস্য আছে: \(0\), যার কোনো reciprocal নেই। Matrix-জগতে দেখবে singular-রা একটা গোটা পরিবার — আর তাদের সবার রোগ একটাই।
একটা লক্ষণীয় কথা: inverse-এর প্রশ্ন শুধু square matrix-এর জন্যই তোলা যায়। \(3\times2\) matrix plane-কে space-এ পাঠায় — ফেরার পথ পুরো space জুড়ে সংজ্ঞায়িত করতে গেলেই হিসাব মেলে না (Part IV-এ এর সূক্ষ্ম গল্প)। এই chapter-এ সবাই square।
২. দেখতে কেমন?¶
Invertible আর singular-এর পার্থক্যটা চোখে দেখা যায় — আর একবার দেখলে ভোলা কঠিন।

বাঁয়ে: দুটো সম্পূর্ণ ভিন্ন vector — \(\mathbf{u} = (1,1)\) আর \(\mathbf{w} = (-1, 2)\)। ডানে: singular matrix \(M = \begin{bmatrix}1 & 2\\ 0.5 & 1\end{bmatrix}\) চালানোর পর পুরো plane চুপসে গেছে একটা লাইনে, আর \(\mathbf{u}\) ও \(\mathbf{w}\) দুজনেই গিয়ে নেমেছে একই বিন্দুতে \((3, 1.5)\)! এখন উল্টো হাঁটতে চাইলে \((3, 1.5)\) থেকে কোথায় ফিরব — \(\mathbf{u}\)-তে না \(\mathbf{w}\)-তে? উত্তর দেওয়া অসম্ভব। তথ্য হারিয়ে গেছে, undo বোতাম বানানোর কাঁচামালই নেই।
Chapter 3.2-এর projection মনে আছে? সে-ও ঠিক এই কাজ করত — \((3,5)\) আর \((3,-100)\) দুজনকেই \((3,0)\)-তে নামাত। Projection ছিল singular পরিবারের প্রথম সদস্য, যার সাথে তোমার দেখা হয়েছিল। রোগটা এক: আলাদা input → একই output। এমন হলে ফেরার রাস্তা কোনোদিন বানানো যায় না — কোনো চালাকিতেই না।

চটজলদি test: unit square-টা কোথায় গেল দেখো। বাঁয়ে invertible \(A\) — square হয়েছে মোটাসোটা parallelogram, area \(2.5\); ভেতরে জায়গা আছে, কিছু হারায়নি। ডানে singular \(M\) — column দুটো একই লাইনে শুয়ে পড়েছে (\(\text{col}_2 = 2\,\text{col}_1\)), parallelogram চ্যাপ্টা হয়ে area \(0\)। Area শূন্য মানেই singular — এই area-factor-এর নামই determinant, Part VI-এর নায়ক; আজ শুধু চোখের test হিসেবে ব্যবহার করব।
৩. কোথায় ইউজ হয়?¶
- Equation solve করা — সবচেয়ে বড় ব্যবহার: \(A\mathbf{x} = \mathbf{b}\) মানে "অজানা \(\mathbf{x}\)-কে \(A\) transform করে \(\mathbf{b}\) বানিয়েছে।" দুই পাশে undo চাপো: \(\mathbf{x} = A^{-1}\mathbf{b}\)। Part II-তে যে system-গুলো elimination দিয়ে solve করেছিলে, inverse হলো তারই "সব সমস্যার এক ওষুধ" রূপ।
- Computer graphics: ক্যামেরা দৃশ্যকে transform করে স্ক্রিনে ফেলে (\(V\)); মাউস দিয়ে স্ক্রিনে ক্লিক করলে গেম-ইঞ্জিনকে জানতে হয় 3D জগতের কোন জিনিসে ক্লিক পড়ল — চালাও \(V^{-1}\)।
- Machine Learning: linear regression-এর বিখ্যাত normal equation \(\hat{\boldsymbol\beta} = (X^\top X)^{-1}X^\top \mathbf{y}\) — মাঝখানে জ্বলজ্বল করছে একটা inverse (Part V-এ পুরোটা বানাব)। \(X^\top X\) singular হয়ে গেলে (feature-রা পরস্পরের কপি হলে) regression ভেঙে পড়ে — এখনকার ছবিটাই তখন কাজে দেবে।
- Cryptography: Hill cipher-এ message-কে matrix দিয়ে গুণ করে জট পাকানো হয়; প্রাপক \(A^{-1}\) দিয়ে খোলে। Singular matrix দিয়ে encrypt করলে প্রাপকও আর খুলতে পারবে না — তথ্য সত্যিই ধ্বংস!
- Robotics/engineering: "হাত ওই বিন্দুতে নিতে জয়েন্টগুলো কত ঘোরাব" — forward হিসাবের উল্টোযাত্রা, inverse kinematics; গোড়ায় matrix inverse।
৪. Properties¶
৪.১ Inverse একটাই হয়¶
\(A\)-র দুটো inverse \(B\) আর \(C\) থাকলে দুটো একই হতে বাধ্য — দুই লাইনের মজার প্রমাণ:
মাঝের ধাপটা associativity — আগের chapter-এর সেই "বিনামূল্যের" property এখানেই প্রথম বেতন দিল। কাজেই "the inverse" বলা জায়েজ; নামও তাই একটাই: \(A^{-1}\)।
৪.২ \(2\times2\)-এর পকেট-সূত্র¶

সূত্রটার নাচের মুদ্রা তিনটা: (১) \(a\) আর \(d\) জায়গা বদল, (২) \(b\) আর \(c\)-র চিহ্ন উল্টাও, (৩) সব ভাগ করো \(ad - bc\) দিয়ে। আর লাল সতর্কবার্তা: \(ad - bc = 0\) হলে ভাগই অসম্ভব — inverse নেই। এই \(ad-bc\)-ই সেই area-factor (determinant)!
যাচাই করে দেখো (একবার নিজ হাতে গুণটা করো — সূত্রে বিশ্বাস জন্মাবে):
৪.৩ Algebra-র নিয়ম¶
| Property | সূত্র | মনে রাখার গল্প |
|---|---|---|
| Undo-র undo | \((A^{-1})^{-1} = A\) | তালা খোলার undo = আবার তালা দেওয়া |
| Product-এর inverse | \((AB)^{-1} = B^{-1}A^{-1}\) ⚠️ ক্রম উল্টে যায়! | মোজা-জুতা নিয়ম: আগে মোজা (\(B\)) পরে জুতা (\(A\)) পরলে, খোলার সময় আগে জুতা (\(A^{-1}\)) পরে মোজা (\(B^{-1}\)) |
| Power-এর inverse | \((A^n)^{-1} = (A^{-1})^n\) | \(n\) বার করা undo করতে \(n\) বার undo |
| Scalar | \((cA)^{-1} = \frac{1}{c}A^{-1}\) (\(c \ne 0\)) | দ্বিগুণ জোরে করা কাজ undo করতে অর্ধেক জোরে উল্টোটা |
| Identity | \(I^{-1} = I\) | "কিছু না করা"-র undo = কিছু না করা |
মোজা-জুতা নিয়মটার এক লাইনের প্রমাণ — শুধু বসিয়ে দেখো composition ঠিকঠাক কাটে কিনা:
ভেতর থেকে বাইরে, এক জোড়া এক জোড়া করে কাটাকুটি — পেঁয়াজের খোসা ছাড়ানোর মতো।
৪.৪ কে invertible? — এক রোগের অনেক লক্ষণ¶
\(2\times2\) (আসলে \(n\times n\)) matrix \(A\)-এর জন্য নিচের কথাগুলো হয় সব সত্য, নয় সব মিথ্যা — এরা একই রোগের ভিন্ন ভিন্ন লক্ষণ:
- \(A\) invertible (\(A^{-1}\) আছে)।
- Column-রা একই লাইনে শুয়ে পড়েনি (একটা আরেকটার গুণিতক নয়)।
- Unit square-এর area শূন্য হয়নি (\(ad - bc \neq 0\))।
- ভিন্ন ভিন্ন input সবসময় ভিন্ন ভিন্ন output-এ যায় — তথ্য হারায় না।
- প্রতিটা \(\mathbf{b}\)-এর জন্য \(A\mathbf{x} = \mathbf{b}\)-এর ঠিক একটা সমাধান আছে।
এই তালিকাটা Part IV-এ আরো লম্বা হবে (rank, null space...) — কিন্তু কঙ্কালটা এটাই। একটা লক্ষণ ধরতে পারলেই রোগ নির্ণয় শেষ।
৪.৫ চেনা মুখদের inverse¶
- Rotation: \(R_\theta^{-1} = R_{-\theta}\) — \(30°\) ঘোরার undo হলো \(-30°\) ঘোরা। কোনো হিসাবই লাগে না, জ্যামিতিই উত্তর।
- Scaling: \(\begin{bmatrix}a & 0\\ 0 & b\end{bmatrix}^{-1} = \begin{bmatrix}1/a & 0\\ 0 & 1/b\end{bmatrix}\) — দ্বিগুণ টানার undo অর্ধেকে চাপা। কিন্তু \(a\) বা \(b\) শূন্য হলেই সর্বনাশ — সেই অক্ষ চুপসে গেছে, ফেরানো যায় না।
- Shear: \(\begin{bmatrix}1 & k\\ 0 & 1\end{bmatrix}^{-1} = \begin{bmatrix}1 & -k\\ 0 & 1\end{bmatrix}\) — ডানে হেলানোর undo বাঁয়ে হেলানো (opening figure-এর জোড়া)।
- Projection: \(P = \begin{bmatrix}1 & 0\\ 0 & 0\end{bmatrix}\) — \(ad - bc = 0\), singular। যেমনটা আন্দাজ করেছিলে: ছায়া থেকে মানুষ ফেরানো যায় না।
৫. Intuition — কেন সত্য?¶
Singular মানেই undo অসম্ভব — কেন এত নিশ্চিত? Function-এর ভাষায় ভাবো। Undo মানে এমন একটা machine যেটা প্রতিটা output দেখে বলে দেয় "এটা কোন input থেকে এসেছিল।" এই machine বানানো সম্ভব তখনই, যখন প্রতিটা output-এর পেছনে ঠিক একজন input থাকে। Fig02-এ দেখলে: singular \(M\)-এর বেলায় \((3, 1.5)\)-এর পেছনে দাঁড়িয়ে আছে \(\mathbf{u}\) আর \(\mathbf{w}\) দুজনেই (আসলে একটা গোটা লাইনভর্তি ভিড়!)। Undo-machine-কে জিজ্ঞেস করলে সে কাকে ফেরত দেবে? যা-ই দিক, অন্যজনের বেলায় ভুল হবে। তাই এমন machine-এর অস্তিত্বই নেই। লক্ষ করো — এটা "আমরা পদ্ধতি জানি না" জাতীয় অক্ষমতা নয়; এটা নীতিগত অসম্ভবতা, ছায়া মেপে মানুষের উচ্চতা বের করার মতো।
আর invertible হলে undo-টা দেখতে কেমন? \(A\)-র column-রা বলে \(\mathbf{e}_1, \mathbf{e}_2\) কোথায় গেল। Invertible হলে গন্তব্য দুটো ভিন্ন দিকে ছড়ানো (এক লাইনে নয়), তাই তাদের দিয়ে পুরো plane-এর ঠিকানা লেখা যায়। \(A^{-1}\) হলো সেই matrix যে ঠিক উল্টো ডাকপিয়নের কাজ করে: \(A\mathbf{e}_1\)-কে ফেরত পাঠায় \(\mathbf{e}_1\)-এ, \(A\mathbf{e}_2\)-কে \(\mathbf{e}_2\)-এ। গোটা গ্রিড তখন সুড়সুড় করে বাড়ি ফেরে — fig01-এর তৃতীয় প্যানেল।
\(\mathbf{x} = A^{-1}\mathbf{b}\) — জ্যামিতিতে:

বাঁয়ে: invertible \(A\)-র বেলায় \(\mathbf{b} = (3,2)\) যেখানেই থাকুক, "কোন \(\mathbf{x}\) transform হয়ে \(\mathbf{b}\) হলো" প্রশ্নের উত্তর ঠিক একটা — \(\mathbf{x} = A^{-1}\mathbf{b}\)। ডানে: singular \(M\)-এর সব output একটা লাইনে বন্দি; \(\mathbf{b}\) লাইনের বাইরে পড়লে \(M\mathbf{x} = \mathbf{b}\)-এর সমাধান নেই-ই (আর লাইনের ওপরে পড়লে সমাধান অগুনতি — Part II-এর "no solution / infinite solutions" নাটকের জ্যামিতিক মঞ্চ এটাই)।
Gauss-Jordan কেন কাজ করে? Part II-তে elimination শিখেছিলে: row operation চালিয়ে system-কে সরল করা। প্রতিটা row operation নিজেই একটা invertible ছোট্ট transformation। \([\,A \mid I\,]\) পাশাপাশি লিখে যদি এমন operation-এর সিরিজ চালাও যা বাঁ পাশকে \(I\) বানিয়ে দেয়, তাহলে সেই একই সিরিজ ডান পাশের \(I\)-এর ওপরেও চলেছে — আর "যে-কাজগুলো মিলে \(A\)-কে \(I\) বানায়", সেই মোট কাজটাই তো সংজ্ঞামতে \(A^{-1}\)! তাই খেলা শেষে ডান পাশে বসে থাকে \(A^{-1}\):
৬. Code-এ কেমনে লিখে¶
import numpy as np
A = np.array([[1.0, 1.0],
[0.0, 1.0]]) # shear (opening figure-এর A)
A_inv = np.linalg.inv(A)
print(A_inv) # [[ 1. -1.] [ 0. 1.]] -- বাঁয়ে হেলানো!
print(A_inv @ A) # [[1. 0.] [0. 1.]] = I (undo প্রমাণিত)
# undo হাতে-নাতে: একটা vector-কে ঘুরিয়ে আনা
x = np.array([2.0, 1.0])
y = A @ x # কাজ
print(A_inv @ y) # [2. 1.] -- বাড়ি ফিরেছে!
# singular matrix ধরিয়ে দেয় NumPy নিজেই
M = np.array([[1.0, 2.0],
[0.5, 1.0]])
print(np.linalg.det(M)) # 0.0 -- area শূন্য, বিপদসংকেত
try:
np.linalg.inv(M)
except np.linalg.LinAlgError as e:
print("inverse নেই:", e) # Singular matrix
Output ব্যাখ্যা: shear-এর inverse এলো \(k\)-এর চিহ্ন উল্টে — §৪.৫-এর কথা কোডে সত্যি। A_inv @ A দিলো নিখুঁত identity, আর transform-করা vector A_inv চেপে হুবহু বাড়ি ফিরল। শেষে M-এর determinant \(0\) — NumPy LinAlgError: Singular matrix তুলে সাফ জানিয়ে দিল: এর undo হয় না।
# Ax = b সমাধান: inv() নয়, solve() -- পেশাদার অভ্যাস
A = np.array([[2.0, 1.0], [0.5, 1.5]])
b = np.array([3.0, 2.0])
x1 = np.linalg.inv(A) @ b # চলে, কিন্তু ধীর ও কম নিখুঁত
x2 = np.linalg.solve(A, b) # ভেতরে elimination -- দ্রুত ও stable
print(x1, x2) # [1. 1.] [1. 1.] -- উত্তর অবশ্য একই
⚠️ পেশাদার সতর্কতা: কাগজে \(\mathbf{x} = A^{-1}\mathbf{b}\) লেখো প্রাণভরে — বোঝার জন্য ওটাই ঠিক ছবি। কিন্তু কোডে inv(A) @ b নয়, solve(A, b) — কারণ solve ভেতরে elimination চালায় (Gauss-এরই আধুনিক রূপ), যা বড় matrix-এ কয়েকগুণ দ্রুত আর floating-point ভুল কম জমায়। পুরো \(A^{-1}\) দরকার হয় কালেভদ্রে; \(A^{-1}\mathbf{b}\) দরকার হয় রোজ।
৭. Worked Examples¶
Example 1 — পকেট-সূত্রে inverse। \(A = \begin{bmatrix}2 & 1\\ 0.5 & 1.5\end{bmatrix}\)-এর inverse বের করি (fig03/fig04-এর সেই invertible \(A\))।
ধাপ ১ — determinant: \(ad - bc = (2)(1.5) - (1)(0.5) = 3 - 0.5 = 2.5 \neq 0\) — invertible ✓। ধাপ ২ — নাচের মুদ্রা: \(a, d\) অদলবদল; \(b, c\)-র চিহ্ন উল্টাও; \(2.5\) দিয়ে ভাগ:
ধাপ ৩ — যাচাই: \(A^{-1}A = \begin{bmatrix}(0.6)(2)+(-0.4)(0.5) & (0.6)(1)+(-0.4)(1.5)\\ (-0.2)(2)+(0.8)(0.5) & (-0.2)(1)+(0.8)(1.5)\end{bmatrix} = \begin{bmatrix}1 & 0\\ 0 & 1\end{bmatrix}\) ✓
Example 2 — সেই inverse দিয়ে system solve। \(A\mathbf{x} = \mathbf{b}\), যেখানে \(\mathbf{b} = (3, 2)\) (fig04-এর বাঁ প্যানেল)।
ধাপ ১: \(\mathbf{x} = A^{-1}\mathbf{b} = \begin{bmatrix}0.6 & -0.4\\ -0.2 & 0.8\end{bmatrix}\begin{bmatrix}3\\2\end{bmatrix} = \begin{bmatrix}1.8 - 0.8\\ -0.6 + 1.6\end{bmatrix} = \begin{bmatrix}1\\1\end{bmatrix}\) ধাপ ২ — যাচাই: \(A\begin{bmatrix}1\\1\end{bmatrix} = \begin{bmatrix}2+1\\ 0.5+1.5\end{bmatrix} = \begin{bmatrix}3\\2\end{bmatrix}\) ✓। ছবিতে যা দেখেছিলে — \(\mathbf{b}\)-এর পেছনের একমাত্র \(\mathbf{x}\) — সংখ্যায় সেটা \((1,1)\)।
Example 3 — Gauss-Jordan দিয়ে inverse। \(B = \begin{bmatrix}1 & 2\\ 3 & 4\end{bmatrix}\)-এর inverse বের করি \([\,B \mid I\,] \to [\,I \mid B^{-1}\,]\) পথে।
ধাপ ১ — সাজাও:
ধাপ ২ — নিচের ঘর সাফ (\(R_2 \leftarrow R_2 - 3R_1\)):
ধাপ ৩ — pivot-কে \(1\) বানাও (\(R_2 \leftarrow R_2 / (-2)\)):
ধাপ ৪ — উপরের ঘর সাফ (\(R_1 \leftarrow R_1 - 2R_2\)):
যাচাই পকেট-সূত্রে: \(ad-bc = 4 - 6 = -2\); \(\frac{1}{-2}\begin{bmatrix}4 & -2\\ -3 & 1\end{bmatrix} = \begin{bmatrix}-2 & 1\\ 1.5 & -0.5\end{bmatrix}\) ✓ — দুই রাস্তা, এক গন্তব্য। \(3\times3\) বা তার বড় হলে পকেট-সূত্র আর নেই — তখন Gauss-Jordan-ই রাজপথ।
৮. Problems ও Solutions¶
Problem 1. পকেট-সূত্রে \(A = \begin{bmatrix}3 & 1\\ 5 & 2\end{bmatrix}\)-এর inverse বের করো, তারপর \(AA^{-1} = I\) যাচাই করো।
Solution
\(ad - bc = (3)(2) - (1)(5) = 6 - 5 = 1\) — invertible, আর ভাগফলটাও আরামের (\(\div 1\))।
যাচাই:
Problem 2. কোনগুলো singular? Singular হলে column-দের দিকে তাকিয়ে জ্যামিতিক কারণ বলো: (a) \(\begin{bmatrix}2 & 4\\ 1 & 2\end{bmatrix}\) (b) \(\begin{bmatrix}0 & 1\\ 1 & 0\end{bmatrix}\) (c) \(\begin{bmatrix}1 & -1\\ -3 & 3\end{bmatrix}\)
Solution
(a) \(ad-bc = 4 - 4 = 0\) — singular। Column-রা: \((2,1)\) আর \((4,2) = 2(2,1)\) — একই লাইনে; plane চুপসে \(y = x/2\) লাইনে নামে।
(b) \(ad-bc = 0 - 1 = -1 \neq 0\) — invertible। (এটা \(y=x\) reflection; নিজের undo নিজেই: আয়নায় দুইবার তাকালে সব স্বাভাবিক! আসলেই \(\begin{bmatrix}0&1\\1&0\end{bmatrix}^2 = I\)।)
(c) \(ad-bc = 3 - 3 = 0\) — singular। \(\text{col}_2 = (-1, 3) = -1 \times (1, -3) = -\text{col}_1\) — আবারও এক লাইনে বন্দি দুই column।
নীতিটা দাঁড়াল: \(2\times2\)-এ singular = "দ্বিতীয় column প্রথমটার গুণিতক" = দুই গন্তব্য এক লাইনে = plane চ্যাপ্টা।
Problem 3. সূত্র দিয়ে দেখাও \(R_\theta^{-1} = R_{-\theta}\), তারপর \(\theta = 90°\) বসিয়ে সংখ্যায় মিলিয়ে দেখো।
Solution
\(R_\theta = \begin{bmatrix}\cos\theta & -\sin\theta\\ \sin\theta & \cos\theta\end{bmatrix}\)-তে \(a = d = \cos\theta\), \(b = -\sin\theta\), \(c = \sin\theta\)।
Determinant: \(\cos^2\theta - (-\sin\theta)(\sin\theta) = \cos^2\theta + \sin^2\theta = 1\) — rotation সবসময় invertible (area কখনো নষ্ট করে না)।
আর \(\cos(-\theta) = \cos\theta\), \(\sin(-\theta) = -\sin\theta\) বসালে \(R_{-\theta}\)-ও ঠিক এটাই ✓। জ্যামিতি ("উল্টো দিকে ঘোরো") আর algebra হাত মেলাল।
\(\theta = 90°\): \(R_{90°} = \begin{bmatrix}0 & -1\\ 1 & 0\end{bmatrix}\), সূত্রমতে inverse \(= \begin{bmatrix}0 & 1\\ -1 & 0\end{bmatrix}\)। গুণ করো: \(\begin{bmatrix}0 & -1\\ 1 & 0\end{bmatrix}\begin{bmatrix}0 & 1\\ -1 & 0\end{bmatrix} = \begin{bmatrix}1 & 0\\ 0 & 1\end{bmatrix}\) ✓
Problem 4. Gauss-Jordan দিয়ে \(C = \begin{bmatrix}2 & 1\\ 1 & 1\end{bmatrix}\)-এর inverse বের করো; পকেট-সূত্রে যাচাই করো।
Solution
সুতরাং \(C^{-1} = \begin{bmatrix}1 & -1\\ -1 & 2\end{bmatrix}\)।
পকেট-সূত্রে: \(ad - bc = 2 - 1 = 1\); স্বাপ-ফ্লিপ: \(\begin{bmatrix}1 & -1\\ -1 & 2\end{bmatrix}\) ✓ — হুবহু এক।
Problem 5. Chapter 3.1-এর কারখানা মনে আছে? \(F = \begin{bmatrix}3 & 1\\ 2 & 4\end{bmatrix}\) (column = প্রতি ইউনিট পণ্যের কাঁচামাল ও শ্রম)। এ মাসে মোট খরচ হয়েছে \(35\) কেজি কাঁচামাল ও \(40\) ঘণ্টা শ্রম। \(F^{-1}\) বের করে হিসাব করো — কত ইউনিট পণ্য-১ ও পণ্য-২ বানানো হয়েছিল?
Solution
আগে ছিল forward প্রশ্ন: production \(\to\) খরচ। এখন উল্টো: খরচ \(\to\) production — ঠিক inverse-এর কাজ!
\(ad - bc = 12 - 2 = 10\):
\(10\) ইউনিট পণ্য-১, \(5\) ইউনিট পণ্য-২ — Chapter 3.1-এর Problem 5-এর সংখ্যাগুলোই ফিরে এলো, এবার উল্টোপথে ✓। (\(F\) singular হলে কি হতো ভাবো: খরচের হিসাব দেখে production আর আলাদা করা যেত না!)
Problem 6. (a) প্রমাণ করো \((AB)^{-1} = B^{-1}A^{-1}\) — দেখাও ডান পাশেরটা \(AB\)-র সাথে গুণে \(I\) দেয়। (b) transformation-গল্পে ব্যাখ্যা করো ক্রম উল্টানোটা কেন অনিবার্য। (c) তিনটার বেলায় কি হবে — \((ABC)^{-1}\)?
Solution
(a)
আর উল্টো দিকেও: \((AB)(B^{-1}A^{-1}) = A(BB^{-1})A^{-1} = AA^{-1} = I\) — দুই শর্তই পূরণ, অতএব \(B^{-1}A^{-1}\)-ই inverse (আর §৪.১ মতে inverse একটাই, তাই এটাই the inverse)।
(b) \(AB\) মানে "আগে \(B\), পরে \(A\)" (ডান থেকে বাঁয়ে!)। Undo করতে হয় উল্টো ক্রমে: শেষে যা করেছ (\(A\)) আগে খোলো, তারপর \(B\)। মোজা-জুতা: পরার ক্রম মোজা→জুতা, খোলার ক্রম জুতা→মোজা।
(c) একই যুক্তিতে \((ABC)^{-1} = C^{-1}B^{-1}A^{-1}\) — পুরো লাইনটাই উল্টে যায়, যেমন তিন স্তরের পোশাক খোলার সময়।
Problem 7 (সত্য/মিথ্যা — কারণসহ)। (a) \(A^2 = I\) হলে \(A = I\) বা \(A = -I\) হতেই হবে। (b) \(A\) ও \(B\) invertible হলে \((A + B)^{-1} = A^{-1} + B^{-1}\)। (c) \(M\) singular হলে \(M\mathbf{x} = \mathbf{b}\)-এর কোনোদিন কোনো সমাধান থাকে না।
Solution
(a) মিথ্যা। Reflection \(\begin{bmatrix}0 & 1\\ 1 & 0\end{bmatrix}\) ভাবো: দুইবার আয়নায় ফেললে সব স্বাভাবিক (\(A^2 = I\)), অথচ \(A \neq \pm I\)। যে-কোনো reflection-ই নিজের inverse — এমন matrix-কে বলে involution। সংখ্যার অভ্যাস (\(x^2=1 \Rightarrow x = \pm1\)) matrix-এ আবারও ফেল।
(b) মিথ্যা। সবচেয়ে সস্তা পাল্টা-উদাহরণ: \(A = B = I\)। তাহলে \((A+B)^{-1} = (2I)^{-1} = \tfrac12 I\), কিন্তু \(A^{-1} + B^{-1} = 2I\) — সমান না। (আরো গভীরে: \(A + B\) invertible না-ও হতে পারে — \(A = I, B = -I\) দিলে যোগফল zero matrix!)
(c) মিথ্যা। Fig04-এর ডান প্যানেল আবার দেখো: \(\mathbf{b}\) যদি output-লাইনের ওপরে পড়ে, সমাধান আছে — বরং একটা নয়, অগুনতি (লাইনভর্তি ভিড়ের সবাই)। Singular মানে "প্রতিটা \(\mathbf{b}\)-এর জন্য ঠিক একটা সমাধান" ব্যবস্থাটা ভেঙে পড়া: হয় শূন্য, নয় অসীম — মাঝামাঝি ("ঠিক একটা") আর হয় না।
৯. Common ভুল¶
| ❌ ভুল ধারণা | ✅ ঠিক ধারণা |
|---|---|
| Matrix ভাগ করা: \(\frac{B}{A}\) লেখা | Matrix-এ ভাগ নেই; লেখো \(A^{-1}B\) বা \(BA^{-1}\) — আর দুটো আলাদা জিনিস, কারণ ক্রম matters |
| "সব square matrix-এরই inverse আছে" | Singular-রা আছে সর্বত্র: column এক লাইনে পড়লেই (\(ad{-}bc=0\)) undo চিরতরে নেই |
| \((AB)^{-1} = A^{-1}B^{-1}\) | ক্রম উল্টাতেই হবে: \((AB)^{-1} = B^{-1}A^{-1}\) — জুতা আগে, মোজা পরে |
| \(2\times2\) সূত্রে \(b, c\) অদলবদল আর \(a, d\)-র চিহ্ন উল্টানো | উল্টো! \(a, d\) অদলবদল; \(b, c\)-র চিহ্ন উল্টাও; তারপর \(ad-bc\) দিয়ে ভাগ |
কোডে inv(A) @ b দিয়ে system solve করা |
np.linalg.solve(A, b) — দ্রুত, নিখুঁত; পুরো inverse প্রায় কখনোই দরকার নেই |
| "\(ad - bc = 0\) মানে হিসাবে কোথাও ভুল করেছি" | না — ওটাই ফলাফল: matrix-টা singular, inverse-এর খোঁজ বন্ধ করো আর জিজ্ঞেস করো কি হারাচ্ছে |
১০. এক নজরে¶
| ধারণা | সারকথা |
|---|---|
| \(A^{-1}\)-এর সংজ্ঞা | \(A^{-1}A = AA^{-1} = I\) — transformation-এর undo বোতাম |
| Invertible হওয়ার শর্ত | \(ad - bc \neq 0\) ⟺ column-রা এক লাইনে নয় ⟺ area বাঁচে ⟺ তথ্য বাঁচে |
| Singular মানে | আলাদা input → এক output; হারানো তথ্য ফেরে না, undo নীতিগতভাবেই অসম্ভব |
| \(2\times2\) সূত্র | \(\frac{1}{ad-bc}\begin{bmatrix}d & -b\\ -c & a\end{bmatrix}\) — swap \(a,d\); flip \(b,c\); divide |
| Gauss-Jordan | \([\,A \mid I\,] \to [\,I \mid A^{-1}\,]\) — বড় matrix-এর রাজপথ |
| মোজা-জুতা | \((AB)^{-1} = B^{-1}A^{-1}\) — খোলার ক্রম পরার উল্টো |
| System solve | কাগজে \(\mathbf{x} = A^{-1}\mathbf{b}\); কোডে solve(A, b) |
পরের chapter-এর সেতু: undo বোতাম হাতে এলো — এবার matrix-দের toolbox-টা গুছিয়ে ফেলার পালা। Matrix-কে উল্টেপাল্টে দেখার আরেকটা মৌলিক কায়দা আছে — row আর column-এর ভূমিকা বদলে দেওয়া (transpose), diagonal-এর সংখ্যাগুলোর যোগফল (trace), আর কিছু "বিশেষ চরিত্রের" matrix — diagonal, identity, permutation, symmetric — যারা বারবার মঞ্চে ফিরবে। পরের chapter-এ এই পুরো পরিবারের সাথে পরিচয়।
📓 Notebook Project¶
notebooks/part-03/ch04-project.ipynb — Undo laboratory: scratch-এ \(2\times2\) পকেট-সূত্র ও Gauss-Jordan inverse লিখে NumPy-র সাথে মিলিয়ে দেখা, shear-করা গ্রিড undo করা, আর singular matrix-এর তথ্য-ধ্বংস নিজের চোখে দেখার experiment।