mtimes, *
Multiplicación de matrices
Sintaxis
Descripción
es el producto matricial de C = A*BA y B. Si A es una matriz de m por p y B es una matriz de p por n, C es una matriz de m por n definida por
Esta definición indica que C(i,j) es el producto interno de la i-ésima fila de A por la j-ésima columna de B. Puede escribir esta definición utilizando el operador de dos puntos de MATLAB® como
C(i,j) = A(i,:)*B(:,j)
A y B son no escalares, el número de columnas de A debe ser igual al número de filas de B. La multiplicación de matrices no es universalmente conmutativa para entradas no escalares. Es decir, normalmente A*B no es igual a B*A. Si al menos una entrada es escalar, A*B es equivalente a A.*B y es conmutativa.Ejemplos
Argumentos de entrada
Argumentos de salida
Sugerencias
Con multiplicaciones de matrices en cadena, como
A*B*C, podría mejorar el tiempo de ejecución utilizando paréntesis para dictar el orden de las operaciones. Considere la multiplicación de tres matrices conA*B*C, dondeAes de 500 por 2,Bes de 2 por 500 yCes de 500 por 2.Sin paréntesis, el orden de las operaciones es de izquierda a derecha por lo que
A*Bse calcula primero, lo que forma una matriz de 500 por 500. Después esta matriz se multiplica porCpara obtener el resultado de 500 por 2.Si, en su lugar, especifica
A*(B*C),B*Cse multiplica primero y produce una matriz de 2 por 2. Después, la matriz pequeña multiplicaApara obtener el mismo resultado de 500 por 2, pero con menos operaciones y menos uso de memoria intermedia.
Referencias
[1] “BLAS (Basic Linear Algebra Subprograms).” Accessed July 18, 2022. https://netlib.org/blas/.
[2] Davis, Timothy A. “Algorithm 1000: SuiteSparse:GraphBLAS: Graph Algorithms in the Language of Sparse Linear Algebra.” ACM Transactions on Mathematical Software 45, no. 4 (December 31, 2019): 1–25. https://doi.org/10.1145/3322125.