矩阵是由按行和列排列的许多数字组成的二维数组。方阵(其行和列具有相同数量的元素)有两条对角线。一种是主对角线 - 位于方阵的左上角到右下角。第二个是辅助对角线 - 位于从右上角到左下角。
对于方阵,如果主对角线以下的所有元素均为零,则称为上三角矩阵。
[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
以上是Python程序显示上三角矩阵的详细内容。更多信息请关注PHP中文网其他相关文章!