এই টিউটোরিয়ালে আমরা শিখব কিভাবে একটি ম্যাট্রিক্সের ডিটারমিন্যান্ট বের করা যায়।
ম্যাট্রিক্সের ডিটারমিন্যান্ট বের করার ধাপগুলো:
ম্যাট্রিক্স ইনিশিয়ালাইজ করুন।
ম্যাট্রিক্সের ডিটারমিন্যান্ট বের করার জন্য একটি ফাংশন লিখুন।
যদি ম্যাট্রিক্সের সাইজ ১ বা ২ হয়, তবে সরাসরি ডিটারমিন্যান্ট বের করুন। এটি সহজ।
ডিটারমিন্যান্ট, সাবম্যাট্রিক্স, সাইন 위한 ভেরিয়েবল ইনিশিয়ালাইজ করুন।
১ থেকে ম্যাট্রিক্সের সাইজ N পর্যন্ত ইটারেট করুন।
বামদিকের ম্যাট্রিক্স উপাদানের জন্য সাবম্যাট্রিক্স বের করুন।
বর্তমান উপাদানের সারি এবং কলাম ছাড়া সব উপাদান
বর্তমান উপাদান এবং এর কোফ্যাক্টরের গুণফল ডিটারমিন্যান্টে যোগ করুন।
সাইন পরিবর্তন করুন।
ম্যাট্রিক্সের ডিটারমিন্যান্ট প্রিন্ট করুন।
উদাহরণ
নিচে কোডটি দেওয়া হলো:
#include <bits/stdc++.h> using namespace std; #define N 3 void subMatrix(int mat[N][N], int temp[N][N], int p, int q, int n) { int i = 0, j = 0; // filling the sub matrix for (int row = 0; row < n; row++) { for (int col = 0; col < n; col++) { // skipping if the current row or column is not equal to the current // element row and column if (row != p && col != q) { temp[i][j++] = mat[row][col]; if (j == n - 1) { j = 0; i++; } } } } } int determinantOfMatrix(int matrix[N][N], int n) { int determinant = 0; if (n == 1) { return matrix[0][0]; } if (n == 2) { return (matrix[0][0] * matrix[1][1]) - (matrix[0][1] * matrix[1][0]); } int temp[N][N], sign = 1; for (int i = 0; i < n; i++) { subMatrix(matrix, temp, 0, i, n); determinant += sign * matrix[0][i] * determinantOfMatrix(temp, n - 1); sign = -sign; } return determinant; } int main() { int mat[N][N] = {{2, 1, 3}, {6, 5, 7}, {4, 9, 8}}; cout << "Determinant: " << determinantOfMatrix(mat, N) << endl; return 0; }আউটপুট
উপরের প্রোগ্রামটি এক্সিকিউট করলে নিচের ফলাফল পাওয়া যাবে:
Determinant: 36
উপসংহার
টিউটোরিয়াল সম্পর্কে কোনো প্রশ্ন থাকলে কমেন্ট সেকশনে জানান।