c语言中用直接法求解矩阵乘法采用分块矩阵的方式进行得到递推公式
时间: 2023-12-22 11:05:00 浏览: 106
基于C语言的矩阵乘法
采用分块矩阵的方式求解矩阵乘法的直接法,可以将大矩阵分成若干个小矩阵,然后对每个小矩阵进行乘法计算。这样做的好处是可以减少计算量和内存消耗。
具体地,假设要计算两个矩阵A和B的乘积C,其中A是m×k的矩阵,B是k×n的矩阵,可以将A和B分别分成大小为s×s的小矩阵,即将A分成Am1, Am2, ..., Amk个小块,将B分成B1m, B2m, ..., Bkn个小块。
然后,对于每个小块,采用常规的矩阵乘法进行计算,得到一个大小为s×s的结果矩阵。最后将这些结果矩阵组合成一个大的矩阵C,即可得到矩阵乘积的结果。
递推公式如下:
Cij = ∑k=1~(n/s) Ami,k * Bk,j
其中,i表示A矩阵中第i行的小块,j表示B矩阵中第j列的小块,n/s表示小矩阵的个数。
阅读全文