Sobes.tech
Middle
21

Как матрицы умножаются друг на друга?

Компании, где спрашивали
Graveling

Ответ от нейросети

sobes.tech AI

Матрицы умножаются по правилу: элемент результата в строке i и столбце j равен сумме произведений элементов i-й строки первой матрицы на элементы j-го столбца второй матрицы.

Если первая матрица A размером M×N, а вторая B размером N×P, то результат C будет размером M×P, и каждый элемент C[i][j] вычисляется так:

[ C[i][j] = \sum_{k=1}^{N} A[i][k] \times B[k][j] ]

Пример на Go:

func multiplyMatrices(A, B [][]int) [][]int {
    m, n := len(A), len(A[0])
    n2, p := len(B), len(B[0])
    if n != n2 {
        return nil // Нельзя умножить
    }
    C := make([][]int, m)
    for i := 0; i < m; i++ {
        C[i] = make([]int, p)
        for j := 0; j < p; j++ {
            sum := 0
            for k := 0; k < n; k++ {
                sum += A[i][k] * B[k][j]
            }
            C[i][j] = sum
        }
    }
    return C
}