主要分为两种:加法公式和乘法公式。
加法公式:
设A和B是两个分块矩阵,它们的大小相等,即A和B都是k×k的分块矩阵,则它们的和C也是一个k×k的分块矩阵。具体来说,C = A + B = [A11+B11 A12+B12 … A1k+B1k A21+B21 A22+B22 … A2k+B2k ………… Ak1+Bk1 Ak2+Bk2 … Akk+Bkk],其中每个Cij都是一个n/k×n/k的矩阵。
乘法公式:
设A和B是两个分块矩阵,A的大小为k×m,B的大小为m×k,则它们的乘积C也是一个k×k的分块矩阵。首先,将大矩阵A和B按照行列分成 M*N 个小块,每个小块的大小为 m*n,其中 M = ceil(M'/m),N = ceil(N'/n),M'表示大矩阵A的行数, N'表示大矩阵A的列数。则每个小块的编号为 B(i,j),其中 i 属于 [1,M],j 属于 [1,N]。接着,定义一个块乘运算,表示两个小块相乘的结果。假设有两个小块 A(p,q) 和 B(q,r),其中 p 属于 [1,M],r 属于 [1,N],则它们的块乘结果为 C(p,r) = A(p,q) * B(q,r)。最后,定义整个大矩阵的乘法运算,即 C = A * B。它的计算公式为:C(i,j) = sum(C(k,l)), k belongs [1,M], l belongs [1,N], k =< i <= (k + 1)m, l =< j <= (l + 1)n, B(k,l) A((i-1)m+1:i*m, (j-1)n+1:j*n)。这个公式的意思是,对于每个大矩阵C的元素C(i,j),我们将其分配给M*N个小块,分别与小块内的元素计算块乘运算,然后将结果按照指定的方式合并,得到C(i,j)的值。
以上就是分块矩阵的公式,希望对解决您的问题有所帮助。