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