эшелон ряда в python - PullRequest
       32

эшелон ряда в python

0 голосов
/ 09 января 2020

этот код для матрицы 3 * 3. мне нужно, чтобы это было применимо к муравье m * n матрицы.

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)

1 Ответ

0 голосов
/ 09 января 2020

На самом деле в 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() здесь .

...