পাঠ ১০ · ৩৫-এর মধ্যে · মডিউল ৩
Home / AI Courses / Math for AI & ML / আইগেনভ্যালু-ভেক্টর

আইগেনভ্যালু ও আইগেনভেক্টর

Eigenvalues & eigenvectors
১৪ মিনিট পড়া উচ্চতর · Advanced NumPy কোডসহ সম্পূর্ণ বাংলায়

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

  • আইগেনভ্যালু-আইগেনভেক্টরের কঠোর সংজ্ঞা ও জ্যামিতিক অর্থ
  • Characteristic equation থেকে একটি সম্পূর্ণ $2\times2$ উদাহরণ হাতে সমাধান করা
  • Eigendecomposition $\mathbf{A}=\mathbf{V}\Lambda\mathbf{V}^{-1}$ এবং এর তাৎপর্য
  • Spectral theorem — কেন সিমেট্রিক ম্যাট্রিক্স বিশেষ, এবং এটি কোথায় ফিরে আসবে

১ · সংজ্ঞা — $\mathbf{Av}=\lambda\mathbf{v}$

পাঠ ০৮-এ আমরা দেখেছি একটি ম্যাট্রিক্স $\mathbf{A}$ সাধারণত একটি ভেক্টরকে ঘোরায় এবং স্ট্রেচ করে — দিক ও মাত্রা দুটোই বদলে যায়। কিন্তু প্রায় প্রতিটি ম্যাট্রিক্সের জন্য কিছু বিশেষ দিক আছে, যেখানে $\mathbf{A}$ প্রয়োগ করলে ভেক্টরটির দিক একই থাকে — শুধু মাত্রা বদলায়। এই বিশেষ দিকগুলোকে বলা হয় আইগেনভেক্টরEigenvectorএকটি অশূন্য ভেক্টর $\mathbf{v}$ যাকে $\mathbf{A}$ প্রয়োগ করলে শুধু স্কেল হয়, দিক বদলায় না।, এবং সেই স্কেলিং ফ্যাক্টরকে বলা হয় আইগেনভ্যালুEigenvalueআইগেনভেক্টরের সাথে সংশ্লিষ্ট স্কেলিং ফ্যাক্টর $\lambda$ — গ্রিক অক্ষর lambda। ($\lambda$)। আনুষ্ঠানিক সংজ্ঞা:

$$ \mathbf{A}\mathbf{v} = \lambda\mathbf{v}, \qquad \mathbf{v}\neq\mathbf{0} $$

অর্থাৎ $\mathbf{A}$ দিয়ে $\mathbf{v}$-কে রূপান্তরিত করার ফলাফল, $\mathbf{v}$-কেই একটি স্কেলার $\lambda$ দিয়ে গুণ করার সমান। $\mathbf{v}\neq\mathbf{0}$ শর্তটি জরুরি — কারণ $\mathbf{v}=\mathbf{0}$ হলে সমীকরণটি যেকোনো $\lambda$-এর জন্যই তুচ্ছভাবে (trivially) সত্য হয়ে যেত, যা অর্থবহ নয়।

২ · Characteristic Equation

$\mathbf{Av}=\lambda\mathbf{v}$-কে পুনর্লিখন করা যায় $\mathbf{Av}-\lambda\mathbf{v}=\mathbf{0}$, অর্থাৎ $(\mathbf{A}-\lambda\mathbf{I})\mathbf{v}=\mathbf{0}$ (এখানে $\mathbf{I}$ যোগ করা হয়েছে যাতে $\lambda\mathbf{v}$-কে $\lambda\mathbf{I}\mathbf{v}$ হিসেবে লেখা যায়, তারপর $\mathbf{v}$ common factor বের করা যায়)। এই সমীকরণের অশূন্য ($\mathbf{v}\neq\mathbf{0}$) সমাধান থাকতে হলে, $(\mathbf{A}-\lambda\mathbf{I})$ ম্যাট্রিক্সটি অবশ্যই সিঙ্গুলার হতে হবে (পাঠ ০৯) — অর্থাৎ:

$$ \det(\mathbf{A}-\lambda\mathbf{I}) = 0 $$

একে বলে characteristic equation। $n\times n$ ম্যাট্রিক্সের জন্য এটি $\lambda$-এর একটি $n$-ঘাত বহুপদী (polynomial), যার মূলগুলোই ($\lambda$-এর সমাধান) হলো ম্যাট্রিক্সের আইগেনভ্যালু।

৩ · একটি সম্পূর্ণ উদাহরণ — হাতে সমাধান

$\mathbf{A}=\begin{pmatrix}4&1\\2&3\end{pmatrix}$ ধরি। প্রথমে $\mathbf{A}-\lambda\mathbf{I}$ লিখি:

$$ \mathbf{A}-\lambda\mathbf{I} = \begin{pmatrix}4-\lambda & 1 \\ 2 & 3-\lambda\end{pmatrix} $$

এর ডিটারমিন্যান্ট (পাঠ ০৯-এর $ad-bc$ সূত্র) শূন্যের সমান বসাই:

$$ (4-\lambda)(3-\lambda) - (1)(2) = 0 $$

বিস্তার করে: $(4-\lambda)(3-\lambda) = 12 - 4\lambda - 3\lambda + \lambda^2 = \lambda^2 - 7\lambda + 12$। তাই পুরো সমীকরণ:

$$ \lambda^2 - 7\lambda + 12 - 2 = 0 \quad\Rightarrow\quad \lambda^2 - 7\lambda + 10 = 0 $$

এই দ্বিঘাত সমীকরণকে ফ্যাক্টর করা যায় — এমন দুটি সংখ্যা লাগবে যাদের যোগফল $7$ ও গুণফল $10$: সেগুলো হলো $5$ ও $2$।

$$ \lambda^2 - 7\lambda + 10 = (\lambda - 5)(\lambda - 2) = 0 \quad\Rightarrow\quad \lambda_1 = 5,\ \ \lambda_2 = 2 $$

এখন প্রতিটি আইগেনভ্যালুর জন্য সংশ্লিষ্ট আইগেনভেক্টর বের করি। $\lambda_1=5$-এর জন্য: $(\mathbf{A}-5\mathbf{I})\mathbf{v}=\mathbf{0}$ লিখি:

$$ \begin{pmatrix}4-5 & 1 \\ 2 & 3-5\end{pmatrix}\begin{pmatrix}v_1\\v_2\end{pmatrix} = \begin{pmatrix}-1 & 1 \\ 2 & -2\end{pmatrix}\begin{pmatrix}v_1\\v_2\end{pmatrix} = \mathbf{0} $$

প্রথম সারি থেকে: $-v_1+v_2=0 \Rightarrow v_2=v_1$ (দ্বিতীয় সারি একই সমীকরণের গুণিতক, তাই নতুন তথ্য দেয় না — যা প্রত্যাশিত, কারণ আমরা নিশ্চিত করেছি ম্যাট্রিক্সটি সিঙ্গুলার)। তাই $\mathbf{v}_1=(1,1)$ (যেকোনো স্কেলে)। যাচাই করি: $\mathbf{A}\mathbf{v}_1=\begin{pmatrix}4&1\\2&3\end{pmatrix}\begin{pmatrix}1\\1\end{pmatrix}=\begin{pmatrix}4+1\\2+3\end{pmatrix}=\begin{pmatrix}5\\5\end{pmatrix}=5\begin{pmatrix}1\\1\end{pmatrix}$ — ঠিক আছে, $5\mathbf{v}_1$।

$\lambda_2=2$-এর জন্য: $(\mathbf{A}-2\mathbf{I})\mathbf{v}=\mathbf{0}$:

$$ \begin{pmatrix}2 & 1 \\ 2 & 1\end{pmatrix}\begin{pmatrix}v_1\\v_2\end{pmatrix} = \mathbf{0} \quad\Rightarrow\quad 2v_1+v_2=0 \quad\Rightarrow\quad v_2=-2v_1 $$

তাই $\mathbf{v}_2=(1,-2)$। যাচাই: $\mathbf{A}\mathbf{v}_2=\begin{pmatrix}4&1\\2&3\end{pmatrix}\begin{pmatrix}1\\-2\end{pmatrix}=\begin{pmatrix}4-2\\2-6\end{pmatrix}=\begin{pmatrix}2\\-4\end{pmatrix}=2\begin{pmatrix}1\\-2\end{pmatrix}$ — ঠিক আছে, $2\mathbf{v}_2$।

জ্যামিতিক অর্থ

$\mathbf{A}=\begin{pmatrix}4&1\\2&3\end{pmatrix}$ প্রয়োগ করলে বেশিরভাগ ভেক্টর ঘুরে যায় ও স্ট্রেচ হয়। কিন্তু দিক $(1,1)$-এ থাকা যেকোনো ভেক্টর শুধু $5$ গুণ বড় হয় (দিক অপরিবর্তিত), আর দিক $(1,-2)$-এ থাকা যেকোনো ভেক্টর শুধু $2$ গুণ বড় হয়। এই দুটি দিকই $\mathbf{A}$-এর "প্রাকৃতিক অক্ষ" — যা বরাবর রূপান্তরটি সবচেয়ে সরল।

৪ · Eigendecomposition

যদি একটি $n\times n$ ম্যাট্রিক্সের $n$টি linearly independent আইগেনভেক্টর থাকে (একে বলে diagonalizable), তাহলে সেই আইগেনভেক্টরগুলোকে কলাম হিসেবে সাজিয়ে একটি ম্যাট্রিক্স $\mathbf{V}=(\mathbf{v}_1\ \mathbf{v}_2\ \cdots\ \mathbf{v}_n)$ বানানো যায়, এবং আইগেনভ্যালুগুলোকে একটি ডায়াগোনাল ম্যাট্রিক্স $\Lambda=\text{diag}(\lambda_1,\ldots,\lambda_n)$-এ সাজানো যায়। তখন:

$$ \mathbf{A} = \mathbf{V}\Lambda\mathbf{V}^{-1} $$

উপরের উদাহরণে $\mathbf{V}=\begin{pmatrix}1&1\\1&-2\end{pmatrix}$ (কলাম হিসেবে $\mathbf{v}_1,\mathbf{v}_2$) এবং $\Lambda=\begin{pmatrix}5&0\\0&2\end{pmatrix}$ — এই তিনটি ম্যাট্রিক্স গুণ করলে ঠিক মূল $\mathbf{A}$ ফেরত পাওয়া যায় (কোড সেলে যাচাই করা যাবে)। এই factorization-টিকেই বলা হয় eigendecomposition, এবং এটি পরের পাঠের SVD ও PCA-র সরাসরি ভিত্তি।

৫ · Spectral Theorem — সিমেট্রিক ম্যাট্রিক্সের বিশেষত্ব

সাধারণ ম্যাট্রিক্সের আইগেনভ্যালু জটিল সংখ্যা (complex number) হতে পারে, এবং আইগেনভেক্টরগুলো একে অপরের সাথে লম্ব (orthogonal) নাও হতে পারে। কিন্তু একটি গুরুত্বপূর্ণ বিশেষ ক্ষেত্র আছে — যখন $\mathbf{A}$ রিয়েল ও সিমেট্রিক ($\mathbf{A}=\mathbf{A}^T$), তখন (প্রমাণ ছাড়া বলছি — এটি spectral theorem):

Spectral Theorem

একটি রিয়েল সিমেট্রিক ম্যাট্রিক্সের সবগুলো আইগেনভ্যালু রিয়েল সংখ্যা, এবং এর আইগেনভেক্টরগুলো সবসময় পরস্পর অর্থোগোনাল (এবং unit-length নিলে $\mathbf{V}$ একটি অর্থোগোনাল ম্যাট্রিক্স হয়ে যায়, অর্থাৎ $\mathbf{V}^{-1}=\mathbf{V}^T$ — ইনভার্স হিসাব করার প্রয়োজনই পড়ে না)।

এটি কেন গুরুত্বপূর্ণ? কারণ ML-এ যে ম্যাট্রিক্সগুলো বারবার আসে — কোভেরিয়েন্স ম্যাট্রিক্স (পাঠ ২৭) ও Hessian ম্যাট্রিক্স (পাঠ ১৫) — দুটোই সবসময় সিমেট্রিক। তাই তাদের eigendecomposition সবসময় পরিষ্কার, রিয়েল, এবং অর্থোগোনাল — যা পরের পাঠে PCA এবং পরে convexity/saddle point বিশ্লেষণে (পাঠ ১৬) সরাসরি ব্যবহৃত হবে।

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

নিচে np.linalg.eig দিয়ে ঠিক এই একই ম্যাট্রিক্সের আইগেনভ্যালু-আইগেনভেক্টর বের করা এবং eigendecomposition যাচাই করা হলো।

Python · NumPy
import numpy as np

A = np.array([[4.0, 1.0],
              [2.0, 3.0]])

eigvals, eigvecs = np.linalg.eig(A)
print("আইগেনভ্যালু:", eigvals)          # প্রত্যাশিত: [5. 2.]
print("আইগেনভেক্টর (কলাম হিসেবে):\n", eigvecs)

# যাচাই: A @ v = lambda * v প্রতিটি আইগেনভেক্টরের জন্য
for i in range(len(eigvals)):
    v = eigvecs[:, i]
    lam = eigvals[i]
    print(f"A @ v{i+1} =", A @ v, " | lambda * v =", lam * v)

# Eigendecomposition: A = V @ Lambda @ V^-1
V = eigvecs
Lambda = np.diag(eigvals)
A_reconstructed = V @ Lambda @ np.linalg.inv(V)
print("পুনর্গঠিত A =\n", A_reconstructed)
print("মূল A-এর সমান?", np.allclose(A, A_reconstructed))

    
np.linalg.eig আইগেনভেক্টরগুলোকে সবসময় unit length-এ (দৈর্ঘ্য $1$) normalize করে ফেরত দেয় — তাই কোডে $(1,1)$-এর বদলে $(0.707, 0.707)$-এর কাছাকাছি একটি মান দেখতে পাবেন। দিক একই, শুধু স্কেল ভিন্ন — আইগেনভেক্টর সংজ্ঞা অনুযায়ী যেকোনো non-zero স্কেলে সমানভাবে বৈধ।

ভাবনার প্রশ্ন

প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।

প্র ০১ একটি ডায়াগোনাল ম্যাট্রিক্স যেমন $\begin{pmatrix}2&0\\0&3\end{pmatrix}$-এর আইগেনভ্যালু-আইগেনভেক্টর কী হবে, হিসাব না করেই বলতে পারবেন?

ডায়াগোনাল ম্যাট্রিক্সের জন্য আইগেনভ্যালুগুলো সরাসরি ডায়াগোনালের এন্ট্রি — এখানে $\lambda_1=2$, $\lambda_2=3$। সংশ্লিষ্ট আইগেনভেক্টর হলো standard basis vector গুলো (পাঠ ০৩): $\mathbf{e}_1=(1,0)$ ও $\mathbf{e}_2=(0,1)$। কারণ ডায়াগোনাল ম্যাট্রিক্স প্রতিটি অক্ষকে স্বাধীনভাবে স্কেল করে (পাঠ ০৮-এর scaling ম্যাট্রিক্স), অক্ষগুলো নিজেরাই "প্রাকৃতিক দিক" হয়ে ওঠে।

প্র ০২ যদি একটি ম্যাট্রিক্সের একটি আইগেনভ্যালু $0$ হয়, এটি সেই ম্যাট্রিক্স সম্পর্কে কী বলে (পাঠ ০৯-এর সাথে যুক্ত করুন)?

$\lambda=0$ হলে characteristic equation $\det(\mathbf{A}-0\cdot\mathbf{I})=\det(\mathbf{A})=0$ — অর্থাৎ ম্যাট্রিক্সটি নিজেই সিঙ্গুলার (পাঠ ০৯)। জ্যামিতিকভাবে, সংশ্লিষ্ট আইগেনভেক্টরের দিকে $\mathbf{A}$ প্রয়োগ করলে ভেক্টরটি সম্পূর্ণ শূন্যে "চুপসে" যায় ($0\times\mathbf{v}=\mathbf{0}$) — এটিই তথ্য হারানোর দিক, এবং একটি শূন্য আইগেনভ্যালুর অস্তিত্বই বলে দেয় ম্যাট্রিক্স ইনভার্টিবল নয়।

প্র ০৩ কোভেরিয়েন্স ম্যাট্রিক্স সবসময় সিমেট্রিক কেন, এবং এটি পরের পাঠে (PCA) কীভাবে গুরুত্বপূর্ণ হবে?

কোভেরিয়েন্স ম্যাট্রিক্সের $(i,j)$ এন্ট্রি হলো $\text{Cov}(X_i,X_j)$, এবং সংজ্ঞা অনুযায়ী $\text{Cov}(X_i,X_j)=\text{Cov}(X_j,X_i)$ — তাই $(i,j)$ ও $(j,i)$ এন্ট্রি সবসময় সমান, অর্থাৎ ম্যাট্রিক্সটি সিমেট্রিক (পাঠ ২৭-এ পূর্ণ সংজ্ঞা আসবে)। যেহেতু এটি সিমেট্রিক, spectral theorem গ্যারান্টি দেয় এর আইগেনভ্যালু রিয়েল ও আইগেনভেক্টর অর্থোগোনাল — যা পরের পাঠে দেখব যে PCA-র "প্রধান দিক" (principal components) খুঁজে বের করার পুরো ভিত্তি।

অনুশীলন

  1. হাতে হিসাব করুন: $\mathbf{A}=\begin{pmatrix}5&0\\0&1\end{pmatrix}$-এর characteristic equation লিখে আইগেনভ্যালু বের করুন।

    $\det(\mathbf{A}-\lambda\mathbf{I})=(5-\lambda)(1-\lambda)=0$, তাই $\lambda_1=5$, $\lambda_2=1$ — যা প্রত্যাশিত ছিল কারণ এটি একটি ডায়াগোনাল ম্যাট্রিক্স (প্র ০১ দেখুন)।

  2. নিজে সমাধান করুন: $\mathbf{A}=\begin{pmatrix}2&1\\1&2\end{pmatrix}$ (এটি সিমেট্রিক)-এর জন্য characteristic equation লিখে আইগেনভ্যালু বের করুন, তারপর প্রতিটির আইগেনভেক্টর বের করুন।

    $(2-\lambda)^2-1=0 \Rightarrow \lambda^2-4\lambda+3=0 \Rightarrow (\lambda-3)(\lambda-1)=0$, তাই $\lambda_1=3,\lambda_2=1$। $\lambda=3$: $(\mathbf{A}-3\mathbf{I})=\begin{pmatrix}-1&1\\1&-1\end{pmatrix}$ → $v_1=v_2$ → $\mathbf{v}_1=(1,1)$। $\lambda=1$: $(\mathbf{A}-\mathbf{I})=\begin{pmatrix}1&1\\1&1\end{pmatrix}$ → $v_1=-v_2$ → $\mathbf{v}_2=(1,-1)$। লক্ষ করুন $(1,1)\cdot(1,-1)=1-1=0$ — আইগেনভেক্টরগুলো অর্থোগোনাল, যা spectral theorem-এর প্রত্যাশা অনুযায়ী (কারণ $\mathbf{A}$ সিমেট্রিক)।

  3. কোডে যাচাই করুন: কোড সেলে A-কে $\begin{pmatrix}2&1\\1&2\end{pmatrix}$ বানিয়ে চালান এবং দেখুন np.linalg.eig আপনার হাতে-করা $\lambda_1=3,\lambda_2=1$-এর সাথে মেলে কি না।

    হ্যাঁ মিলবে (হয়তো ভিন্ন ক্রমে) — eigvals $[1, 3]$ বা $[3, 1]$ দেখাবে, এবং eigvecs-এর কলামগুলো $(1,1)/\sqrt2$ ও $(1,-1)/\sqrt2$-এর কাছাকাছি normalized মান দেখাবে।

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

পূর্ববর্তী পাঠ
ইনভার্স, ডিটারমিন্যান্ট ও র‍্যাঙ্ক