矩阵的不同运算

原文: https://www.geeksforgeeks.org/different-operation-matrices/

有关矩阵的介绍,您可以参考以下文章:矩阵介绍

在本文中,我们将讨论关于矩阵及其属性的各种运算:

矩阵加法

两个矩阵A[m * n]B[m * n]相加得出矩阵C[m * n]C的元素是AB中相应元素的总和,可以显示为:

1

矩阵相加的算法可以写成:

for i in 1 to m
   for j in 1 to n
      cij = aij + bij

要点

  • 矩阵加法是可交换的,这意味着A + B = B + A

  • 矩阵的加法是关联的,这意味着A + (B + C) = (A + B) + C

  • 矩阵A, BA + B的顺序始终相同

  • 如果AB的顺序不同,则无法计算A + B

  • 加法运算的复杂度为O(m * n),其中m * n是矩阵的阶数

矩阵减法

两个矩阵A[m * n]B[m * n]的减法得到矩阵C[m * n]C的元素是AB中相应元素的差,可以表示为:

2

矩阵相减的算法可写为:

for i in 1 to m
   for j in 1 to n
      cij = aij-bij

要点

  • 矩阵相减是不可交换的,这意味着A-B≠B-A

  • 矩阵相减是非缔合的,这意味着A - (B - C) ≠ (A - B) - C

  • 矩阵A, BA-B的顺序始终相同

  • 如果AB的顺序不同,则无法计算A-B

  • 减法运算的复杂度为O(m * n),其中m * n是矩阵的阶数

矩阵乘法

两个矩阵A[m * n]B[n * p]的乘法给出矩阵C[m * p]。 这意味着A中的列数必须等于B中的行数才能计算C = A * B。 要计算元素c11,请将A的第一行的元素与B的第一列相乘,然后将它们相加(5 * 1 + 6 * 4),如下所示:

1

m * n阶矩阵A,与n * p阶矩阵B相乘的算法可以写成:

for i in 1 to m
   for j in 1 to p
      cij = 0
      for k in 1 to n
         cij += aik*bkj

要点

  • 矩阵的乘法是不可交换的,这意味着A * B ≠ B * A

  • 矩阵相乘是关联的,这意味着A * (B * C) = (A * B) * C

  • 为了计算A * BA中的列数必须等于B中的行数

  • A * B的存在并不意味着B * A的存在

  • 乘法运算的复杂度(A * B)为O(m * n * p),其中m * nn * p分别为AB的阶数

  • 计算为A * B的矩阵C的阶为m * p,其中m * nn * p分别为AB的阶

继续阅读:矩阵的行列式矩阵的伴随和逆矩阵