📜  行梯队表格

📅  最后修改于: 2022-05-13 01:55:03.724000             🧑  作者: Mango

行梯队表格

如果矩阵具有以下属性,则矩阵为行梯队形式:

  • 任何完全由零组成的行都出现在矩阵的底部。
  • 对于不包含完全零的每一行,第一个非零条目为 1(称为前导 1)。
  • 对于两个连续(非零)行,较高行中的前导 1 比较低行中的前导 1 更靠左。

对于缩减行梯队形式,每行的前导 1 在该列中其下方和上方包含 0。

下面是一个行梯队形式的例子:

\begin{bmatrix} 1 & 2 & -1  & 4 \\ 0 & 1 &  0 & 3 \\ 0 & 0 &  1 & 2 \end{bmatrix}

和减少的行梯队形式:

\begin{bmatrix} 0 & 1 & 0  & 5 \\ 0 & 0 &  1 & 3 \\ 0 & 0 &  0 & 0 \end{bmatrix}

使用称为高斯消元的技术,可以将任何矩阵转换为缩减行梯形形式。这对于求解线性方程组特别有用。

高斯消元法

高斯消元法是一种将矩阵转换为缩减行梯形形式的方法。它也可以用作寻找线性方程组解的方法。这背后的想法是我们对行执行一些数学运算并继续直到只剩下一个变量。

以下是我们可以执行的一些操作:

  • 任意两行互换
  • 将两行相加。
  • 将一行乘以一个非零常数(即 1/3、-1/5、2)。

给定以下线性方程:

x - 2y + z = -1 \\ 2x + y - 3z = 8 \\ 4x - 7y + z = -2

和上面的增广矩阵

\begin{bmatrix} 1 & -2 &  1 & : & -1 \\ 2 &  1 &  3 & : & 8\\ 4 & -7 &  1 & : & -2 \end{bmatrix}

现在,我们需要将其转换为行梯队形式。要将其转换为行梯队形式,我们需要执行高斯消除。

  • 首先,我们需要从 r 2中减去 2*r 1和从 r 3中减去 4*r 1以获得 0 在 r 2的第一位,并且 3 .

\begin{bmatrix} 1 & -2 &  1 & : & -1 \\ 0 &  5 &  -5 & : & 10\\ 0 &  1 &  -3 & : & 2 \end{bmatrix}

  • 接下来,我们将交换行 r2 和 r3,然后从 r 3中减去 5*r 2以获得第三行中的第二个 0。

\begin{bmatrix} 1 & -2 &  1 & : & -1 \\ 0 &  1 &  -3 & : & 2\\ 0 &  0 &  10 & : & 0 \end{bmatrix}

  • 现在,我们可以从 r 3推导出z的值,即 10 z =0 ⇾ z=0。借助z=0的值,我们可以把它放到r2,y=2。同样,我们可以把y和z的值放在r 1中,我们得到x=3的值

矩阵的秩

矩阵的秩是行阶梯形式的非零行数。要找到排名,我们需要执行以下步骤:

  • 找到给定矩阵的行梯形形式
  • 计算非零行的数量。

让我们举一个例子矩阵:

\begin{bmatrix} 4 & 0 & 1\\   2 & 0 & 2\\   3 & 0 & 3 \end{bmatrix}

现在,我们将上述矩阵简化为行梯队形式

\begin{bmatrix} 1 & 0 & \frac{1}{4}\\   0 & 0 & 1\\   0 & 0 & 0 \end{bmatrix}

这里,只有一行包含非零元素。因此,矩阵的秩为 2。

执行

  • 要将矩阵转换为简化的行梯队形式,我们使用Python中的 Sympy 包,首先,我们需要安装它。
# install sympy
! pip install sympy
  
# import sympy
import sympy
  
# find the reduced row echelon form
sympy.Matrix([[4,0,1],[2,0,2],[3,0,3]]).rref()
  
# find the rank of matrix
print("Rank of matrix :",sympy.Matrix([[4,0,1],[2,0,2],[3,0,3]]).rank())

输出:

(Matrix([
 [1, 0, 0],
 [0, 0, 1],
 [0, 0, 0]]), (0, 2))
 
 Rank of matrix : 2