Search code examples
pythonmatrixscipy

python built-in function to do matrix reduction


Does python have a built-in function that converts a matrix into row echelon form (also known as upper triangular)?


Solution

  • If you can use sympy, Matrix.rref() can do it:

    In [8]: sympy.Matrix(np.random.random((4,4))).rref()
    Out[8]: 
    ([1, 1.42711055402454e-17, 0, -1.38777878078145e-17]
    [0,                  1.0, 0,  2.22044604925031e-16]
    [0, -2.3388341405089e-16, 1, -2.22044604925031e-16]
    [0, 3.65674099486992e-17, 0,                   1.0],
     [0, 1, 2, 3])