एक वर्ग मैट्रिक्स का डिटरमिनेंट उसके एलिमेंट मानों का उपयोग करके गणना किया जा सकता है। मैट्रिक्स A के डिटरमिनेंट को det(A) से दर्शाया जा सकता है और ज्यामिति में मैट्रिक्स द्वारा वर्णित रैखिक परिवर्तन के स्केलिंग फैक्टर के रूप में जाना जाता है।
मैट्रिक्स के डिटरमिनेंट का एक उदाहरण निम्नलिखित है।
मैट्रिक्स है: 3 1 2 7 उपरोक्त मैट्रिक्स का डिटरमिनेंट = 7*3 - 2*1 = 21 - 2 = 19 तो, डिटरमिनेंट 19 है।
मैट्रिक्स का डिटरमिनेंट गणना करने का प्रोग्राम निम्नलिखित है।
उदाहरण
#include<iostream> #include<math.h> using namespace std; int determinant( int matrix[10][10], int n) { int det = 0; int submatrix[10][10]; if (n == 2) return ((matrix[0][0] * matrix[1][1]) - (matrix[1][0] * matrix[0][1])); else { for (int x = 0; x < n; x++) { int subi = 0; for (int i = 1; i < n; i++) { int subj = 0; for (int j = 0; j < n; j++) { if (j == x) continue; submatrix[subi][subj] = matrix[i][j]; subj++; } subi++; } det = det + (pow(-1, x) * matrix[0][x] * determinant( submatrix, n - 1 )); } } return det; } int main() { int n, i, j; int matrix[10][10]; cout << "मैट्रिक्स का आकार दर्ज करें:\n"; cin >> n; cout << "मैट्रिक्स के एलिमेंट्स दर्ज करें:\n"; for (i = 0; i < n; i++) for (j = 0; j < n; j++) cin >> matrix[i][j]; cout<<"दर्ज किया गया मैट्रिक्स है:"<<endl; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) cout << matrix[i][j] <<" "; cout<<endl; } cout<<"मैट्रिक्स का डिटरमिनेंट है "<< determinant(matrix, n); return 0; } आउटपुट
मैट्रिक्स का आकार दर्ज करें: 3 मैट्रिक्स के एलिमेंट्स दर्ज करें: 7 1 3 2 4 1 1 5 1 दर्ज किया गया मैट्रिक्स है: 7 1 3 2 4 1 1 5 1 मैट्रिक्स का डिटरमिनेंट है 10
उपरोक्त प्रोग्राम में, main() फ़ंक्शन में मैट्रिक्स का आकार और एलिमेंट्स प्रदान किए जाते हैं। फिर determinant() फ़ंक्शन को कॉल किया जाता है। यह मैट्रिक्स का डिटरमिनेंट लौटाता है जिसे प्रदर्शित किया जाता है। यह निम्नलिखित कोड स्निपेट द्वारा प्रदर्शित होता है।
cout << "मैट्रिक्स का आकार दर्ज करें:\n"; cin >> n; cout <<"मैट्रिक्स के एलिमेंट्स दर्ज करें:\n"; for (i = 0; i < n; i++) for (j = 0; j < n; j++) cin >> matrix[i][j]; cout<<"दर्ज किया गया मैट्रिक्स है:"<<endl; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) cout << matrix[i][j] <<" "; cout<<endl; } cout<<"मैट्रिक्स का डिटरमिनेंट है "<< determinant(matrix, n); determinant() फ़ंक्शन में, यदि मैट्रिक्स का आकार 2 है, तो डिटरमिनेंट की सीधे गणना की जाती है और मान लौटाया जाता है। यह निम्नलिखित है।
if (n == 2) return ((matrix[0][0] * matrix[1][1]) - (matrix[1][0] * matrix[0][1]));
यदि मैट्रिक्स का आकार 2 नहीं है, तो डिटरमिनेंट की गणना रिकर्सिव रूप से की जाती है। x, i और j लूप वेरिएबल्स के साथ 3 नेस्टेड फॉर लूप्स का उपयोग किया जाता है। इन लूप्स का उपयोग डिटरमिनेंट की गणना के लिए किया जाता है और determinant() फ़ंक्शन को आंतरिक डिटरमिनेंट की गणना के लिए रिकर्सिवली कॉल किया जाता है और फिर इसे बाहरी मान से गुणा किया जाता है। यह निम्नलिखित कोड स्निपेट द्वारा प्रदर्शित होता है।
for (int x = 0; x < n; x++) { int subi = 0; for (int i = 1; i < n; i++) { int subj = 0; for (int j = 0; j < n; j++) { if (j == x) continue; submatrix[subi][subj] = matrix[i][j]; subj++; } subi++; } det = det + (pow(-1, x) * matrix[0][x] * determinant( submatrix, n - 1 )); }