En aquest document recollim les solucions numèriques d’alguns dels problemes d’àlgebra penjats al campus virtual, amb la intenció que serveixin per comprovar resultats. També pot servir com a mostra de com es fa servir el programa R per fer càlculs algebraics.
Els enunciats els podeu trobar a http://www.ugr.es/~ahurtado/PDF/ej1.pdf.
require(FRACTION)
require(Matrix)
(a<-rbind(c(1,2),c(3,-4)))
## [,1] [,2]
## [1,] 1 2
## [2,] 3 -4
(b<-rbind(c(5,0),c(-6,7)))
## [,1] [,2]
## [1,] 5 0
## [2,] -6 7
a%*%a
## [,1] [,2]
## [1,] 7 -6
## [2,] -9 22
a%*%b
## [,1] [,2]
## [1,] -7 14
## [2,] 39 -28
b%*%b
## [,1] [,2]
## [1,] 25 0
## [2,] -72 49
a%*%a-a%*%b+b%*%b
## [,1] [,2]
## [1,] 39 -20
## [2,] -120 99
La segona part no es pot fer.
Comprovació exemple:
(a<-rbind(c(1,2),c(2,4)))
## [,1] [,2]
## [1,] 1 2
## [2,] 2 4
(b<-rbind(c(2,1),c(-1,-1/2)))
## [,1] [,2]
## [1,] 2 1.0
## [2,] -1 -0.5
a%*%b
## [,1] [,2]
## [1,] 0 0
## [2,] 0 0
b%*%a
## [,1] [,2]
## [1,] 4 8
## [2,] -2 -4
(a<-rbind(c(3,6),c(5,7)))
## [,1] [,2]
## [1,] 3 6
## [2,] 5 7
solve(a)
## [,1] [,2]
## [1,] -0.7777778 0.6666667
## [2,] 0.5555556 -0.3333333
fra.m(solve(a))
## [,1] [,2]
## [1,] "-7 / 9" "2 / 3"
## [2,] "5 / 9" "-1 / 3"
(b<-rbind(c(1,2,-3),c(0,1,2),c(0,0,1)))
## [,1] [,2] [,3]
## [1,] 1 2 -3
## [2,] 0 1 2
## [3,] 0 0 1
solve(b)
## [,1] [,2] [,3]
## [1,] 1 -2 7
## [2,] 0 1 -2
## [3,] 0 0 1
(a<-rbind(c(3,8),c(5,10)))
## [,1] [,2]
## [1,] 3 8
## [2,] 5 10
(b<-rbind(c(2,4),c(5,6)))
## [,1] [,2]
## [1,] 2 4
## [2,] 5 6
(c<-rbind(c(1,6),c(2,10)))
## [,1] [,2]
## [1,] 1 6
## [2,] 2 10
solve(b)
## [,1] [,2]
## [1,] -0.750 0.50
## [2,] 0.625 -0.25
solve(b)%*%c
## [,1] [,2]
## [1,] 0.250 0.50
## [2,] 0.125 1.25
solve(a)
## [,1] [,2]
## [1,] -1.0 0.8
## [2,] 0.5 -0.3
solve(a)%*%(c+b)
## [,1] [,2]
## [1,] 2.6 2.8
## [2,] -0.6 0.2
(a<-rbind(c(1,2,-3),c(3,-1,2),c(5,3,-4)))
## [,1] [,2] [,3]
## [1,] 1 2 -3
## [2,] 3 -1 2
## [3,] 5 3 -4
solve(a,c(-1,1,2))
## Error in solve.default(a, c(-1, 1, 2)): sistema es computacionalmente singular: número de condición recíproco = 1.81791e-17
det(a)
## [1] -6.217249e-15
rankMatrix(a)[1]
## [1] 2
(m<-cbind(a,c(-1,1,2)))
## [,1] [,2] [,3] [,4]
## [1,] 1 2 -3 -1
## [2,] 3 -1 2 1
## [3,] 5 3 -4 2
rankMatrix(m)[1]
## [1] 3
(a<-rbind(c(0,-4,-1),c(1,1,1),c(1,-2,1),c(-1,2,0)))
## [,1] [,2] [,3]
## [1,] 0 -4 -1
## [2,] 1 1 1
## [3,] 1 -2 1
## [4,] -1 2 0
(b<-c(-7,2,-2,3))
## [1] -7 2 -2 3
(m<-cbind(a,b))
## b
## [1,] 0 -4 -1 -7
## [2,] 1 1 1 2
## [3,] 1 -2 1 -2
## [4,] -1 2 0 3
rankMatrix(a)[1]
## [1] 3
rankMatrix(m)[1]
## [1] 4
a<-function(k){rbind(c(1,-1,-1,-2),c(1,k,1,1),c(1,2,5,7),c(2,1,4,5))}
rankMatrix(a(0))[1]
## [1] 2
Els enunciats són a https://www.overleaf.com/read/qzbdpdyksnwy.
(a<-rbind(c(1,2),c(3,4)))
## [,1] [,2]
## [1,] 1 2
## [2,] 3 4
det(a)
## [1] -2
(a<-rbind(c(1,3,-5),c(3,-1,0),c(-2,0,1)))
## [,1] [,2] [,3]
## [1,] 1 3 -5
## [2,] 3 -1 0
## [3,] -2 0 1
det(a)
## [1] -1.110223e-15
(a<-rbind(c(1,1,0,-1),c(0,-2,3,0),c(0,-1,-1,1),c(1,1,0,0)))
## [,1] [,2] [,3] [,4]
## [1,] 1 1 0 -1
## [2,] 0 -2 3 0
## [3,] 0 -1 -1 1
## [4,] 1 1 0 0
det(a)
## [1] 5