inv() এবং pinv() ফাংশন ব্যবহার করে Matrix Inversion

Matrix Inversion এবং Pseudo-Inverse (ম্যাট্রিক্স ইনভার্স এবং সিউডো-ইনভার্স) - ম্যাটল্যাব-ম্যাট্রিক্স (Matlab-Matrix) - Computer Programming

368

ম্যাট্রিক্স ইনভার্সন হল একটি গুরুত্বপূর্ণ অপারেশন, যা একটি ম্যাট্রিক্সের বিপরীত ম্যাট্রিক্স বের করতে ব্যবহৃত হয়। ম্যাট্রিক্সের ইনভার্স মেলানোর মাধ্যমে সমীকরণ সমাধান করা যায়, এবং এটি অনেক গাণিতিক কাজের জন্য অপরিহার্য। MATLAB-এ দুটি প্রধান ফাংশন রয়েছে ম্যাট্রিক্স ইনভার্স বের করার জন্য: inv() এবং **pinv()**। এই দুটি ফাংশন ব্যবহারের পার্থক্য এবং সুবিধা সম্পর্কে নিচে বিস্তারিত আলোচনা করা হলো।


১. inv() ফাংশন

inv() ফাংশন একটি স্কয়ার ম্যাট্রিক্সের ইনভার্স বের করতে ব্যবহৃত হয়। এটি শুধুমাত্র নন-সিঙ্গুলার (non-singular) ম্যাট্রিক্সের ইনভার্স বের করে, অর্থাৎ যার ডিটারমিন্যান্ট শূন্য নয়। যদি ম্যাট্রিক্স সিঙ্গুলার (ডিটারমিন্যান্ট শূন্য) হয়, তাহলে inv() ফাংশন NaN বা ত্রুটি দেখাতে পারে।

সিনট্যাক্স:

A_inv = inv(A)

এখানে, A একটি স্কয়ার ম্যাট্রিক্স এবং A_inv হল তার ইনভার্স।

উদাহরণ:

A = [1 2; 3 4];
A_inv = inv(A);  % ম্যাট্রিক্স A এর ইনভার্স বের করা
disp(A_inv);

এটি ইনভার্স বের করবে:

\[
A = \begin{pmatrix}
1 & 2 \\
3 & 4 \\
\end{pmatrix}
\quad \Rightarrow \quad
A^{-1} = \begin{pmatrix}
-2 & 1 \\
1.5 & -0.5 \\
\end{pmatrix}
\]

সীমাবদ্ধতা:

  • inv() ফাংশন শুধুমাত্র স্কয়ার ম্যাট্রিক্সের জন্য কাজ করে (যার সারি এবং কলামের সংখ্যা সমান হতে হবে)।
  • যদি ম্যাট্রিক্স singular (ডিটারমিন্যান্ট শূন্য) হয়, তাহলে এই ফাংশন একটি ত্রুটি তৈরি করবে।

২. pinv() ফাংশন

pinv() ফাংশন প্সিউডো-ইনভার্স (pseudoinverse) বের করতে ব্যবহৃত হয়, যা ম্যাট্রিক্সের ইনভার্স না থাকলে ব্যবহৃত হয়। এটি একটি সিস্টেমের সমাধান খুঁজে বের করতে সহায়তা করে যখন ম্যাট্রিক্সের ইনভার্স নেই। pinv() ফাংশনটি সাধারণত নন-স্কয়ার ম্যাট্রিক্স বা সিঙ্গুলার ম্যাট্রিক্সের জন্য ব্যবহার করা হয় এবং এটি Moore-Penrose Pseudoinverse ব্যবহার করে ইনভার্সের মত কাজ করে।

সিনট্যাক্স:

A_pinv = pinv(A)

এখানে, A_pinv হল ম্যাট্রিক্স A এর প্সিউডো-ইনভার্স।

উদাহরণ:

A = [1 2 3; 4 5 6];
A_pinv = pinv(A);  % ম্যাট্রিক্স A এর প্সিউডো-ইনভার্স বের করা
disp(A_pinv);

এটি একটি 2x3 ম্যাট্রিক্সের প্সিউডো-ইনভার্স বের করবে (যেহেতু এটি স্কয়ার নয়):

\[
A = \begin{pmatrix}
1 & 2 & 3 \\
4 & 5 & 6 \\
\end{pmatrix}
\quad \Rightarrow \quad
A^{+} = \begin{pmatrix}
-0.9444 & -0.4444 \\
0.7222 & 0.2222 \\
-0.5 & 0 \\
\end{pmatrix}
\]

সুবিধা:

  • pinv() ফাংশন ব্যবহার করা যেতে পারে নন-স্কয়ার ম্যাট্রিক্সের জন্য।
  • এটি singular ম্যাট্রিক্সের জন্যও কাজ করে এবং সেগুলির প্সিউডো-ইনভার্স বের করতে সক্ষম।
  • গাণিতিকভাবে এটি Moore-Penrose Pseudoinverse পদ্ধতি অনুসরণ করে, যা প্রকৌশল এবং ডেটা সায়েন্সে বেশ কার্যকর।

inv() এবং pinv() এর মধ্যে পার্থক্য

বৈশিষ্ট্যinv()pinv()
প্রকারইনভার্স ম্যাট্রিক্সপ্সিউডো-ইনভার্স ম্যাট্রিক্স
ব্যবহারযোগ্যতাস্কয়ার ম্যাট্রিক্সস্কয়ার অথবা নন-স্কয়ার ম্যাট্রিক্স
ডিটারমিন্যান্টডিটারমিন্যান্ট শূন্য নয়সিঙ্গুলার ম্যাট্রিক্সের জন্যও কাজ করে
সীমাবদ্ধতাশুধুমাত্র নন-সিঙ্গুলার স্কয়ার ম্যাট্রিক্সের জন্যসিঙ্গুলার এবং নন-স্কয়ার ম্যাট্রিক্সের জন্য
গণনাইনভার্সে নির্ভর করেপ্সিউডো-ইনভার্স (Moore-Penrose)

সারাংশ

  • inv() ফাংশন: এটি শুধুমাত্র নন-সিঙ্গুলার স্কয়ার ম্যাট্রিক্সের ইনভার্স বের করতে ব্যবহৃত হয়। যদি ম্যাট্রিক্সের ডিটারমিন্যান্ট শূন্য হয়, তবে এটি ত্রুটি তৈরি করবে।
  • pinv() ফাংশন: এটি প্সিউডো-ইনভার্স বের করে, যা নন-স্কয়ার বা সিঙ্গুলার ম্যাট্রিক্স সহ সমস্ত ম্যাট্রিক্সের জন্য কাজ করে।

inv() ফাংশনটি সাধারণত গাণিতিক সমীকরণের সিস্টেমে ব্যবহৃত হয়, যেখানে ইনভার্স থাকা গুরুত্বপূর্ণ, কিন্তু pinv() ফাংশনটি এমন ক্ষেত্রে ব্যবহৃত হয় যেখানে ম্যাট্রিক্স সিঙ্গুলার বা নন-স্কয়ার হতে পারে, এবং প্সিউডো-ইনভার্স সমাধান উপযোগী হয়।

Content added By
Promotion

Are you sure to start over?

Loading...