পাঠ ১২ · ৩৫-এর মধ্যে · মডিউল ৩
Home / AI Courses / Math for AI & ML / পজিটিভ ডেফিনিট ম্যাট্রিক্স

পজিটিভ ডেফিনিট ম্যাট্রিক্স ও কোয়াড্রেটিক ফর্ম

Positive-definite matrices & quadratic forms
১১ মিনিট পড়া উচ্চতর · Advanced NumPy কোডসহ সম্পূর্ণ বাংলায়

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

  • কোয়াড্রেটিক ফর্মের সংজ্ঞা ও এর জ্যামিতিক তাৎপর্য
  • PD, PSD ও indefinite ম্যাট্রিক্সের পার্থক্য, প্রতিটির একটি সুস্পষ্ট উদাহরণ
  • আইগেনভ্যালু দিয়ে PD/PSD পরীক্ষা করার পদ্ধতি ও কেন এটি কাজ করে
  • কোভেরিয়েন্স ম্যাট্রিক্স কেন সবসময় PSD, এবং Hessian-এর সাথে এর ভবিষ্যৎ সংযোগ

১ · কোয়াড্রেটিক ফর্ম কী

একটি কোয়াড্রেটিক ফর্মQuadratic Formএকটি ভেক্টর $\mathbf{x}$ ও একটি ম্যাট্রিক্স $\mathbf{A}$ থেকে গঠিত একটি স্কেলার এক্সপ্রেশন $\mathbf{x}^T\mathbf{Ax}$, যা $\mathbf{x}$-এর উপাদানগুলোর দ্বিঘাত (degree-2) পদের সমষ্টি। $$ \mathbf{x}^T\mathbf{Ax} = \begin{pmatrix}x_1&x_2\end{pmatrix}\begin{pmatrix}2&0\\0&3\end{pmatrix}\begin{pmatrix}x_1\\x_2\end{pmatrix} = 2x_1^2 + 3x_2^2 $$

লক্ষ করুন ফলাফল $\mathbf{x}$-এর উপাদানগুলোর দ্বিঘাত পদের একটি সমষ্টি — এই কারণেই একে "কোয়াড্রেটিক" (দ্বিঘাত) ফর্ম বলা হয়। পাঠ ১১-তে আমরা এমন একটি ফর্ম ইতিমধ্যে দেখেছি: $\mathbf{v}^T\mathbf{C}\mathbf{v}$ (PCA-র ভেরিয়েন্স)।

২ · Positive Definite, Semi-Definite ও Indefinite

একটি সিমেট্রিক ম্যাট্রিক্স $\mathbf{A}$-কে শ্রেণীবদ্ধ করা হয় $\mathbf{x}^T\mathbf{Ax}$-এর চিহ্ন কেমন আচরণ করে তার ওপর ভিত্তি করে (সব $\mathbf{x}\neq\mathbf{0}$-এর জন্য):

সংজ্ঞা

Positive Definite (PD): $\mathbf{x}^T\mathbf{Ax}>0$ সব $\mathbf{x}\neq\mathbf{0}$-এর জন্য।
Positive Semi-Definite (PSD): $\mathbf{x}^T\mathbf{Ax}\geq0$ সব $\mathbf{x}$-এর জন্য (শূন্যও অনুমোদিত)।
Indefinite: কিছু $\mathbf{x}$-এর জন্য ধনাত্মক, কিছুর জন্য ঋণাত্মক — চিহ্ন মিশ্রিত।

একটি PD উদাহরণ: $\mathbf{A}=\begin{pmatrix}2&-1\\-1&2\end{pmatrix}$ নিলে $\mathbf{x}^T\mathbf{Ax}=2x_1^2-2x_1x_2+2x_2^2$। এটিকে পূর্ণবর্গে (complete the square) লিখলে $= (x_1-x_2)^2 + x_1^2 + x_2^2$ — তিনটি বর্গ পদের যোগফল, যা $\mathbf{x}\neq\mathbf{0}$ হলে সবসময় ধনাত্মক (নিচে আইগেনভ্যালু দিয়েও এটি নিশ্চিত করব)।

একটি indefinite উদাহরণ, যা পরে পাঠ ১৬-তে saddle point বিশ্লেষণে ফিরে আসবে: $\mathbf{A}=\begin{pmatrix}1&0\\0&-1\end{pmatrix}$, তাই $\mathbf{x}^T\mathbf{Ax}=x_1^2-x_2^2$। এটি $x_1$-অক্ষ বরাবর ($x_2=0$) ধনাত্মক, কিন্তু $x_2$-অক্ষ বরাবর ($x_1=0$) ঋণাত্মক — স্পষ্টভাবে indefinite।

একটি PSD (কিন্তু PD নয়) উদাহরণ: $\mathbf{A}=\begin{pmatrix}1&1\\1&1\end{pmatrix}$, তাই $\mathbf{x}^T\mathbf{Ax}=x_1^2+2x_1x_2+x_2^2=(x_1+x_2)^2\geq0$ — সবসময় অ-ঋণাত্মক, কিন্তু $\mathbf{x}=(1,-1)$-এর মতো কোনো non-zero ভেক্টরের জন্য এটি ঠিক $0$ হয়ে যায় ($1+(-1)=0$)। তাই এটি PSD, কিন্তু PD নয়।

৩ · আইগেনভ্যালু দিয়ে পরীক্ষা

প্রতিবার পূর্ণবর্গ করে যাচাই করা কষ্টসাধ্য — সৌভাগ্যক্রমে পাঠ ১০-এর eigendecomposition একটি সরাসরি পরীক্ষা দেয়:

মূল নিয়ম

একটি সিমেট্রিক ম্যাট্রিক্স $\mathbf{A}$ PD হয় ⟺ এর সবগুলো আইগেনভ্যালু ধনাত্মক। এটি PSD হয় ⟺ সবগুলো আইগেনভ্যালু $\geq0$। এটি indefinite হয় ⟺ কিছু আইগেনভ্যালু ধনাত্মক, কিছু ঋণাত্মক।

কেন এটি সত্য তা বোঝা সহজ যদি $\mathbf{v}_i$ আইগেনভেক্টরের ভিত্তিতে $\mathbf{x}$ প্রকাশ করি (spectral theorem নিশ্চিত করে সিমেট্রিক ম্যাট্রিক্সের আইগেনভেক্টরগুলো একটি ভিত্তি — basis — গঠন করে, পাঠ ০৬)। তখন $\mathbf{x}^T\mathbf{Ax}=\sum_i \lambda_i c_i^2$ (যেখানে $c_i$ হলো সেই ভিত্তিতে $\mathbf{x}$-এর স্থানাঙ্ক) — যেহেতু $c_i^2\geq0$ সবসময়, পুরো যোগফলের চিহ্ন সম্পূর্ণভাবে নির্ভর করে $\lambda_i$-দের চিহ্নের ওপর। যাচাই করি উপরের PD উদাহরণে: $\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$ — আইগেনভ্যালু $3$ ও $1$, দুটোই ধনাত্মক, তাই PD — যা আমাদের পূর্ণবর্গ পরীক্ষার সাথে মেলে।

৪ · কোভেরিয়েন্স ম্যাট্রিক্স সবসময় PSD কেন

যেকোনো র‍্যান্ডম ভেক্টর $\mathbf{X}$-এর কোভেরিয়েন্স ম্যাট্রিক্স $\Sigma$-এর জন্য, এবং যেকোনো ভেক্টর $\mathbf{a}$-এর জন্য, $\mathbf{a}^T\Sigma\mathbf{a}$ আসলে $\mathbf{a}^T\mathbf{X}$ (একটি স্কেলার র‍্যান্ডম ভেরিয়েবল — সব উপাদানের একটি রৈখিক সমাহার) এর ভেরিয়েন্স। অর্থাৎ:

$$ \mathbf{a}^T\Sigma\mathbf{a} = \text{Var}(\mathbf{a}^T\mathbf{X}) $$

আর ভেরিয়েন্স (পাঠ ২৭-এ পূর্ণ সংজ্ঞা আসবে) সংজ্ঞা অনুযায়ীই একটি বর্গের প্রত্যাশিত মান — $\mathbb{E}[(\cdot)^2]$ — যা কখনো ঋণাত্মক হতে পারে না। তাই সব $\mathbf{a}$-এর জন্য $\mathbf{a}^T\Sigma\mathbf{a}\geq0$, অর্থাৎ প্রতিটি কোভেরিয়েন্স ম্যাট্রিক্স স্বয়ংক্রিয়ভাবে PSD — এটি জ্যামিতি নয়, সরাসরি ভেরিয়েন্সের সংজ্ঞা থেকে আসা একটি বাধ্যতামূলক সত্য।

সতর্কতা: কোভেরিয়েন্স ম্যাট্রিক্স PSD, কিন্তু সবসময় strictly PD নয়। যদি ডেটাসেটের কোনো ফিচার আরেকটি ফিচারের সাথে perfectly (নিখুঁতভাবে) linearly dependent হয় (পাঠ ০৯-এর rank-deficiency), তাহলে কোভেরিয়েন্স ম্যাট্রিক্সের একটি আইগেনভ্যালু ঠিক $0$ হয়ে যায় — PSD থাকে, কিন্তু PD থাকে না।

৫ · সামনের দিকে ইঙ্গিত — Hessian ও local minima

এই পাঠের ধারণাগুলো মডিউল ৪-এ সরাসরি ফিরে আসবে। পাঠ ১৫-তে আমরা একটি ফাংশনের Hessian ম্যাট্রিক্স (দ্বিতীয় ডেরিভেটিভের ম্যাট্রিক্স) দেখব, এবং পাঠ ১৬-তে প্রমাণ করব — একটি critical point-এ Hessian যদি positive definite হয়, তাহলে সেটি একটি local minimum (ঠিক যেমন একচলকের ক্যালকুলাসে $f''(x)>0$ local minimum নির্দেশ করে)। Hessian indefinite হলে সেটি একটি saddle point — এবং উপরে আমরা যে ইনডেফিনিট উদাহরণ ($x_1^2-x_2^2$) দেখেছি, সেটিই পাঠ ১৬-তে সেই সাডল পয়েন্টের ক্লাসিক উদাহরণ হিসেবে ফিরে আসবে।

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

নিচে তিন ধরনের ম্যাট্রিক্স — PD, PSD, indefinite — নিয়ে আইগেনভ্যালু দিয়ে শ্রেণীবিভাগ করা হলো, এবং তারপর একটি র‍্যান্ডম ডেটাসেটের কোভেরিয়েন্স ম্যাট্রিক্স সবসময় PSD কি না তা যাচাই করা হলো।

Python · NumPy
import numpy as np

def classify(A, name):
    eigvals = np.linalg.eigvalsh(A)   # A সিমেট্রিক ধরে নেওয়া হচ্ছে
    if np.all(eigvals > 1e-10):
        kind = "Positive Definite (PD)"
    elif np.all(eigvals >= -1e-10):
        kind = "Positive Semi-Definite (PSD)"
    else:
        kind = "Indefinite"
    print(f"{name}: eigenvalues = {eigvals}  ->  {kind}")

A_pd    = np.array([[2.0, -1.0], [-1.0, 2.0]])
A_psd   = np.array([[1.0,  1.0], [ 1.0, 1.0]])
A_indef = np.array([[1.0,  0.0], [ 0.0, -1.0]])

classify(A_pd, "A_pd")
classify(A_psd, "A_psd")
classify(A_indef, "A_indef")

# কোভেরিয়েন্স ম্যাট্রিক্স সবসময় PSD — একটি র‍্যান্ডম ডেটাসেটে যাচাই
rng = np.random.default_rng(42)
data = rng.normal(size=(100, 4))       # ১০০ স্যাম্পল, ৪টি ফিচার
cov = np.cov(data, rowvar=False)
cov_eigvals = np.linalg.eigvalsh(cov)
print("কোভেরিয়েন্সের আইগেনভ্যালু:", cov_eigvals)
print("সব >= 0?", np.all(cov_eigvals >= -1e-10))

    
np.linalg.eigvalsh — সিমেট্রিক/Hermitian ম্যাট্রিক্সের জন্য বিশেষভাবে অপ্টিমাইজ করা ফাংশন, যা শুধু আইগেনভ্যালু ফেরত দেয় (আইগেনভেক্টর ছাড়া) এবং সাধারণ np.linalg.eigvals-এর চেয়ে দ্রুত ও সংখ্যাগতভাবে বেশি নির্ভরযোগ্য — যেহেতু PD/PSD পরীক্ষা সবসময় সিমেট্রিক ম্যাট্রিক্সে হয়, এটিই সঠিক পছন্দ।

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

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

প্র ০১ যদি একটি সিমেট্রিক ম্যাট্রিক্সের একটি আইগেনভ্যালু ঠিক $0$ হয় এবং বাকিগুলো ধনাত্মক হয়, তাহলে এটি PD, PSD নাকি indefinite?

PSD — কিন্তু PD নয়। একটি $0$ আইগেনভ্যালুর সংশ্লিষ্ট আইগেনভেক্টর $\mathbf{v}$-এর জন্য $\mathbf{v}^T\mathbf{A}\mathbf{v}=0\cdot\|\mathbf{v}\|^2=0$ — এটি ঋণাত্মক নয়, তাই PSD-র শর্ত ভঙ্গ হয় না, কিন্তু "সব $\mathbf{x}\neq\mathbf{0}$-এর জন্য কঠোরভাবে ধনাত্মক" শর্তটিও পূরণ হয় না, তাই PD নয়।

প্র ০২ একটি নন-সিমেট্রিক ম্যাট্রিক্সের জন্যও কি কোয়াড্রেটিক ফর্ম $\mathbf{x}^T\mathbf{Ax}$ সংজ্ঞায়িত? PD/PSD পরীক্ষায় সিমেট্রি কেন জোর দেওয়া হয়?

$\mathbf{x}^T\mathbf{Ax}$ যেকোনো বর্গ ম্যাট্রিক্সের জন্য সংজ্ঞায়িত, সিমেট্রিক না হলেও। কিন্তু PD/PSD পরিভাষা প্রথাগতভাবে সিমেট্রিক ম্যাট্রিক্সের জন্য সংরক্ষিত, কারণ যেকোনো $\mathbf{A}$-এর জন্য $\mathbf{x}^T\mathbf{Ax}=\mathbf{x}^T\left(\frac{\mathbf{A}+\mathbf{A}^T}{2}\right)\mathbf{x}$ (অ্যান্টি-সিমেট্রিক অংশ কোয়াড্রেটিক ফর্মে কোনো অবদান রাখে না) — তাই সবসময় একটি সমতুল্য সিমেট্রিক ম্যাট্রিক্স ব্যবহার করা যায়, এবং আইগেনভ্যালু-ভিত্তিক পরীক্ষা (spectral theorem-এর ওপর নির্ভরশীল) শুধু সিমেট্রিক ম্যাট্রিক্সে সরাসরি প্রযোজ্য।

প্র ০৩ Ridge regression-এ (পাঠ ৩২-এ বিস্তারিত আসবে) $\mathbf{X}^T\mathbf{X}+\lambda\mathbf{I}$ ব্যবহার করা হয় $\mathbf{X}^T\mathbf{X}$-এর বদলে। এই যোগফলটি কেন সবসময় PD (শুধু PSD নয়) গ্যারান্টি করে, যখন $\lambda>0$?

$\mathbf{X}^T\mathbf{X}$ সবসময় PSD (এই পাঠের পদ্ধতিতেই দেখানো যায় — $\mathbf{x}^T\mathbf{X}^T\mathbf{X}\mathbf{x}=\|\mathbf{Xx}\|^2\geq0$)। যদি এর আইগেনভ্যালু হয় $\mu_i\geq0$, তাহলে $\mathbf{X}^T\mathbf{X}+\lambda\mathbf{I}$-এর আইগেনভ্যালু হবে $\mu_i+\lambda$ (কারণ $\mathbf{I}$ যোগ করলে প্রতিটি আইগেনভ্যালুতে ঠিক $\lambda$ যোগ হয়, আইগেনভেক্টর অপরিবর্তিত থাকে)। $\lambda>0$ হলে $\mu_i+\lambda>0$ সবসময়, এমনকি $\mu_i=0$ হলেও — তাই যোগফলটি সবসময় কঠোরভাবে PD, এবং তাই সবসময় ইনভার্টিবল (পাঠ ০৯)।

অনুশীলন

  1. শ্রেণীবিভাগ করুন: $\mathbf{A}=\begin{pmatrix}3&0\\0&5\end{pmatrix}$-এর আইগেনভ্যালু বলুন এবং এটি PD/PSD/indefinite কিনা নির্ধারণ করুন।

    ডায়াগোনাল ম্যাট্রিক্স, তাই আইগেনভ্যালু সরাসরি $3$ ও $5$ — দুটোই ধনাত্মক, তাই এটি Positive Definite।

  2. পূর্ণবর্গ করুন: $\mathbf{x}^T\mathbf{Ax}$-কে ($\mathbf{A}=\begin{pmatrix}1&1\\1&1\end{pmatrix}$) সরাসরি বিস্তার করে দেখান এটি $(x_1+x_2)^2$-এর সমান।

    $\mathbf{x}^T\mathbf{Ax}=x_1(x_1)+x_1(x_2)+x_2(x_1)+x_2(x_2)=x_1^2+2x_1x_2+x_2^2=(x_1+x_2)^2$ — সবসময় $\geq0$, PSD নিশ্চিত করে।

  3. কোড বদলান: উপরের কোড সেলে classify ফাংশনে একটি নতুন ম্যাট্রিক্স $\begin{pmatrix}0&2\\2&0\end{pmatrix}$ পরীক্ষা করুন — এটি কোন শ্রেণীতে পড়ে, এবং কেন?

    Characteristic equation: $\lambda^2-4=0\Rightarrow\lambda=\pm2$ — একটি ধনাত্মক, একটি ঋণাত্মক, তাই Indefinite। কোডে classify চালালে ঠিক এটাই দেখাবে।

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

পূর্ববর্তী পাঠ
SVD ও PCA-র গাণিতিক ভিত্তি