Yeimy Maryury Montilla Montilla ymontilla@unal.edu.co
Carlos Eduardo Caceres Gonzalez ccaceresg@unal.edu.co
Marzo 18 del 2021
—————————————————————————————————————————————————————————————————
#install.packages("rgl")
#install.packages('matrixcalc')
#install.packages('Biodem')
library(matrixcalc)
—————————————————————————————————————————————————————————————————
\[\text{1. Sea: } x{^T} = [5, 1, 3] \text{ and } y{^T} = [-1, 3, 1]\ \]
\[\text{(a). Graficar los dos vectores. }\\ \text{(b). } \text{Encuentra (i) la longitud de x, (ii) el ángulo entre x & y}\\ \text{(c). Sea: } x=3\text{ y } y=1, \text{ graficar } [5-3,1-3,3-3] = [2,-2,0]\\ \text{ y } [-1-1,3-1,1-1] = [-2,2,0]\\ \] \(\text{(a). Graficar los dos vectores: }\ \)
library(plot3D)
## Warning: package 'plot3D' was built under R version 4.0.4
xt=c(5, 1, 3)
yt=c(-1, 3, 1)
x0=c(0, 0)
y0=c(0, 0)
z0=c(0, 0)
x1=c(xt[1],yt[1]);x1
## [1] 5 -1
y1=c(xt[2],yt[2]);y1
## [1] 1 3
z1=c(xt[3],yt[3]);z1
## [1] 3 1
cols = c("blue", "red")
arrows3D(x0, y0, z0, x1, y1, z1, colvar=NULL, col = cols,
lwd = 1, d = 2, phi = 35, theta = 30,
main = "Grafica de vectores", bty ="g",border = "red",
ticktype = "detailed", type = "triangle")
#grafico del punto
points3D(x0, y0, z0, add = TRUE, col="darkred",
colkey = FALSE, pch = 19, cex = 1)
# puntos
points3D(x1, y1, z1, add = TRUE, col="darkblue",
colkey = FALSE, pch = 19, cex = 0.5)
#textos
text3D(x1, y1, z1, c("xt","yt"),
col = cols, add=TRUE, colkey = TRUE)
\(\text{(b). Encontrar (i) la longitud de x, (ii) el ángulo entre x y}\ \)
l <- sqrt(sum(xt^2));l
## [1] 5.91608
angulo = function(u, v){
prod.p=u%*%v; prod.p
norma.u <- norm(u, type = "2"); norma.u
norma.v <- norm(v, type = "2"); norma.v
phi <- acos(prod.p / (norma.u * norma.v)); phi
}
angulo(xt,yt)
## [,1]
## [1,] 1.51981
\[\text{(c). Sea: } x=3\text{ & } y=1, \text{ graficar } [5-3,1-3,3-3] = [2,-2,0]\ \text{ & } [-1-1,3-1,1-1] = [-2,2,0]\ \]
xt=c(5, 1, 3)
yt=c(-1, 3, 1)
xt2=xt-3
yt2=yt-1
x0=c(0, 0)
y0=c(0, 0)
z0=c(0, 0)
x1=c(xt[1],yt[1]);x1
## [1] 5 -1
y1=c(xt[2],yt[2]);y1
## [1] 1 3
z1=c(xt[3],yt[3]);z1
## [1] 3 1
x2=c(xt2[1],yt2[1]);x2
## [1] 2 -2
y2=c(xt2[2],yt2[2]);y2
## [1] -2 2
z2=c(xt2[3],yt2[3]);z2
## [1] 0 0
cols = c("blue", "red")
arrows3D(x0, y0, z0, x1, y1, z1, colvar=NULL, col = cols,
lwd = 1, d = 2, phi = 35, theta = 30,
main = "Grafica de vectores", bty ="g",border = "red",
xlim = c(-2, 5), ylim = c(-2,5),zlim = c(0,4),
ticktype = "detailed", type = "triangle")
cols = c("blue", "red")
arrows3D(x1, y1, z1, x2, y2, z2, add = TRUE, colvar=NULL, col = cols,
lwd = 1, d = 2, phi = 35, theta = 30)
#grafico del punto
points3D(x0, y0, z0, add = TRUE, col="darkred",
colkey = FALSE, pch = 19, cex = 1)
# puntos
points3D(x1, y1, z1, add = TRUE, col="darkblue",
colkey = FALSE, pch = 19, cex = 0.5)
# puntos
points3D(x2, y2, z2, add = TRUE, col="darkblue",
colkey = FALSE, pch = 19, cex = 0.5)
#textos
text3D(x1, y1, z1, c("xt","yt"),
col = cols, add=TRUE, colkey = TRUE)
—————————————————————————————————————————————————————————————————
\[\text{2. Dadas las matrices }\\ A=\begin{bmatrix}-1&3\\4&2\end{bmatrix}, B=\begin{bmatrix}4&-3\\1&-2\\-1&0\end{bmatrix}, \text{ and } C=\begin{bmatrix}5\\-4\\2\end{bmatrix} \\ \text{Realizar las multiplicaciones: }\\ \text{(a).}5A \\ \text{(b).}BA \\ \text{(c).} A^TB^T \\ \text{(d).} C^TB \\ \text{(e). ¿es AB definida?} \]
\(\text{Definicion de matrices}\ \)
A<-matrix(c(-1,4,3,2),ncol=2);A
## [,1] [,2]
## [1,] -1 3
## [2,] 4 2
B<-rbind(c(4,-3),c(1,-2),c(-2,-0));B
## [,1] [,2]
## [1,] 4 -3
## [2,] 1 -2
## [3,] -2 0
# vector
C<-c(5,-4,2);C
## [1] 5 -4 2
\[\ \text{(a).}5A \\ \]
5*A
## [,1] [,2]
## [1,] -5 15
## [2,] 20 10
print(A)
## [,1] [,2]
## [1,] -1 3
## [2,] 4 2
\[\text{(b).}BA \\ \]
B%*%A
## [,1] [,2]
## [1,] -16 6
## [2,] -9 -1
## [3,] 2 -6
\[\text{(c).} A^TB^T \\ \]
TrA<-t(A);TrA
## [,1] [,2]
## [1,] -1 4
## [2,] 3 2
TrB<-t(B);TrB
## [,1] [,2] [,3]
## [1,] 4 1 -2
## [2,] -3 -2 0
TrA%*%TrB
## [,1] [,2] [,3]
## [1,] -16 -9 2
## [2,] 6 -1 -6
\[\text{(d).} C^TB \\ \]
t(C)%*%B
## [,1] [,2]
## [1,] 12 -7
\[\text{(e). ¿Es AB definida?}\\ \text{No es definida ni conformable debido a incompatibilidad de filas y columnas}\\ \]
# A%*%B Error in A %*% B : argumentos no compatibles
—————————————————————————————————————————————————————————————————
\[\text{3. Verificar las siguientes propiedades de la transpuesta cuando:}\ \]
\[A=\begin{bmatrix}2&1\\1&3\end{bmatrix}, B=\begin{bmatrix}1&4&2\\5&0&3\end{bmatrix}, \text{ and } C=\begin{bmatrix}1&4\\3&2\end{bmatrix} \\ \text{(a). }(A{^T)^T}=A \\ \text{(b). }(C{^T)^{-1}}=(C{^{-1})^{T}}\\ \text{(c). }(AB{)^T}=B^TA^T \]
\(\text{Definición de matrices}\ \)
A= matrix(c(2,1,1,3),ncol=2,byrow=T);A
## [,1] [,2]
## [1,] 2 1
## [2,] 1 3
B= matrix(c(1,4,2,5,0,3),ncol=3,byrow=T);B
## [,1] [,2] [,3]
## [1,] 1 4 2
## [2,] 5 0 3
C= matrix(c(1,4,3,2),ncol=2,,byrow=T);C
## [,1] [,2]
## [1,] 1 4
## [2,] 3 2
\[\text{Propiedades de la transpuesta} \text{(a). }(A{^T)^T}=A \]
Atranspuesta2=t(t(A));Atranspuesta2
## [,1] [,2]
## [1,] 2 1
## [2,] 1 3
print(A)
## [,1] [,2]
## [1,] 2 1
## [2,] 1 3
print(Atranspuesta2)
## [,1] [,2]
## [1,] 2 1
## [2,] 1 3
\[\text{(b). }(C{^T)^{-1}}=(C{^{-1})^{T}} \]
library('matrixcalc')
Ctranspuesta= t(C);Ctranspuesta
## [,1] [,2]
## [1,] 1 3
## [2,] 4 2
Ctr_inversa= matrix.inverse(Ctranspuesta);Ctr_inversa
## [,1] [,2]
## [1,] -0.2 0.3
## [2,] 0.4 -0.1
Cinversa = matrix.inverse(C);Cinversa
## [,1] [,2]
## [1,] -0.2 0.4
## [2,] 0.3 -0.1
Cin_transpuesta = t(Cinversa);Cin_transpuesta
## [,1] [,2]
## [1,] -0.2 0.3
## [2,] 0.4 -0.1
print(Ctr_inversa)
## [,1] [,2]
## [1,] -0.2 0.3
## [2,] 0.4 -0.1
print(Cin_transpuesta)
## [,1] [,2]
## [1,] -0.2 0.3
## [2,] 0.4 -0.1
\[\text{(c). }(AB{)^T}=B^TA^T \]
AxB = A%*%B; AxB
## [,1] [,2] [,3]
## [1,] 7 8 7
## [2,] 16 4 11
AxBtransp = t(AxB);AxBtransp
## [,1] [,2]
## [1,] 7 16
## [2,] 8 4
## [3,] 7 11
Btr = t(B); Btr
## [,1] [,2]
## [1,] 1 5
## [2,] 4 0
## [3,] 2 3
Atr = t(A); Atr
## [,1] [,2]
## [1,] 2 1
## [2,] 1 3
BxAtr = Btr%*%Atr;BxAtr
## [,1] [,2]
## [1,] 7 16
## [2,] 8 4
## [3,] 7 11
print(AxBtransp)
## [,1] [,2]
## [1,] 7 16
## [2,] 8 4
## [3,] 7 11
print(BxAtr)
## [,1] [,2]
## [1,] 7 16
## [2,] 8 4
## [3,] 7 11
—————————————————————————————————————————————————————————————————
\[\text{ Cuando } A{^{-1}}\text{ & }B{^{-1}} \text{existe, comprobar:}\\ \text{(a). }(A{^T)^{-1}}=(A{^{-1})^{-T}} \\ \text{(b). }(AB)^{-1}=B{^{-1}} A{^{-1}}\\ \]
#Se declaran unas Matrices cualquiera Iniciales
A_04= matrix(c(2,1,1,3),ncol=2,byrow=T);A_04
## [,1] [,2]
## [1,] 2 1
## [2,] 1 3
B_04= matrix(c(1,4,2,5),ncol=2,byrow=T);B_04
## [,1] [,2]
## [1,] 1 4
## [2,] 2 5
#A Transpuesta
A_04_transpuesta <- t(A_04);A_04_transpuesta
## [,1] [,2]
## [1,] 2 1
## [2,] 1 3
#A Transpuesta Inversa
library('matrixcalc')
A_04_tra_inv <- matrix.inverse(A_04_transpuesta );A_04_tra_inv
## [,1] [,2]
## [1,] 0.6 -0.2
## [2,] -0.2 0.4
#A Inversa
library('matrixcalc')
A_04_inv <- matrix.inverse(A_04);A_04_inv
## [,1] [,2]
## [1,] 0.6 -0.2
## [2,] -0.2 0.4
#A Inversa Transpuesta
A_04_inv_tra <- t(A_04_inv);A_04_inv_tra
## [,1] [,2]
## [1,] 0.6 -0.2
## [2,] -0.2 0.4
#B Inversa
B_04_inv <- matrix.inverse(B_04);B_04_inv
## [,1] [,2]
## [1,] -1.6666667 1.3333333
## [2,] 0.6666667 -0.3333333
#AXB
A04B04 <- A_04%*%B_04; A04B04
## [,1] [,2]
## [1,] 4 13
## [2,] 7 19
#AXB inversa
A04B04_inv <- matrix.inverse(A04B04);A04B04_inv
## [,1] [,2]
## [1,] -1.2666667 0.8666667
## [2,] 0.4666667 -0.2666667
#A inversa x B inversa
B_04_inv_por_A_04_inv <- B_04_inv%*%A_04_inv; B_04_inv_por_A_04_inv
## [,1] [,2]
## [1,] -1.2666667 0.8666667
## [2,] 0.4666667 -0.2666667
\[\text{(a). }(A{^T)^{-1}}=(A{^{-1})^{-T}} \\ \]
ifelse(A_04_tra_inv == A_04_inv_tra, TRUE, FALSE)
## [,1] [,2]
## [1,] TRUE TRUE
## [2,] TRUE TRUE
Si los elementos de la matriz resultante anterior, son verdaderos, la condición se cumple. Ahora, para:
\[ \text{(b). }(AB)^{-1}=B{^{-1}} A{^{-1}}\\ \]
ifelse(round(A04B04_inv,5) == round(B_04_inv_por_A_04_inv,5), TRUE, FALSE)
## [,1] [,2]
## [1,] TRUE TRUE
## [2,] TRUE TRUE
Si los elementos de la matriz resultante anterior, son verdaderos, la condición se cumple.
—————————————————————————————————————————————————————————————————
\[\text{5. comprueba que: } \\ Q=\begin{bmatrix}5/13&12/13\\-12/13&5/13\end{bmatrix}\\ \text{ es una matriz ortogonal} \]
Q= matrix(c(5/13,2/13,-12/13,5/13),ncol=2,byrow=T);Q
## [,1] [,2]
## [1,] 0.3846154 0.1538462
## [2,] -0.9230769 0.3846154
matOrto <- function(x)
{
#Transpuesta
xt = t(x);xt
#Inversa
xi = t(x);xi
if( is.matrix(xt)&& is.matrix(xi) && dim(xt) == dim(xi) && all(xt == xi)){
print("Es una matriz Ortogonal")
} else {
print("No es una matriz Ortogonal")
}
}
matOrto(Q) # FALSE
## [1] "Es una matriz Ortogonal"
—————————————————————————————————————————————————————————————————
\[\text{6. Dada la matriz }\\ A=\begin{bmatrix}9&-2\\-2&6\end{bmatrix}\\ \text{(a) Es simétrica?}\\ \text{(b) Demuestre que A es un definida positiva}\\\] \[\text{Definición de la matriz}\]
A= matrix(c(9,-2,-2,6),ncol=2,byrow=T);A
## [,1] [,2]
## [1,] 9 -2
## [2,] -2 6
\[\text{(a) Es simétrica; } A=A^T \\ \]
t(A)
## [,1] [,2]
## [1,] 9 -2
## [2,] -2 6
\[\text{A es un definida positiva porque:}\\ \text{Solo se pueden sacar dos submatrices y sus determinantes son > 0}\\ \]
det(A)
## [1] 50
A manera de verificacion se emplea (is.positive.definite) de la libreria matrixcalc, cuyo valor = True
—————————————————————————————————————————————————————————————————
\[\text{7. Dada la matriz A en el ejercicio 6}\\ \text{(a). Determinar los valores y vectores propios de A}\\ \text{(b). Encontrar }A^{-1}\\ \text{(c). Encontrar los valores y vectores propios de }A^{-1}\\ \text{Definición de la matriz A} \]
A=matrix(c(9,-2,-2,6),ncol=2,byrow=T);A
## [,1] [,2]
## [1,] 9 -2
## [2,] -2 6
\[\text{(a). Determinar los valores y vectores propios de A}\]
#install.packages('matrixcalc')
library(matrixcalc)
Aeigen= eigen(A);Aeigen
## eigen() decomposition
## $values
## [1] 10 5
##
## $vectors
## [,1] [,2]
## [1,] -0.8944272 -0.4472136
## [2,] 0.4472136 -0.8944272
print(Aeigen)
## eigen() decomposition
## $values
## [1] 10 5
##
## $vectors
## [,1] [,2]
## [1,] -0.8944272 -0.4472136
## [2,] 0.4472136 -0.8944272
Ainv= matrix.inverse(A);Ainv
## [,1] [,2]
## [1,] 0.12 0.04
## [2,] 0.04 0.18
print(Ainv)
## [,1] [,2]
## [1,] 0.12 0.04
## [2,] 0.04 0.18
\[\text{(b). Encontrar }A^{-1}\]
\[\text{(c). Encontrar los valores y vectores propios de }A^{-1}\]
AinvEigen= eigen(Ainv);AinvEigen
## eigen() decomposition
## $values
## [1] 0.2 0.1
##
## $vectors
## [,1] [,2]
## [1,] 0.4472136 -0.8944272
## [2,] 0.8944272 0.4472136
print(AinvEigen)
## eigen() decomposition
## $values
## [1] 0.2 0.1
##
## $vectors
## [,1] [,2]
## [1,] 0.4472136 -0.8944272
## [2,] 0.8944272 0.4472136
—————————————————————————————————————————————————————————————————
\[\text{8. Dada la matriz }\\ A=\begin{bmatrix}1&2\\2&-2\end{bmatrix}\\ \text{(a) Encontrar } A^{-1}\\ \text{(b) Calcular los valores propios y los vectores propios de }A^{-1}\\ \]
\[\text{Definicion de la matriz:}\]
A_08 <- matrix(c(1,2,2,-2),ncol=2,byrow=T);A_08
## [,1] [,2]
## [1,] 1 2
## [2,] 2 -2
\[\text{(a) Encontrar } A^{-1}\\ \]
#A Inversa
library('matrixcalc')
A_08_inv <- matrix.inverse(A_08);A_08_inv
## [,1] [,2]
## [1,] 0.3333333 0.3333333
## [2,] 0.3333333 -0.1666667
\[\text{(b) Calcular los valores propios y los vectores propios de }A^{-1}\\ \]
Val_pro <- eigen(A_08_inv);
#Valores Propios
Val_pro$values
## [1] 0.5000000 -0.3333333
#Vectores Propios
Val_pro$vectors
## [,1] [,2]
## [1,] -0.8944272 0.4472136
## [2,] -0.4472136 -0.8944272
—————————————————————————————————————————————————————————————————
Este Punto no esta dentro del taller, se deja el espacio.
—————————————————————————————————————————————————————————————————
\[\text{10. Considere las matrices }\\ A=\begin{bmatrix}4&4.001\\4.001&4.002\end{bmatrix}, \text{ and } B=\begin{bmatrix}4&4.001\\4.001&4.002001\end{bmatrix} \\ \text{demuestre que:} \\ \text (A){^{-1}}=(-3)(B{^{-1})} \]
\[\text{Definición de matrices} \]
A<-matrix(c(4,4.001,4.001,4.002),ncol=2);A
## [,1] [,2]
## [1,] 4.000 4.001
## [2,] 4.001 4.002
B<-rbind(c(4,4.001),c(4.001,4.002001));B
## [,1] [,2]
## [1,] 4.000 4.001000
## [2,] 4.001 4.002001
\[\text{Las matrices si son idénticas excepto por una pequeña diferencia en la posición (2,2)} \\ \text{sin embargo pequeños cambios generan inversas completamente diferentes} \]
library(matrixcalc)
invA<-matrix.inverse(A); invA
## [,1] [,2]
## [1,] -4002000 4001000
## [2,] 4001000 -4000000
invB<-matrix.inverse(B); invB
## [,1] [,2]
## [1,] 1334000 -1333667
## [2,] -1333667 1333333
mult<-(-3)*invB ; mult
## [,1] [,2]
## [1,] -4002001 4001000
## [2,] 4001000 -4000000
—————————————————————————————————————————————————————————————————
\[\text{11. Muestre que el determinante de una matriz diagonal } {pxp~A=\left\lbrace\begin{array}{c}a_{ij}\end{array}\right\rbrace }{~with~a_{ij}=0, i\not= j,}\\ \text{es dado por el producto de los elementos de la diagonal, por lo tanto }{|A|=a_{11}a_{22}...a_{pp}} \\ \text{Dada una matriz }A=\begin{bmatrix}9&0&0&0\\0&-4&0&0\\0&0&8&0\\0&0&0&1\end{bmatrix} \]
A= matrix(c(9,0,0,0,0,-4,0,0,0,0,8,0,0,0,0,1),ncol=4,byrow=T);A
## [,1] [,2] [,3] [,4]
## [1,] 9 0 0 0
## [2,] 0 -4 0 0
## [3,] 0 0 8 0
## [4,] 0 0 0 1
Adet= det(A);Adet
## [1] -288
Aproducto=A[1,1]*A[2,2]*A[3,3]*A[4,4];Aproducto
## [1] -288
—————————————————————————————————————————————————————————————————
\[\text{12. Demuestre que el determinante de una matriz p x p simétrica cuadrada A}\\ \text{puede expresarse como producto de sus valores propios λ1, λ2, λ3}\\ \]
\[\text{Definicion de la matriz simetrica:}\]
library('matrixcalc')
A_12 <- matrix(c(1,4,3,4,2,5,3,5,6),3,byrow=F);A_12
## [,1] [,2] [,3]
## [1,] 1 4 3
## [2,] 4 2 5
## [3,] 3 5 6
#Comprobamos que es simetrica
isSymmetric(A_12)
## [1] TRUE
\[\text{Determinante de A:}\\ \]
det_A12 <- round(det(A_12),5); det_A12
## [1] -7
\[\text{Valores Propios:}\\ \]
Val_pro_A12 <- eigen(A_12);
#Valores Propios
vp_A12 <- Val_pro_A12$values; vp_A12
## [1] 11.545830 0.219262 -2.765092
#Producto Valores Propios
producto_val <- round(prod(vp_A12),5);producto_val
## [1] -7
Verificamos si la propiedad se cumple
if(det_A12 == producto_val) {
"Se cumple"
} else {
"No se cumple"
}
## [1] "Se cumple"
—————————————————————————————————————————————————————————————————
\[\text{13. Se dice que una forma cuadrática x A x es definida positiva si la matriz A es definida positiva. ¿Es la forma cuadrática } 3x^{2}+3x{^2}-2X_{^1}X_{^2} \text{positiva definida?}\\ \text{Investigue como se halla la matriz de la formula cuadratica proporcionada y resuelva con R} \]
#library(Biodem)
A= matrix(c(3,1,1,3),ncol=2,byrow=T);A
## [,1] [,2]
## [1,] 3 1
## [2,] 1 3
At<-t(A);At
## [,1] [,2]
## [1,] 3 1
## [2,] 1 3
matPositiva <- function(A,B)
{
if( is.matrix(A)&& is.matrix(B) && dim(A) == dim(B) && all(A == B)){
if(all(A >0)){
print("Es una matriz positiva")
} else {
print("No Es una matriz positiva")
}
} else {
print("No Es una matriz positiva")
}
}
matPositiva(A,At)
## [1] "Es una matriz positiva"
# FALSE
—————————————————————————————————————————————————————————————————
\[\text{14. Dejando que X tenga una matriz de covarianza}\\ Z=\begin{bmatrix}4&0&0\\0&9&0\\0&0&1\end{bmatrix} \\ \text{Busque:} \\ \text a) (Z){^{-1}}\\ \text {b) Valores propios y vectores propios de Z} \\ \text {c) Valores propios y vectores propios de } (Z){^{-1}}\\ \]
\[\text{Definición de la matriz} \]
Z<-matrix(c(4,0,0,0,9,0,0,0,1),ncol=3,byrow=TRUE);Z
## [,1] [,2] [,3]
## [1,] 4 0 0
## [2,] 0 9 0
## [3,] 0 0 1
\[\text{Inverza de Z} \]
IZ<-matrix.inverse(Z); IZ
## [,1] [,2] [,3]
## [1,] 0.25 0.0000000 0
## [2,] 0.00 0.1111111 0
## [3,] 0.00 0.0000000 1
\[\text{valores propios y vectores propios de Z } \]
ValProp<-eigen(Z)$values; ValProp
## [1] 9 4 1
VecProp<-eigen(Z)$vectors; VecProp
## [,1] [,2] [,3]
## [1,] 0 1 0
## [2,] 1 0 0
## [3,] 0 0 1
\[\text {Valores propios y vectores propios de } (Z){^{-1}} \]
ValPIZ<-eigen(IZ)$values; ValPIZ
## [1] 1.0000000 0.2500000 0.1111111
VecPropI<-eigen(IZ)$vectors; VecPropI
## [,1] [,2] [,3]
## [1,] 0 1 0
## [2,] 0 0 1
## [3,] 1 0 0
—————————————————————————————————————————————————————————————————
\[\text{15. Con la matriz de covarianzas de X }\\ \sum=\begin{bmatrix}25&-2&4\\-2&4&1\\4&1&9\end{bmatrix}{~V^{1/2}=\begin{bmatrix}\sqrt{\sigma_{11}}&0&...&0\\0&\sqrt{\sigma_{22}}&...&0\\...&...&...&...\\0&0&...&\sqrt{\sigma_{pp}}\end{bmatrix}}\\ \text{(a). Determine }\rho \text{ y }{V^{1/2}}\\ \text{(b). Multiplique sus matrices y revise la relación }{V^{1/2}\rho V^{1/2}=\sum}\\ \text{El símbolo } \rho\text{ representa el coeficiente de correlación poblacional}\\ \text{Definición de la matriz} \]
X= matrix(c(25,-2,4,-2,4,1,4,1,9),ncol=3,byrow=T);X
## [,1] [,2] [,3]
## [1,] 25 -2 4
## [2,] -2 4 1
## [3,] 4 1 9
\[\text{(a). Determine }\rho \text{ y }{V^{1/2}}\]
ARD= sqrt(diag(X))
V=diag(ARD, 3, 3);V
## [,1] [,2] [,3]
## [1,] 5 0 0
## [2,] 0 2 0
## [3,] 0 0 3
P= (diag((diag(V)^-1), 3, 3))%%X%%(diag((diag(V)^-1), 3, 3));P #Coeficiente de correlación poblacional
## [,1] [,2] [,3]
## [1,] 0 NaN NaN
## [2,] NaN 0 NaN
## [3,] NaN NaN 0
X2=V%%P%%V;X2
## [,1] [,2] [,3]
## [1,] NaN NaN NaN
## [2,] NaN NaN NaN
## [3,] NaN NaN NaN
#Chunk por revisar
rhoX= cor(X); rhoX #Coeficiente de correlación poblacional
## [,1] [,2] [,3]
## [1,] 1.00000000 -0.9522166 0.06981111
## [2,] -0.95221658 1.0000000 -0.37115374
## [3,] 0.06981111 -0.3711537 1.00000000
varX= cov(X); varX
## [,1] [,2] [,3]
## [1,] 201.0 -40.5 4.00000
## [2,] -40.5 9.0 -4.50000
## [3,] 4.0 -4.5 16.33333
raizvarX= varX*(0.5);raizvarX
## [,1] [,2] [,3]
## [1,] 100.50 -20.25 2.000000
## [2,] -20.25 4.50 -2.250000
## [3,] 2.00 -2.25 8.166667
print(rhoX)
## [,1] [,2] [,3]
## [1,] 1.00000000 -0.9522166 0.06981111
## [2,] -0.95221658 1.0000000 -0.37115374
## [3,] 0.06981111 -0.3711537 1.00000000
print(raizvarX)
## [,1] [,2] [,3]
## [1,] 100.50 -20.25 2.000000
## [2,] -20.25 4.50 -2.250000
## [3,] 2.00 -2.25 8.166667
\[\text{(b). Multiplique sus matrices y revise la relación }{V^{1/2}\rho V^{1/2}=\sum}\]
A = raizvarX%*%rhoX%*%raizvarX;A
## [,1] [,2] [,3]
## [1,] 14448.200 -2990.7227 637.4070
## [2,] -2990.723 622.7939 -148.3333
## [3,] 637.407 -148.3333 100.2473
—————————————————————————————————————————————————————————————————
\[\text{Si: }\\A=\begin{bmatrix}1&-2&3\\2&3&-1\\-3&1&2\end{bmatrix},\ B=\begin{bmatrix}1&0&2\\0&1&2\\1&2&0\end{bmatrix}\\ \text{Demostrar que: AB es diferente que BA} \] \(\text{Definición de la MatriZ:}\ \)
A <- matrix(c(1,-2,3,2,3,-1,-3,1,2), ncol=3, byrow=T);A
## [,1] [,2] [,3]
## [1,] 1 -2 3
## [2,] 2 3 -1
## [3,] -3 1 2
B <- matrix(c(1,0,2,0,1,2,1,2,0) ,ncol=3, byrow=T);B
## [,1] [,2] [,3]
## [1,] 1 0 2
## [2,] 0 1 2
## [3,] 1 2 0
\(\text{Comprobamos si AB = BA:}\ \)
AB <- A%*%B
BA <- B%*%A
if(identical(AB, BA)){
print ("AB es igual que BA")
} else {
print ("AB NO es igual que BA")
}
## [1] "AB NO es igual que BA"
—————————————————————————————————————————————————————————————————
\[\text{17. Desmortrar que la matriz } A=\begin{bmatrix}2&-2&-4\\-1&3&4\\1&-2&-3\end{bmatrix} \text{es idempotente} \]
A= matrix(c(2,-2,-4,-1,3,4,1,-2,-3),ncol=3,byrow=T);A
## [,1] [,2] [,3]
## [1,] 2 -2 -4
## [2,] -1 3 4
## [3,] 1 -2 -3
matIdem <- function(x)
{
x2 = x%*%x; x2
if( is.matrix(x2)&& is.matrix(x) && dim(x2) == dim(x) && all(x2 == x)){
print("Es una matriz idempotente")
} else {
print("No es una matriz idempotente")
}
}
matIdem(A) # FALSE
## [1] "Es una matriz idempotente"
—————————————————————————————————————————————————————————————————
\[\text{18. Determine de la Matiz }\\ C=\begin{bmatrix}12&5&-3&2\\8&6&4&6\\8&3&-1&-1\\12&4&2&4\end{bmatrix} \\ \] \(\text{Definición de la matriz}\ \)
C <- rbind(c(12,5,-3,2),
+ c(8,6,4,6),
+ c(8,3,-1,-1),
+ c(12,4,2,4));C
## [,1] [,2] [,3] [,4]
## [1,] 12 5 -3 2
## [2,] 8 6 4 6
## [3,] 8 3 -1 -1
## [4,] 12 4 2 4
$ $
det(C)
## [1] 616
—————————————————————————————————————————————————————————————————
\[\text{19. Si }A=\begin{bmatrix}1&2&1\\2&4&6\\3&1&2\end{bmatrix} y~B \begin{bmatrix}-1&2&-3\\2&-1&4\\3&4&1\end{bmatrix}\text{probar que }{|AB|=|A||B|}\\ \] \(\text{Definición de la matriz}\ \)
A= matrix(c(1,2,1,2,4,6,3,1,2),ncol=3,byrow=T);A
## [,1] [,2] [,3]
## [1,] 1 2 1
## [2,] 2 4 6
## [3,] 3 1 2
B= matrix(c(-1,2,-3,2,-1,4,3,4,1),ncol=3,byrow=T);B
## [,1] [,2] [,3]
## [1,] -1 2 -3
## [2,] 2 -1 4
## [3,] 3 4 1
\(\text{Probar que }{|AB|=|A||B|}\ \)
AB = A%*%B;AB
## [,1] [,2] [,3]
## [1,] 6 4 6
## [2,] 24 24 16
## [3,] 5 13 -3
detAB= det(AB); detAB
## [1] 80
detA= det(A); detA
## [1] 20
detB= det(B); detB
## [1] 4
pdetAB= detA*detB;pdetAB
## [1] 80
print(detAB)
## [1] 80
print(pdetAB)
## [1] 80
—————————————————————————————————————————————————————————————————
\[ \text{Si }\\ A=\begin{bmatrix}-1&2&-2\\4&-3&4\\4&-4&5\end{bmatrix} \\ \text{Demostrar que }{A=A^{-1}}\\ \] \(\text{Definición de la Matriz:}\ \)
A <- matrix(c(-1,2,-2,4,-3,4,4,-4,5),ncol=3,byrow=T);A
## [,1] [,2] [,3]
## [1,] -1 2 -2
## [2,] 4 -3 4
## [3,] 4 -4 5
Ainversa <- solve(A);Ainversa
## [,1] [,2] [,3]
## [1,] -1 2 -2
## [2,] 4 -3 4
## [3,] 4 -4 5
#Se cumple
—————————————————————————————————————————————————————————————————
\[\text{21. Si } A=\begin{bmatrix}1&-1&1\\2&-1&0\\1&0&1\end{bmatrix}\]
\[\text{Demostrar que } A^{2}=A^{-1}\] \(\text{Definición de la MatriZ:}\ \)
A= matrix(c(1,-1,1,2,-1,0,1,0,1),ncol=3,byrow=T);A
## [,1] [,2] [,3]
## [1,] 1 -1 1
## [2,] 2 -1 0
## [3,] 1 0 1
\(\text{Demostración:}\ \)
library(Biodem)
AA<-mtx.exp(A,2);AA
## [,1] [,2] [,3]
## [1,] 0 0 2
## [2,] 0 -1 2
## [3,] 2 -1 2
A1<-mtx.exp(A,-1);A1
## [,1] [,2] [,3]
## [1,] 1 0 0
## [2,] 0 1 0
## [3,] 0 0 1
matIguales <- function(A,B)
{
if( is.matrix(A)&& is.matrix(B) && dim(A) == dim(B) && all(A == B)){
print("Son iguales")
} else {
print("No son iguales")
}
}
matIguales(AA,A1) # FALSE
## [1] "No son iguales"
—————————————————————————————————————————————————————————————————
\[\text{22. La siguiente matriz tiene inversa? }\\ C=\begin{bmatrix}2&1&3&1\\1&2&-1&4\\3&3&2&5\\1&-1&4&-3\end{bmatrix} \\ \] \(\text{Definición de la MatriZ:}\ \)
C <- matrix(c(2,1,3,1,1,2,3,-1,3,-1,2,4,1,4,5,-3), ncol= 4);C
## [,1] [,2] [,3] [,4]
## [1,] 2 1 3 1
## [2,] 1 2 -1 4
## [3,] 3 3 2 5
## [4,] 1 -1 4 -3
\(\text{La matriz tiene inversa cuando su determinante de C es diferente de 0}\ \)
if(det(C) == 0){
print ("La matriz C NO tiene inversa")
} else {
print ("La matriz C tiene inversa")
}
## [1] "La matriz C NO tiene inversa"
det(C)
## [1] 0
—————————————————————————————————————————————————————————————————
\[\text{23. Si }A=\begin{bmatrix}1&1&-1\\2&-3&4\\3&-2&3\end{bmatrix} y\ ~B \begin{bmatrix}-1&-1&-1\\6&12&6\\5&10&5\end{bmatrix}\ \] \[\text{probar que }{r(AB)\not= r(BA)}\text{ donde r denota el rango.}\] \(\text{Definición de las Matrices:}\ \)
A= matrix(c(1,1,-1,2,-3,4,3,-2,3),ncol=3,byrow=T);A
## [,1] [,2] [,3]
## [1,] 1 1 -1
## [2,] 2 -3 4
## [3,] 3 -2 3
B= matrix(c(-1,-1,-1,6,12,6,5,10,5),ncol=3,byrow=T);B
## [,1] [,2] [,3]
## [1,] -1 -1 -1
## [2,] 6 12 6
## [3,] 5 10 5
\(\text{Probar que }{r(AB)\not= r(BA)}\ \)
#Rango de AB
AB= A%*%B;AB
## [,1] [,2] [,3]
## [1,] 0 1 0
## [2,] 0 2 0
## [3,] 0 3 0
rAB= matrix.rank(AB); rAB
## [1] 1
print(rAB)
## [1] 1
#Rango de BA
BA= B%*%A;BA
## [,1] [,2] [,3]
## [1,] -6 4 -6
## [2,] 48 -42 60
## [3,] 40 -35 50
rBA= matrix.rank(BA); rBA
## [1] 2
print(rBA)
## [1] 2
#Respuesta:
if(rAB == rBA){
print ("El rango AB es igual rango BA")
} else {
print ("El rango AB NO es igual rango BA")
}
## [1] "El rango AB NO es igual rango BA"
—————————————————————————————————————————————————————————————————
\[\text{Buscar el rango de las siguientes matrices:}\\ (i)\begin{bmatrix}6&1&3&8\\4&2&6&-1\\10&3&9&7\\16&4&12&15\end{bmatrix}\ (ii) \begin{bmatrix}1&2&3&4&5\\2&3&4&5&1\\5&8&11&14&7\end{bmatrix} \] \(\text{Definición de las Matrices:}\ \)
i <- matrix(c(6,1,3,8,4,2,6,-1,10,3,9,7,16,4,12,15),ncol=4,byrow=T);i
## [,1] [,2] [,3] [,4]
## [1,] 6 1 3 8
## [2,] 4 2 6 -1
## [3,] 10 3 9 7
## [4,] 16 4 12 15
ii <- matrix(c(1,2,3,4,5,2,3,4,5,1,5,8,11,14,7), ncol= 5, byrow=T);ii
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 2 3 4 5
## [2,] 2 3 4 5 1
## [3,] 5 8 11 14 7
#Rango Matriz i
qr(i)$rank
## [1] 2
#Rango Matriz i
qr(ii)$rank
## [1] 2
—————————————————————————————————————————————————————————————————
\[\text{Pruebe que para la matriz:}\ A=\begin{bmatrix}1&3&2\\2&6&4\end{bmatrix}\\\]
\[\text{dos inversas generalizadas son: }G_{1}=\begin{bmatrix}1&0\\0&0\\0&0\end{bmatrix},\ G_{2}=\begin{bmatrix}-42&-1\\5&3\\2&2\end{bmatrix} \] \(\text{Definición de Matriz:}\ \)
A25 <- matrix(c(1,3,2,2,6,4),ncol=3,byrow=T);A
## [,1] [,2] [,3]
## [1,] 1 1 -1
## [2,] 2 -3 4
## [3,] 3 -2 3
G1 <- matrix(c(1,0,0,0,0,0),ncol=2,byrow=T);G1
## [,1] [,2]
## [1,] 1 0
## [2,] 0 0
## [3,] 0 0
G2 <- matrix(c(-42,-1,5,3,2,2),ncol=2,,byrow=T);G2
## [,1] [,2]
## [1,] -42 -1
## [2,] 5 3
## [3,] 2 2
\(\text{Una matriz G es una g-inversa de A cuando AGA = A, entonces verificamos:}\ \)
PRUEBAG1 <- A25%*%G1%*%A25
PRUEBAG2 <- A25%*%G2%*%A25
if(identical(A25, PRUEBAG1)){
print ("G1 es inversa generalizada de A")
} else {
print ("G1 NO es inversa generalizada de A")
}
## [1] "G1 es inversa generalizada de A"
if(identical(A25, PRUEBAG2)){
print ("G2 es inversa generalizada de A")
} else {
print ("G2 NO es inversa generalizada de A")
}
## [1] "G2 es inversa generalizada de A"
—————————————————————————————————————————————————————————————————