পাঠ ০৯ · ৩৫-এর মধ্যে · মডিউল ৩
Home / AI Courses / Math for AI & ML / ইনভার্স, ডিটারমিন্যান্ট, র‍্যাঙ্ক

ইনভার্স, ডিটারমিন্যান্ট ও র‍্যাঙ্ক

Inverse, determinant & rank
১১ মিনিট পড়া মধ্যম · Intermediate NumPy কোডসহ সম্পূর্ণ বাংলায়

এই পাঠে যা শিখবেন

  • $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$ (২ নয়)।

ML-এ ব্যবহারিক সতর্কতা: যদি আপনার ডেটাসেটে দুটি ফিচার প্রায় সম্পূর্ণ correlated হয় (যেমন "সেলসিয়াস তাপমাত্রা" ও "ফারেনহাইট তাপমাত্রা" একসাথে ফিচার হিসেবে থাকা), তাহলে ডেটা ম্যাট্রিক্স $\mathbf{X}$-এর effective rank কমে যায় — যার ফলে পাঠ ৩৫-এর $\mathbf{X}^T\mathbf{X}$ প্রায়-সিঙ্গুলার (near-singular) হয়ে পড়ে, এবং normal equations সমাধান সংখ্যাগতভাবে অস্থির হয়ে যায়।

৬ · কোড দিয়ে যাচাই

নিচে NumPy দিয়ে উপরের সবকিছু — ডিটারমিন্যান্ট, ইনভার্স, সমীকরণ সমাধান ও র‍্যাঙ্ক — একসাথে যাচাই করা হলো।

Python · 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 (একটি অন্যটির ঠিক ১ গুণ), তাই তারা একসাথে মাত্র একটি স্বাধীন দিক প্রকাশ করে, দুটি নয়। এই কারণে বাস্তব ডেটা প্রি-প্রসেসিং-এ ডুপ্লিকেট বা প্রায়-ডুপ্লিকেট ফিচার সরিয়ে ফেলা একটি সাধারণ চর্চা।

অনুশীলন

  1. হাতে হিসাব করুন: $\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}$ পাওয়া যায় কিনা দেখুন।

  2. সমীকরণ সমাধান করুন: $\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$ ✓।

  3. কোড বদলান: উপরের কোড সেলে B-কে ফুল-র‍্যাঙ্ক একটি $2\times2$ ম্যাট্রিক্স বানিয়ে np.linalg.matrix_rank দিয়ে যাচাই করুন এটি এখন ২ দেখাচ্ছে কি না।

    যেকোনো ম্যাট্রিক্স যার দুটি সারি একে অপরের গুণিতক (multiple) নয় — যেমন $\begin{pmatrix}1&2\\3&1\end{pmatrix}$ — তার $\det\neq0$ হবে এবং matrix_rank ২ দেখাবে, নিশ্চিত করবে এটি ফুল-র‍্যাঙ্ক।

আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ

পূর্ববর্তী পাঠ
ম্যাট্রিক্সকে রৈখিক রূপান্তর হিসেবে দেখা