矩陣的乘法


定義

image-20201220001448657

注意,上面的圖片中,\(A_{m \times s}\)\(B_{s \times n}\)\(C\) 中最后一行的第 2 個數的下標右一點小錯誤,不過,無傷大雅。

java 代碼實現:

/**
 * 求解矩陣的乘法
 * @param m1 矩陣,格式為 m 行乘以 s 列
 * @param m2 矩陣,格式為 s 行乘以 n 列
 * @return 一個 m 乘以 n 的矩陣
 */
public int[][] multiMatrix(int[][] m1, int[][] m2) {
    int[][] res = new int[m1.length][m2[0].length];
    for (int i = 0; i < m1.length; i++) {
        for (int j = 0; j < m2[0].length; j++) {
            for (int k = 0; k < m2.length; k++) {
                res[i][j] += m1[i][k] * m2[k][j];
            }
        }
    }
    return res;
}

測試:

public static void main(String[] args) {
    Matrix matrix = new Matrix();
    int[][] m1 = {{4, 3, 1},
                  {2, 1, 3},
                  {3, 1, 2}};
    int[][] m2 = {{2,2},
                  {1,3},
                  {0,1}};
    int[][] res = matrix.multiMatrix(m1, m2);
    for (int i = 0; i < res.length; i++) {
        for (int j = 0; j < res[0].length; j++) {
            System.out.print(res[i][j] + " ");
        }
        System.out.println();
    }
}

輸出結果:

11 18
5 10
7 11

上面的測試用例對應下面的示例:

image-20201220011939298

方陣的乘冪

image-20201220020132023

注意,我們平時說的矩陣的乘冪,是特指方陣的乘冪。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM