मान लीजिए कि हमारे पास एक वर्ग मैट्रिक्स है, हमारा काम यह जांचना है कि मैट्रिक्स हैंकेल मैट्रिक्स है या नहीं। हैंकेल मैट्रिक्स एक वर्ग मैट्रिक्स है, जिसमें बाएं से दाएं प्रत्येक आरोही तिरछा-विकर्ण तत्व स्थिर होता है। मान लीजिए कि एक मैट्रिक्स नीचे जैसा है -
1 | 2 | 3 | 4 | 5 |
2 | 3 | 4 | 5 | 6 |
3 | 4 | 5 | 6 | 7 |
4 | 5 | 6 | 7 | 8 |
5 | 6 | 7 | 8 | 9 |
यह जांचने के लिए कि मैट्रिक्स हैंकेल मैट्रिक्स है या नहीं, हमें यह जांचना होगा कि क्या mat[i, j] =ai+j या नहीं। ai+j के रूप में परिभाषित किया जा सकता है -
$$a_{i+j}=\begin{cases}mat[i+j,0]उदाहरण
#include <iostream>
#define N 5
using namespace std;
bool isHankelMat(int mat[N][N], int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i + j < n) {
if (mat[i][j] != mat[i + j][0])
return false;
} else {
if (mat[i][j] != mat[i + j - n + 1][n - 1])
return false;
}
}
}
return true;
}
int main() {
int n = 5;
int mat[N][N] = {
{ 1, 2, 3, 4, 5},
{ 2, 3, 4, 5, 6},
{ 3, 4, 5, 6, 7},
{ 4, 5, 6, 7, 8},
{ 5, 6, 7, 8, 9}
};
if(isHankelMat(mat, n))
cout << "This is Hankel Matrix";
else
cout << "This is not Hankel Matrix";
}
आउटपुट
This is Hankel Matrix