ইনভার্স, ডিটারমিন্যান্ট ও র্যাঙ্ক
এই পাঠে যা শিখবেন
- $2\times2$ ম্যাট্রিক্সের ডিটারমিন্যান্টের সূত্র ও জ্যামিতিক অর্থ
- ইনভার্টিবিলিটির শর্ত এবং ম্যাট্রিক্স ইনভার্সের সংজ্ঞা
- ইনভার্স দিয়ে রৈখিক সমীকরণ সমাধান করার পদ্ধতি
- র্যাঙ্কের সংজ্ঞা এবং কেন এটি পাঠ ৩৫-এর normal equations-এর জন্য গুরুত্বপূর্ণ
১ · $2\times2$ ডিটারমিন্যান্ট ও এর জ্যামিতিক অর্থ
$\mathbf{A}=\begin{pmatrix}a&b\\c&d\end{pmatrix}$ হলে এর ডিটারমিন্যান্টDeterminantএকটি সংখ্যা যা বলে দেয় একটি রৈখিক রূপান্তর area/volume কত গুণ বদলায়, এবং orientation উল্টে যায় কি না। হলো:
$$ \det(\mathbf{A}) = ad - bc $$এর জ্যামিতিক অর্থ গভীর — পাঠ ০৮-এ আমরা দেখেছি $\mathbf{A}$ একটি রূপান্তর। একক বর্গক্ষেত্র (unit square, বাহু $1$) এই রূপান্তরের পর একটি সমান্তরালগ্রামে (parallelogram) পরিণত হয়, এবং সেই সমান্তরালগ্রামের ক্ষেত্রফল ঠিক $|\det(\mathbf{A})|$। উদাহরণ: $\mathbf{A}=\begin{pmatrix}2&0\\0&3\end{pmatrix}$ (স্কেলিং ম্যাট্রিক্স, পাঠ ০৮) হলে $\det(\mathbf{A})=2(3)-0(0)=6$ — একক বর্গক্ষেত্র ($1\times1$) হয়ে যায় $2\times3$ আয়তক্ষেত্র, ক্ষেত্রফল ঠিক $6$।
ডিটারমিন্যান্টের চিহ্নও অর্থবহ: ধনাত্মক হলে orientation অপরিবর্তিত থাকে, ঋণাত্মক হলে রূপান্তরটি স্পেসকে "উল্টে দেয়" (mirror/flip)। যেমন $\mathbf{A}=\begin{pmatrix}0&1\\1&0\end{pmatrix}$ (দুই অক্ষ অদল-বদল করা) এর $\det(\mathbf{A})=0(0)-1(1)=-1$ — এই ঋণাত্মক চিহ্নই বলে দেয় এটি একটি প্রতিফলন (reflection)।
২ · ইনভার্টিবিলিটি ⟺ $\det\neq0$
যদি $\det(\mathbf{A})=0$ হয়, তাহলে রূপান্তরটি স্পেসকে একটি নিম্ন-মাত্রায় "চ্যাপ্টা" করে দেয় (যেমন একটি সরলরেখায় বা একটি বিন্দুতে) — ঠিক পাঠ ০৮-এর প্রজেকশন ম্যাট্রিক্সের মতো। ক্ষেত্রফল শূন্যে নেমে যাওয়া মানে তথ্য অপরিবর্তনীয়ভাবে হারিয়ে যাওয়া, তাই এই রূপান্তরের কোনো বিপরীতমুখী (inverse) রূপান্তর থাকতে পারে না। এই কারণেই:
একটি বর্গ ম্যাট্রিক্স $\mathbf{A}$ ইনভার্টিবল (invertible) হয় শুধুমাত্র যদি $\det(\mathbf{A})\neq0$ হয়। এটি ML-এ বারবার ফিরে আসবে — যেমন পাঠ ৩৫-এর normal equations-এ $(\mathbf{X}^T\mathbf{X})^{-1}$ থাকার জন্য $\mathbf{X}^T\mathbf{X}$-এর ডিটারমিন্যান্ট শূন্য না হওয়া আবশ্যক।
৩ · ম্যাট্রিক্স ইনভার্স
$\mathbf{A}$-এর ইনভার্সInverseএমন একটি ম্যাট্রিক্স $\mathbf{A}^{-1}$ যা $\mathbf{A}$-এর সাথে গুণ করলে আইডেন্টিটি ম্যাট্রিক্স দেয়।, লেখা হয় $\mathbf{A}^{-1}$, এমন একটি ম্যাট্রিক্স যা:
$$ \mathbf{A}\mathbf{A}^{-1} = \mathbf{A}^{-1}\mathbf{A} = \mathbf{I} $$$2\times2$ ম্যাট্রিক্সের জন্য একটি সরাসরি সূত্র আছে:
$$ \mathbf{A}^{-1} = \frac{1}{\det(\mathbf{A})}\begin{pmatrix}d&-b\\-c&a\end{pmatrix} $$লক্ষ করুন — এই সূত্রের হর-এ $\det(\mathbf{A})$ আছে, তাই $\det(\mathbf{A})=0$ হলে সূত্রটাই ভেঙে পড়ে (শূন্য দিয়ে ভাগ), যা আবারও নিশ্চিত করে কেন $\det\neq0$ ইনভার্টিবিলিটির শর্ত।
একটি সম্পূর্ণ উদাহরণ: $\mathbf{A}=\begin{pmatrix}2&1\\1&1\end{pmatrix}$। এখানে $\det(\mathbf{A})=2(1)-1(1)=1$। তাই:
$$ \mathbf{A}^{-1} = \frac{1}{1}\begin{pmatrix}1&-1\\-1&2\end{pmatrix} = \begin{pmatrix}1&-1\\-1&2\end{pmatrix} $$যাচাই: $\mathbf{A}\mathbf{A}^{-1}=\begin{pmatrix}2&1\\1&1\end{pmatrix}\begin{pmatrix}1&-1\\-1&2\end{pmatrix} =\begin{pmatrix}2(1)+1(-1)&2(-1)+1(2)\\1(1)+1(-1)&1(-1)+1(2)\end{pmatrix} =\begin{pmatrix}1&0\\0&1\end{pmatrix}=\mathbf{I}$ — ঠিক আছে।
৪ · রৈখিক সমীকরণ সমাধান
ইনভার্সের সবচেয়ে সরাসরি ব্যবহার — $\mathbf{Ax}=\mathbf{b}$ আকারের একটি সমীকরণ সিস্টেম সমাধান করা। যদি $\mathbf{A}$ বর্গ ও ইনভার্টিবল হয়, তাহলে উভয় পাশে বাম থেকে $\mathbf{A}^{-1}$ দিয়ে গুণ করে:
$$ \mathbf{A}^{-1}\mathbf{Ax} = \mathbf{A}^{-1}\mathbf{b} \quad\Rightarrow\quad \mathbf{x} = \mathbf{A}^{-1}\mathbf{b} $$উপরের $\mathbf{A}=\begin{pmatrix}2&1\\1&1\end{pmatrix}$ ও $\mathbf{b}=(3,2)$ নিলে:
$$ \mathbf{x} = \mathbf{A}^{-1}\mathbf{b} = \begin{pmatrix}1&-1\\-1&2\end{pmatrix}\begin{pmatrix}3\\2\end{pmatrix} = \begin{pmatrix}1(3)+(-1)(2)\\-1(3)+2(2)\end{pmatrix} = \begin{pmatrix}1\\1\end{pmatrix} $$যাচাই: $\mathbf{Ax}=\begin{pmatrix}2&1\\1&1\end{pmatrix}\begin{pmatrix}1\\1\end{pmatrix}=\begin{pmatrix}2(1)+1(1)\\1(1)+1(1)\end{pmatrix}=\begin{pmatrix}3\\2\end{pmatrix}=\mathbf{b}$ — মিলে গেছে।
৫ · র্যাঙ্ক
র্যাঙ্কRankএকটি ম্যাট্রিক্সের কলাম স্পেসের (column space) মাত্রা — কতগুলো কলাম আসলে স্বাধীন (independent) তথ্য বহন করে।linearly independent। একটি $n\times n$ ম্যাট্রিক্স ফুল র্যাঙ্ক (full rank) হয় যদি $\text{rank}(\mathbf{A})=n$ — এবং এটি ইনভার্টিবিলিটির আরেকটি সমতুল্য শর্ত।
যদি একটি কলাম অন্য কলামগুলোর একটি রৈখিক সমাহার (linear combination) হয় (যেমন একটি ফিচার আরেকটির ঠিক দ্বিগুণ), তাহলে ম্যাট্রিক্স rank-deficient — উদাহরণ: $\mathbf{B}=\begin{pmatrix}1&2\\2&4\end{pmatrix}$-এর দ্বিতীয় সারি প্রথম সারির ঠিক দ্বিগুণ, $\det(\mathbf{B})=1(4)-2(2)=0$, এবং $\text{rank}(\mathbf{B})=1$ (২ নয়)।
৬ · কোড দিয়ে যাচাই
নিচে NumPy দিয়ে উপরের সবকিছু — ডিটারমিন্যান্ট, ইনভার্স, সমীকরণ সমাধান ও র্যাঙ্ক — একসাথে যাচাই করা হলো।
import numpy as np
A = np.array([[2.0, 1.0],
[1.0, 1.0]])
det_A = np.linalg.det(A)
A_inv = np.linalg.inv(A)
print("det(A) =", det_A)
print("A_inv =\n", A_inv)
# রৈখিক সমীকরণ Ax = b সমাধান
b = np.array([3.0, 2.0])
x_via_inverse = A_inv @ b
x_via_solve = np.linalg.solve(A, b) # সংখ্যাগতভাবে বেশি স্থিতিশীল পদ্ধতি
print("x (inverse দিয়ে):", x_via_inverse)
print("x (np.linalg.solve দিয়ে):", x_via_solve)
# একটি rank-deficient ম্যাট্রিক্স
B = np.array([[1.0, 2.0],
[2.0, 4.0]])
print("det(B) =", np.linalg.det(B))
print("rank(B) =", np.linalg.matrix_rank(B))
np.linalg.inv(A) @ b-এর বদলে সরাসরি np.linalg.solve(A, b)
ব্যবহার করা ভালো — এটি স্পষ্টভাবে ইনভার্স হিসাব না করেই সমাধান বের করে, যা দ্রুততর এবং সংখ্যাগতভাবে বেশি স্থিতিশীল।
ভাবনার প্রশ্ন
প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।
প্র ০১ একটি প্রজেকশন ম্যাট্রিক্স (পাঠ ০৮-এ দেখা $\begin{pmatrix}1&0\\0&0\end{pmatrix}$)-এর ডিটারমিন্যান্ট কত, এবং এটি কি ইনভার্টিবল?
$\det=1(0)-0(0)=0$। যেহেতু ডিটারমিন্যান্ট শূন্য, এটি ইনভার্টিবল নয় — যা পাঠ ০৮-এর সাথে সরাসরি সামঞ্জস্যপূর্ণ: প্রজেকশন তথ্য মুছে ফেলে ($y$-উপাদান হারিয়ে যায়), তাই কোনো ইনভার্স ম্যাট্রিক্স সেই হারানো তথ্য ফিরিয়ে আনতে পারবে না।
প্র ০২
কেন np.linalg.solve(A, b) কে np.linalg.inv(A) @ b-এর চেয়ে ভালো পদ্ধতি বলা হয়, যখন গাণিতিকভাবে দুটোই একই উত্তর দেয়?
গাণিতিকভাবে সমান হলেও, সংখ্যাগত (numerical) গণনায় এরা ভিন্ন। সম্পূর্ণ ইনভার্স ম্যাট্রিক্স
হিসাব করা বেশি গণনা লাগে এবং round-off error বাড়ায় — বিশেষ করে $\mathbf{A}$ প্রায়-সিঙ্গুলার হলে। solve
সরাসরি সমীকরণ সমাধানের জন্য অপ্টিমাইজ করা (যেমন LU decomposition ব্যবহার করে), তাই দ্রুততর ও বেশি নির্ভুল।
প্র ০৩ যদি একটি ডেটাসেটের দুটি ফিচার একেবারে identical হয় (একই কলাম দুইবার), তাহলে ডেটা ম্যাট্রিক্সের র্যাঙ্কে কী প্রভাব পড়বে?
র্যাঙ্ক কমপক্ষে ১ কমে যাবে — কারণ দুটি identical কলাম linearly dependent (একটি অন্যটির ঠিক ১ গুণ), তাই তারা একসাথে মাত্র একটি স্বাধীন দিক প্রকাশ করে, দুটি নয়। এই কারণে বাস্তব ডেটা প্রি-প্রসেসিং-এ ডুপ্লিকেট বা প্রায়-ডুপ্লিকেট ফিচার সরিয়ে ফেলা একটি সাধারণ চর্চা।
অনুশীলন
-
হাতে হিসাব করুন: $\mathbf{A}=\begin{pmatrix}3&2\\1&1\end{pmatrix}$-এর ডিটারমিন্যান্ট ও ইনভার্স হাতে হিসাব করুন।
$\det(\mathbf{A})=3(1)-2(1)=1$। $\mathbf{A}^{-1}=\frac{1}{1}\begin{pmatrix}1&-2\\-1&3\end{pmatrix}=\begin{pmatrix}1&-2\\-1&3\end{pmatrix}$। যাচাই করতে $\mathbf{A}\mathbf{A}^{-1}$ গুণ করে $\mathbf{I}$ পাওয়া যায় কিনা দেখুন।
-
সমীকরণ সমাধান করুন: $\mathbf{A}=\begin{pmatrix}3&2\\1&1\end{pmatrix}$ ও $\mathbf{b}=(7,3)$ হলে $\mathbf{Ax}=\mathbf{b}$-এর $\mathbf{x}$ বের করুন।
$\mathbf{x}=\mathbf{A}^{-1}\mathbf{b}=\begin{pmatrix}1&-2\\-1&3\end{pmatrix}\begin{pmatrix}7\\3\end{pmatrix}=\begin{pmatrix}1(7)-2(3)\\-1(7)+3(3)\end{pmatrix}=\begin{pmatrix}1\\2\end{pmatrix}$। যাচাই: $3(1)+2(2)=7$ ✓, $1(1)+1(2)=3$ ✓।
-
কোড বদলান: উপরের কোড সেলে
B-কে ফুল-র্যাঙ্ক একটি $2\times2$ ম্যাট্রিক্স বানিয়েnp.linalg.matrix_rankদিয়ে যাচাই করুন এটি এখন ২ দেখাচ্ছে কি না।যেকোনো ম্যাট্রিক্স যার দুটি সারি একে অপরের গুণিতক (multiple) নয় — যেমন $\begin{pmatrix}1&2\\3&1\end{pmatrix}$ — তার $\det\neq0$ হবে এবং
matrix_rank২ দেখাবে, নিশ্চিত করবে এটি ফুল-র্যাঙ্ক।
আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ
- পরবর্তী পাঠ — আইগেনভ্যালু ও আইগেনভেক্টর পাঠ ১০ একটি ম্যাট্রিক্স যে দিকগুলোকে শুধু স্ট্রেচ করে, ঘোরায় না — সেই বিশেষ দিকগুলো খুঁজে বের করা।
- Machine Learning কোর্স প্রয়োগ দেখুন লিনিয়ার রিগ্রেশনের normal equations থেকে শুরু করে বহু অ্যালগরিদম সরাসরি ইনভার্স ও র্যাঙ্কের উপর নির্ভরশীল।
- সব AI Courses দেখুন ABCL TECH AI Foundations, Python for AI, Machine Learning, Deep Learning, Math for AI ও আরও অনেক কিছু — সব এক জায়গায়।