A.3 Operações matriciais

A.3.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 matricial.

Figure A.1: Multiplicação matricial.

# multiplicação de duas matrizes
A <- matrix(c(2, 1, 4, 3, 0, 5), ncol = 2)
A
#>      [,1] [,2]
#> [1,]    2    3
#> [2,]    1    0
#> [3,]    4    5
B <- matrix(c(3, 2, 1, 4), ncol = 2)
B
#>      [,1] [,2]
#> [1,]    3    1
#> [2,]    2    4
A * B # erro pela diferença nas dims entre as matrizes
#> Error in A * B: non-conformable arrays
prod_mat <- A %*% B
prod_mat
#>      [,1] [,2]
#> [1,]   12   14
#> [2,]    3    1
#> [3,]   22   24
# multiplicação de uma matriz por um escalar
m <- matrix(1:16, nrow = 4, byrow = TRUE)
m
#>      [,1] [,2] [,3] [,4]
#> [1,]    1    2    3    4
#> [2,]    5    6    7    8
#> [3,]    9   10   11   12
#> [4,]   13   14   15   16
m * 2
#>      [,1] [,2] [,3] [,4]
#> [1,]    2    4    6    8
#> [2,]   10   12   14   16
#> [3,]   18   20   22   24
#> [4,]   26   28   30   32

A.3.2 Adição matricial

m
#>      [,1] [,2] [,3] [,4]
#> [1,]    1    2    3    4
#> [2,]    5    6    7    8
#> [3,]    9   10   11   12
#> [4,]   13   14   15   16
m + m
#>      [,1] [,2] [,3] [,4]
#> [1,]    2    4    6    8
#> [2,]   10   12   14   16
#> [3,]   18   20   22   24
#> [4,]   26   28   30   32

A.3.3 Produto escalar

u <- 1:3
v <- c(5, 12, 13)
u * v
#> [1]  5 24 39
# produto escalar = u.v = 1*5 + 2*12 + 3*13
crossprod(u, v)
#>      [,1]
#> [1,]   68

A.3.4 Determinante

# matriz exemplo
mat_ex <- matrix(c(1, -7, 3, 5, -9, 2, 6, 6, 1), ncol = 3)
det(mat_ex)
#> [1] 182

A.3.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
#> [1] -1  3

A.3.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\).