Python 显示上三角矩阵
矩阵是一个由许多数字按行和列排列的二维数组。一个方阵(其行和列具有相同数量的元素)有两个对角线。一个是主对角线-位于方阵的左上角到右下角。另一个是副对角线-位于右上角到左下角。
对于一个方阵,如果主对角线以下的所有元素都是零,则称为 上三角 矩阵。
[1, 3, 4]
[0, 5, 6]
[0, 0, 3]
如果给定的矩阵不是方阵,则无法将矩阵转换为上三角矩阵。
输入输出情况
假设我们有一个方阵。输出矩阵将是上三角矩阵。
Input matrix:
[1, 3, 5, 7]
[9, 2, 4, 2]
[6, 3, 1, 4]
[5, 8, 7, 6]
Upper triangular matrix:
[1, 3, 5, 7]
[0, 2, 4, 2]
[0, 0, 1, 4]
[0, 0, 0, 6]
让我们看下面的示例来显示上三角矩阵。我们将使用Python列表的列表来创建矩阵。
示例
在这个示例中,我们将通过将下三角元素(4、8、1)替换为零来显示上三角矩阵。
arr = [[1, 2, 3],
[4, 5, 6],
[1, 8, 5]]
print("The original matrix: ")
for row in arr:
print(row)
print()
print("The upper triangular matrix: ")
if(len(arr) != len(arr[0])):
print("Matrix should be a square matrix");
else:
for i in range(3):
for j in range(3):
if(i<=j):
print(arr[i][j],end=" ")
else:
print(0,end=" ")
print()
输出
The original matrix:
[1, 2, 3]
[4, 5, 6]
[1, 8, 5]
The upper triangular matrix:
1 2 3
0 5 6
0 0 5
示例
在这个示例中,我们只显示了上三角矩阵,而没有将下三角元素转换为零。
arr = [[1, 2, 3],
[4, 5, 6],
[1, 8, 5]]
print("The original matrix: ")
for row in arr:
print(row)
print()
print("The upper triangular matrix: ")
for i in range(3):
for j in range(3):
if(i > j):
print(end=" ")
else:
print(arr[i][j],end=" ")
print(" ")
输出
The original matrix:
[1, 2, 3]
[4, 5, 6]
[1, 8, 5]
The upper triangular matrix:
1 2 3
5 6
5
示例
在这个例子中,我们将通过将下三角元素转化为零来更新原始矩阵,然后我们将展示上三角矩阵。
arr = [[1, 2, 3],
[4, 5, 6],
[1, 8, 5]]
print("The original matrix: ")
for row in arr:
print(row)
print()
print("The upper triangular matrix: ")
for i in range(3):
for j in range(3):
if(i > j):
arr[i][j] = 0
print(arr[i][j],end=" ")
else:
print(arr[i][j],end=" ")
print(" ")
输出
The original matrix:
[1, 2, 3]
[4, 5, 6]
[1, 8, 5]
The upper triangular matrix:
1 2 3
0 5 6
0 0 5