A.10 Operações matriciais
A.10.1 Multiplicação matricial
Operações algébricas, incluindo a multiplicação *
, atuam elemento a elemento sobre matrizes. Mas se a intenção é fazer uma multiplicação matricial (Figura A.1) usamos o operador (%*%
).
# multiplicação de duas matrizes
A <- matrix(c(2, 1, 4, 3, 0, 5), ncol = 2)
A
B <- matrix(c(3, 2, 1, 4), ncol = 2)
B
A * B # erro pela diferença nas dims entre as matrizes
prod_mat <- A %*% B
prod_mat
# multiplicação de uma matriz por um escalar
m <- matrix(1:16, nrow = 4, byrow = TRUE)
m
m * 2
A.10.2 Adição matricial
m
m + m
A.10.3 Produto escalar
u <- 1:3
v <- c(5, 12, 13)
u * v
# produto escalar = u.v = 1*5 + 2*12 + 3*13
crossprod(u, v)
A.10.4 Determinante
# matriz exemplo
mat_ex <- matrix(c(1, -7, 3, 5, -9, 2, 6, 6, 1), ncol = 3)
det(mat_ex)
A.10.5 Solução de sistemas lineares
\[ \left\{\begin{matrix} x_1 + x_2 = 2 \\ -x_1 + x_2 = 4 \end{matrix}\right. \]
Qual os valores de \(x_1\) e \(x_2\)?
# matrizes do sistema linear
coefs <- matrix(c(1, -1, 1, 1), ncol = 2)
y <- c(2, 4)
x <- solve(coefs, y)
x
A.10.6 Produto cartesiano
O produto cartesiano de dois conjuntos A e B é representado por \(A \times B\). O resultado é o conjunto de todos pares ordenados (a, b) tal que \(a \belong b\).