Python中的行梯队

问题描述 投票:-1回答:1
this code is for 3*3 matrix. i need it to be applicable on ant m*n matrix.
import numpy as np
b=np.arange(1,10).reshape(3,3)

这将检查矩阵的形状,但仅适用于3 * 3矩阵

if b.shape[0]==b.shape[1]:
    for i in range(b.shape[0]): 
        for j in range(b.shape[1]):
            if i==1:
                b[i]=b[i-i][j]*b[i]-[b[i][j]*b[i-i]]
                i=i+1
                b[i]=b[i-i][j]*b[i]-[b[i][j]*b[i-i]]
                j=j+1
                b[i]=b[i]-[b[i-1]*(b[i][j]/b[i-1][j])]
print(b)
python forms row reduction
1个回答
0
投票

实际上在python中有一个内置库sympy。函数Matrix().rref()可用于获得矩阵的简化行梯形形式。该函数的返回值包括两件事:1)给定矩阵的简化行梯形形式; 2)包含枢轴的矩阵中各行的索引(请注意,这些行的索引为0)。

这里是如何使用此功能的示例:

import sympy
sympy.Matrix([[1,2,3],[2,3,4]]).rref()

(Matrix([
[1, 0, -1],
[0, 1,  2]]), (0, 1))

您可以找到Matrix().rref() here的实现。

© www.soinside.com 2019 - 2024. All rights reserved.