কম্পিউটার টিউটোরিয়াল

C++-এ একটি ম্যাট্রিক্স ইনভার্টিবল (Invertible) কিনা চেক করা

এখানে আমরা দেখব কিভাবে একটি ম্যাট্রিক্স ইনভার্টিবল (Invertible) কিনা চেক করতে হয়। যদি একটি ম্যাট্রিক্স M হয়, তবে এর ইনভার্স M⁻¹ হবে:

$$M^{-1}=\frac{adj(M)}{|M|}$$

তাই যদি M-এর ডিটারমিন্যান্ট নন-জিরো হয়, তবে শুধুমাত্র তখনই ইনভার্স পাওয়া যাবে, অন্যথায় ইনভার্স পাওয়া যাবে না। তাই এখানে আমাদের ডিটারমিন্যান্ট নন-জিরো কিনা চেক করতে হবে। ডিটারমিন্যান্ট বের করা একটি রিকার্সিভ প্রসেস। সাবম্যাট্রিক্স বের করতে হবে, তারপর তার ডিটারমিন্যান্ট বের করে চূড়ান্ত ক্যালকুলেশনে ব্যবহার করতে হবে। কোড দেখলে বোঝা যাবে।

উদাহরণ কোড

#include <iostream>
#define N 4
using namespace std;

void findCoFactor(int mat[N][N], int mat2[N][N], int p, int q, int n) {
    int i = 0, j = 0;
    for (int row = 0; row < n; row++) {
        for (int col = 0; col < n; col++) {
            if (row != p && col != q) {
                mat2[i][j++] = mat[row][col];
                if (j == n - 1) {
                    j = 0;
                    i++;
                }
            }
        }
    }
}

int getDeterminant(int mat[N][N], int n) {
    int determinant = 0;
    if (n == 1)
        return mat[0][0];
    int temp[N][N];
    int sign = 1;
    for (int f = 0; f < n; f++) {
        findCoFactor(mat, temp, 0, f, n);
        determinant += sign * mat[0][f] * getDeterminant(temp, n - 1);
        sign = -sign;
    }
    return determinant;
}

bool isMatrixInvertible(int mat[N][N], int n) {
    if (getDeterminant(mat, N) != 0)
        return true;
    else
        return false;
}

int main() {
    int matrix[N][N] = {
        {1, 0, 2, -1},
        {3, 0, 0, 5},
        {2, 1, 4, -3},
        {1, 0, 5, 0}
    };
    if (isMatrixInvertible(matrix, N))
        cout << "The matrix is invetible";
    else
        cout << "The matrix is not invetible";
    return 0;
}

আউটপুট

The matrix is invetible
  1. C++-এ ম্যাট্রিক্সের জিগজ্যাগ (ডায়াগোনাল) ট্রাভার্সাল

  2. সি++-এ স্পায়রাল ম্যাট্রিক্স III (Spiral Matrix III)

  3. C++-এ ইনভোলিউটরি ম্যাট্রিক্স যাচাই করার প্রোগ্রাম

  4. C++-এ আইডেমপটেন্ট ম্যাট্রিক্স যাচাই করার প্রোগ্রাম