METODOS MULTIVARIADOS:TALLER 01: ALGEBRA LINEAL CON R

Yeimy Maryury Montilla Montilla
Carlos Eduardo Caceres Gonzalez

Marzo 18 del 2021

—————————————————————————————————————————————————————————————————

Paquetes requeridos

#install.packages("rgl")
#install.packages('matrixcalc')
#install.packages('Biodem')
library(matrixcalc)

—————————————————————————————————————————————————————————————————

Punto 01

\[\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)

—————————————————————————————————————————————————————————————————

Punto 02

\[\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

—————————————————————————————————————————————————————————————————

Punto 03

\[\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

—————————————————————————————————————————————————————————————————

Punto 04

\[\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.

—————————————————————————————————————————————————————————————————

Punto 05

\[\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"

—————————————————————————————————————————————————————————————————

Punto 06

\[\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

—————————————————————————————————————————————————————————————————

Punto 07

\[\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

—————————————————————————————————————————————————————————————————

Punto 08

\[\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

—————————————————————————————————————————————————————————————————

Punto 09

Este Punto no esta dentro del taller, se deja el espacio.

—————————————————————————————————————————————————————————————————

Punto 10

\[\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

—————————————————————————————————————————————————————————————————

Punto 11

\[\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

—————————————————————————————————————————————————————————————————

Punto 12

\[\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"

—————————————————————————————————————————————————————————————————

Punto 13

\[\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

—————————————————————————————————————————————————————————————————

Punto 14

\[\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

—————————————————————————————————————————————————————————————————

Punto 15

\[\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

—————————————————————————————————————————————————————————————————

Punto 16

\[\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"

—————————————————————————————————————————————————————————————————

Punto 17

\[\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"

—————————————————————————————————————————————————————————————————

Punto 18

\[\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

—————————————————————————————————————————————————————————————————

Punto 19

\[\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

—————————————————————————————————————————————————————————————————

Punto 20

\[ \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

—————————————————————————————————————————————————————————————————

Punto 21

\[\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"

—————————————————————————————————————————————————————————————————

Punto 22

\[\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

—————————————————————————————————————————————————————————————————

Punto 23

\[\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"

—————————————————————————————————————————————————————————————————

Punto 24

\[\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

—————————————————————————————————————————————————————————————————

Punto 25

\[\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"

—————————————————————————————————————————————————————————————————