Capítulo 3 Algebra Matricial
3.1 Álgebra vetorial
x <- c(seq(1:10))
x##  [1]  1  2  3  4  5  6  7  8  9 10
y = seq(from =11, to = 20)
y##  [1] 11 12 13 14 15 16 17 18 19 20
3*x##  [1]  3  6  9 12 15 18 21 24 27 30
x + y##  [1] 12 14 16 18 20 22 24 26 28 30
x-y##  [1] -10 -10 -10 -10 -10 -10 -10 -10 -10 -10
x * y##  [1]  11  24  39  56  75  96 119 144 171 200
x / y ##  [1] 0.09090909 0.16666667 0.23076923 0.28571429 0.33333333 0.37500000
##  [7] 0.41176471 0.44444444 0.47368421 0.50000000
log(x)##  [1] 0.0000000 0.6931472 1.0986123 1.3862944 1.6094379 1.7917595 1.9459101
##  [8] 2.0794415 2.1972246 2.3025851
exp(x)##  [1]     2.718282     7.389056    20.085537    54.598150   148.413159
##  [6]   403.428793  1096.633158  2980.957987  8103.083928 22026.465795
sqrt(x)##  [1] 1.000000 1.414214 1.732051 2.000000 2.236068 2.449490 2.645751 2.828427
##  [9] 3.000000 3.162278
-1*x##  [1]  -1  -2  -3  -4  -5  -6  -7  -8  -9 -10
abs(-1*x)##  [1]  1  2  3  4  5  6  7  8  9 10
min(x)## [1] 1
max(x)## [1] 10
Produto interno de vetores
\[x.y = x_1y_1 + x_2y_2 + ... + x_ny_n\]
sum(x*y)## [1] 935
x%*%y##      [,1]
## [1,]  935
t(x)%*%y##      [,1]
## [1,]  935
Norma de um vetor
\[||x|| = \sqrt{x.x} = \sqrt{\sum_{i = 1}^n x_i^2} \]
sqrt(sum(x*x))## [1] 19.62142
Regra da “reciclagem”
u = c(10, 20, 30) 
v = c(1, 2, 3, 4, 5, 6, 7, 8, 9) 
u + v ## [1] 11 22 33 14 25 36 17 28 39
3.2 Álgebra matricial
| Operador ou Função | Descrição | 
|---|---|
| A * B | Multiplicação elemento por elemento | 
| A%*%B | Multiplicação matricial | 
| t(A) | Transposta | 
| diag(x) | Cria uma matriz com os elementos do vetor x formando a diagonal principal | 
| diag(A) | Retorna um vetor contendo os elementos da diagonal principal da matriz A | 
| diag(k) | Se k for um escalar, o comando cria uma matriz identidade kxk | 
| solve(A) | Retorna a inversa da matriz A se A for uma matriz quadrada | 
| rowMeans(A) | Retorna um vetor com as médias das linhas de A | 
| colMeans(A) | Retorna um vetor com as médias das colunas de A | 
| rowSumns(A) | Retorna um vetor com as somas das linhas de A | 
| ColSumns(A) | Retorna um vetor com as somas das colunas de A | 
A = matrix( 
  c(2, 4, 3, 1, 5, 8), # Elementos 
  nrow=2,              # Número de linhas 
  ncol=3,              # Número de colunas 
  byrow = TRUE)        # Preencher a matriz pelas linhas 
A##      [,1] [,2] [,3]
## [1,]    2    4    3
## [2,]    1    5    8
Multiplicação escalar
2*A##      [,1] [,2] [,3]
## [1,]    4    8    6
## [2,]    2   10   16
Multiplicação elemento por elemento
A*A##      [,1] [,2] [,3]
## [1,]    4   16    9
## [2,]    1   25   64
Multiplicação Matricial
A %*% A## Error in A %*% A: argumentos não compatíveis
B = matrix( 
  c(2, 4, 3, 1, 5, 7), 
  nrow=3, 
  ncol=2) 
B             # B possui 3 linhas e 2 colunas##      [,1] [,2]
## [1,]    2    1
## [2,]    4    5
## [3,]    3    7
A %*% B##      [,1] [,2]
## [1,]   29   43
## [2,]   46   82
Transposta
t(A)##      [,1] [,2]
## [1,]    2    1
## [2,]    4    5
## [3,]    3    8
Criar uma matriz diagonal a partir de um vetor
diag(x)##       [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
##  [1,]    1    0    0    0    0    0    0    0    0     0
##  [2,]    0    2    0    0    0    0    0    0    0     0
##  [3,]    0    0    3    0    0    0    0    0    0     0
##  [4,]    0    0    0    4    0    0    0    0    0     0
##  [5,]    0    0    0    0    5    0    0    0    0     0
##  [6,]    0    0    0    0    0    6    0    0    0     0
##  [7,]    0    0    0    0    0    0    7    0    0     0
##  [8,]    0    0    0    0    0    0    0    8    0     0
##  [9,]    0    0    0    0    0    0    0    0    9     0
## [10,]    0    0    0    0    0    0    0    0    0    10
Extrair a diagonal de uma matriz
diag(t(A)%*%A)## [1]  5 41 73
Matriz Identidade
diag(5)##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    0    0    0    0
## [2,]    0    1    0    0    0
## [3,]    0    0    1    0    0
## [4,]    0    0    0    1    0
## [5,]    0    0    0    0    1
Matriz Inversa
A = matrix(c(1, 3, 2, 4), ncol = 2, byrow = T)
A##      [,1] [,2]
## [1,]    1    3
## [2,]    2    4
solve(A)##      [,1] [,2]
## [1,]   -2  1.5
## [2,]    1 -0.5
Vetor como Matriz
x = matrix(c(1,3,5),nrow = 1)
x##      [,1] [,2] [,3]
## [1,]    1    3    5
dim(x)## [1] 1 3
y = matrix(c(4,5,6),ncol = 1)
y##      [,1]
## [1,]    4
## [2,]    5
## [3,]    6
dim(y)## [1] 3 1
x %*% y##      [,1]
## [1,]   49
t(x) %*% y## Error in t(x) %*% y: argumentos não compatíveis
3.3 Sistema de Equações
#install.packages("matlib")
library(matlib)## Warning: package 'matlib' was built under R version 4.1.3
\[x_1 + x_2 = 4\] \[2x_1 + x_2 = 5\]
A = matrix(c(1,2,1,1),nrow=2,ncol=2)
A##      [,1] [,2]
## [1,]    1    1
## [2,]    2    1
b = c(4,5)
b## [1] 4 5
Resolver \(Ax = b\)
Solve(A,b)## x1    =  1 
##   x2  =  3
Resolver \(x = A^{-1}b\)
solve(A)%*%b##      [,1]
## [1,]    1
## [2,]    3