托普利兹矩阵,简称为T型矩阵,它是由Bryc、Dembo、Jiang于2006年提出的。托普利兹矩阵的主对角线上的元素相等,平行于主对角线的线上的元素也相等。
汉克尔矩阵 (Hankel Matrix) 是指每一条副对角线上的元素都相等的矩阵,在数字信号处理、数值计算、系统控制等领域均有广泛的应用。
题目:1.证明一个矩阵为托普利兹矩阵。 2.证明一个矩阵为汉克尔矩阵。
// 托普利兹矩阵
function isToeplitzMatrix(matrix) {
for(let y = 0; y < matrix.length; y++ ){
for(let x = 0; x < matrix[y].length; x++){
if(y === matrix.length - 1 || x === matrix[y].length - 1){
continue;
}
if(matrix[y][x] !== matrix[y+1][x+1]){
return false;
}
}
}
return true;
}
// 汉克尔矩阵
function isHankelMatrix(matrix) {
for(let y = 0; y < matrix.length; y++ ){
for(let x = matrix[y].length - 1; x >= 0; x--){
if(y === matrix.length - 1 || x === 0){
continue;
}
if(matrix[y][x] !== matrix[y+1][x-1]){
return false;
}
}
}
return true;
}
例:
const matrix1 = [ [1, 2, 3, 4], [5, 1, 2, 3], [0, 5, 1, 2], [9, 0, 5, 1] ]; isToeplitzMatrix(matrix1); // true const matrix2 = [ [1, 2, 3, 4], [5, 1, 2, 4], [0, 5, 1, 2], [9, 0, 5, 1] ]; isToeplitzMatrix(matrix2); // false const matrix3 = [ [1, 2, 3], [2, 3, 4], [3, 4, 4.5], [4, 4.5, 5.5] ]; isHankelMatrix(matrix2); // true