Las primeras propiedades que discutimos son las propiedades de una matriz transpuesta.Desglosemos y expliquemos cada una de ellas.
Las matriz transpuesta cumple las siguientes propiedades. Sea A y B dos matrices y k un número real:
Esto quiere decir que si se toma la transpuesta de una matriz A y luego vuelves a tomar la transpuesta del resultado, se obtendrá nuevamente la matriz original
#Matriz A para ejemplo de propiedad "a"
A <- matrix(c(90,3,21,18,45,39,7,13,27),nrow=3,byrow=T)
A
## [,1] [,2] [,3]
## [1,] 90 3 21
## [2,] 18 45 39
## [3,] 7 13 27
#Transpuesta de matriz A
t(A)
## [,1] [,2] [,3]
## [1,] 90 18 7
## [2,] 3 45 13
## [3,] 21 39 27
#Matriz A transpuesta
AT <- matrix(c(90,18,7,3,45,13,21,39,27),nrow = 3,byrow = T)
AT
## [,1] [,2] [,3]
## [1,] 90 18 7
## [2,] 3 45 13
## [3,] 21 39 27
#Transpuesta nuevamente
t(AT)
## [,1] [,2] [,3]
## [1,] 90 3 21
## [2,] 18 45 39
## [3,] 7 13 27
La transpuesta de la transpuesta es la matriz A original.
Esto nos dice que la transpuesta de la suma de dos matrices es igual a la suma de sus dos transpuestas de manera individual. Mostraremos a continuación.
#Matrices A y B para ejemplo de propiedades "b"
A <- matrix(c(90,3,21,18,45,39,7,13,27),nrow=3,byrow=T)
A
## [,1] [,2] [,3]
## [1,] 90 3 21
## [2,] 18 45 39
## [3,] 7 13 27
B <- matrix(c(20,19,2,18,25,34,17,26,37),nrow=3,byrow=T)
B
## [,1] [,2] [,3]
## [1,] 20 19 2
## [2,] 18 25 34
## [3,] 17 26 37
#Sumatoria de A y B
C <- A + B
C
## [,1] [,2] [,3]
## [1,] 110 22 23
## [2,] 36 70 73
## [3,] 24 39 64
#Transpuesta de sumatoria de A y B
t(C)
## [,1] [,2] [,3]
## [1,] 110 36 24
## [2,] 22 70 39
## [3,] 23 73 64
#Transpuesta matriz A individual
A <- matrix(c(90,3,21,18,45,39,7,13,27),nrow=3,byrow=T)
A
## [,1] [,2] [,3]
## [1,] 90 3 21
## [2,] 18 45 39
## [3,] 7 13 27
t(A)
## [,1] [,2] [,3]
## [1,] 90 18 7
## [2,] 3 45 13
## [3,] 21 39 27
#Transpuesta matriz B individual
B <- matrix(c(20,19,2,18,25,34,17,26,37),nrow=3,byrow=T)
B
## [,1] [,2] [,3]
## [1,] 20 19 2
## [2,] 18 25 34
## [3,] 17 26 37
t(B)
## [,1] [,2] [,3]
## [1,] 20 18 17
## [2,] 19 25 26
## [3,] 2 34 37
#Sumatoria transpuestas individuales
C <- t(A)+t(B)
C
## [,1] [,2] [,3]
## [1,] 110 36 24
## [2,] 22 70 39
## [3,] 23 73 64
Como se puede ver, la transpuesta de la suma de las matrices A y B es igual a la sumatoria de las tranpuestas por separado de las matrices A y B.
Esta propiedad dice que la transpuesta de la multiplicación de dos matrices es igual a la multiplicación de la transpuesta de ambas matrices pero en orden inverso, es decir la transpuesta de la matriz B por la transpuesta de la matriz A.
#Matrices A y B para ejemplo de propiedades "c"
A <- matrix(c(90,3,21,18,45,39,7,13,27),nrow=3,byrow=T)
A
## [,1] [,2] [,3]
## [1,] 90 3 21
## [2,] 18 45 39
## [3,] 7 13 27
B <- matrix(c(20,19,2,18,25,34,17,26,37),nrow=3,byrow=T)
B
## [,1] [,2] [,3]
## [1,] 20 19 2
## [2,] 18 25 34
## [3,] 17 26 37
#Multiplicación matrices A y B
C <- A%*%B
C
## [,1] [,2] [,3]
## [1,] 2211 2331 1059
## [2,] 1833 2481 3009
## [3,] 833 1160 1455
#Transpuesta producto matriz A y B
t(C)
## [,1] [,2] [,3]
## [1,] 2211 1833 833
## [2,] 2331 2481 1160
## [3,] 1059 3009 1455
#Transpuesta matriz B individual
B <- matrix(c(20,19,2,18,25,34,17,26,37),nrow=3,byrow=T)
B
## [,1] [,2] [,3]
## [1,] 20 19 2
## [2,] 18 25 34
## [3,] 17 26 37
t(B)
## [,1] [,2] [,3]
## [1,] 20 18 17
## [2,] 19 25 26
## [3,] 2 34 37
#Transpuesta matriz A individua
A <- matrix(c(90,3,21,18,45,39,7,13,27),nrow=3,byrow=T)
A
## [,1] [,2] [,3]
## [1,] 90 3 21
## [2,] 18 45 39
## [3,] 7 13 27
t(A)
## [,1] [,2] [,3]
## [1,] 90 18 7
## [2,] 3 45 13
## [3,] 21 39 27
#Multiplición de transpuestas matrices B y A
C <- t(B)%*%t(A)
C
## [,1] [,2] [,3]
## [1,] 2211 1833 833
## [2,] 2331 2481 1160
## [3,] 1059 3009 1455
Como se puede observar, la transpuesta del oriducto de dos matrices es igual al producto de las transpuestas, pero en orden inverso.
Aquí k es un número real (escalar) y A es una matriz. Esta propiedad dice que la transpuesta del producto de un escalar por una matriz es igual a multiplicar ese escalar por la transpuesta de la matriz.
#Matriz A y numero real k para ejemplo propiedad "d"
k <-5
A <- matrix(c(90,3,21,18,45,39,7,13,27),nrow=3,byrow=T)
#Producto de escalar por matriz
k*A
## [,1] [,2] [,3]
## [1,] 450 15 105
## [2,] 90 225 195
## [3,] 35 65 135
#Multiplicación escalar por matriZ A
k*A
## [,1] [,2] [,3]
## [1,] 450 15 105
## [2,] 90 225 195
## [3,] 35 65 135
#Transpuesta producto de escalar por matriz A
t(k*A)
## [,1] [,2] [,3]
## [1,] 450 90 35
## [2,] 15 225 65
## [3,] 105 195 135
#Ahora sacaremos transpuesta de A primero
t(A)
## [,1] [,2] [,3]
## [1,] 90 18 7
## [2,] 3 45 13
## [3,] 21 39 27
#Luego, multiplicaremos esa transpuesta por el escalar
k*t(A)
## [,1] [,2] [,3]
## [1,] 450 90 35
## [2,] 15 225 65
## [3,] 105 195 135
Luego de las propiedades de matriz compuesta, discutimos las propiedades de la traza de una matriz.
La traza de una matriz cumple las siguientes propiedades. Sea A y B dos matrices cuadradas y k un número real:
Esta propiedad dice que la traza de la suma de la matriz A con matriz B es igual a la sumatoria de las trazas de estas matrices de manera indivudual, es decir la traza de la matriz A más la traza de la matriz B.
#Matrices A y B para ejemplo de propiedad "a"
A <- matrix(c(90,3,21,18,45,39,7,13,27),nrow=3,byrow=T)
B <- matrix(c(20,19,2,18,25,34,17,26,37),nrow=3,byrow=T)
#Sumatoria de matrices
C <- A+B
C
## [,1] [,2] [,3]
## [1,] 110 22 23
## [2,] 36 70 73
## [3,] 24 39 64
#Traza de sumatoria de matrices
trC <- sum(diag(C))
trC
## [1] 244
#Ahora sacaremos las trazas de las matrices individualmente, comenzando con matriz A
A <- matrix(c(90,3,21,18,45,39,7,13,27),nrow=3,byrow=T)
trA <- sum(diag(A))
trA
## [1] 162
#Traza matriz B
B <- matrix(c(20,19,2,18,25,34,17,26,37),nrow=3,byrow=T)
trB <- sum(diag(B))
trB
## [1] 82
#Sumatoria trazas de matriz A y matriz B
trAB <- trA+trB
trAB
## [1] 244
Como podemos ver, se cumple la propiedad estipulada.
Esta propiedad indica que la traza de un escalar por una matriz A es igual a el escalar por la traza de la matriz A de manera individual. Mostraremos a continuacion.
#Ejemplo escalar y matriz A para propiedad "b"
k <-5
A <- matrix(c(90,3,21,18,45,39,7,13,27),nrow=3,byrow=T)
#Producto de escalar por matriz
KA <-k*A
#Traza de producto de escalar por matriz
trKA <- sum(diag(KA))
trKA
## [1] 810
#Ahora sacaremos la traza de matriz de A primero
A <- matrix(c(90,3,21,18,45,39,7,13,27),nrow=3,byrow=T)
trA <-sum(diag(A))
trA
## [1] 162
#Luego esa traza la multiplicaremos por el escalar
k*trA
## [1] 810
Podemos ver como se cumple la propiedad, ambos dando 810.
Esta propiedad indica que la traza del producto de dos matrices es igual a la traza del producto pero de manera inversa.
#Matrices A y B para ejemplo de propiedades "c"
A <- matrix(c(90,3,21,18,45,39,7,13,27),nrow=3,byrow=T)
B <- matrix(c(20,19,2,18,25,34,17,26,37),nrow=3,byrow=T)
#Multiplicación de matrices A y B
C <- A%*%B
C
## [,1] [,2] [,3]
## [1,] 2211 2331 1059
## [2,] 1833 2481 3009
## [3,] 833 1160 1455
#Ahora sacaremos la traza de ese producto
trC <-sum(diag(C))
trC
## [1] 6147
#Ahora haremos lo mismo pero la multiplicación de manera inversa
C2 <- B%*%A
C2
## [,1] [,2] [,3]
## [1,] 2156 941 1215
## [2,] 2308 1621 2271
## [3,] 2257 1702 2370
#Ahora sacaremos la traza de ese producto
trC2 <-sum(diag(C2))
trC2
## [1] 6147
Vemos como se cumple la propiedad ambos dando 6147.
A contunuación discutiremos las propiedades explicadas de la matriz inversa.
Esta es la propiedad distributiva de las matrices. Indica que al multiplicar una matriz A por la suma de dos matrices B y C, es lo mismo que multiplicar A por B y luego por C, y después sumar los resultados.
#Matrices A, B y C para ejempo de propiedades "a"
A <- matrix(c(90,3,21,18,45,39,7,13,27),nrow=3,byrow=T)
B <- matrix(c(20,19,2,18,25,34,17,26,37),nrow=3,byrow=T)
C <- matrix(c(7,98,211,56,83,3,17,67,65),nrow=3,byrow=T)
#Sumamos matrices B y C
D <- B+C
D
## [,1] [,2] [,3]
## [1,] 27 117 213
## [2,] 74 108 37
## [3,] 34 93 102
#Multiplicamos A por resultado de sumatoria
E <- A%*%D
E
## [,1] [,2] [,3]
## [1,] 3366 12807 21423
## [2,] 5142 10593 9477
## [3,] 2069 4734 4726
#Ahora multiplicamos matriz de A y B
AB <- A%*%B
AB
## [,1] [,2] [,3]
## [1,] 2211 2331 1059
## [2,] 1833 2481 3009
## [3,] 833 1160 1455
#Ahora multiplicamos matriz de A y C
AC <- A%*%C
AC
## [,1] [,2] [,3]
## [1,] 1155 10476 20364
## [2,] 3309 8112 6468
## [3,] 1236 3574 3271
#Sumamos AB+AC
E2 <- AB+AC
E2
## [,1] [,2] [,3]
## [1,] 3366 12807 21423
## [2,] 5142 10593 9477
## [3,] 2069 4734 4726
Como podemos ver la propiedad distributiva se cumple.
Esta es la regla transpuesta del producto. Dice que la transpuesta del producto de dos matrices A y B es igual al producto de las transpuestas indivoiduales de las matrices, pero en orden inverso.
#Matrices A y B para ejemplo propiedades "b"
A <- matrix(c(90,3,21,18,45,39,7,13,27),nrow=3,byrow=T)
B <- matrix(c(20,19,2,18,25,34,17,26,37),nrow=3,byrow=T)
#Multiplico ambas matrices
C <- A%*%B
C
## [,1] [,2] [,3]
## [1,] 2211 2331 1059
## [2,] 1833 2481 3009
## [3,] 833 1160 1455
#Calculo transpuesta del producto
t(C)
## [,1] [,2] [,3]
## [1,] 2211 1833 833
## [2,] 2331 2481 1160
## [3,] 1059 3009 1455
#Ahora calculo transpuesta solo de la matriz A
t(A)
## [,1] [,2] [,3]
## [1,] 90 18 7
## [2,] 3 45 13
## [3,] 21 39 27
#Ahora calculo transpuesta solo de la matriz B
t(B)
## [,1] [,2] [,3]
## [1,] 20 18 17
## [2,] 19 25 26
## [3,] 2 34 37
#Multiplico eso por la matriz A
TBTA <- t(B)%*%t(A)
TBTA
## [,1] [,2] [,3]
## [1,] 2211 1833 833
## [2,] 2331 2481 1160
## [3,] 1059 3009 1455
Esta propiedad refleja el papel de la matriz identidad I en multiplicación de matrices. La matriz identidad actúa como el número 1 en las matrices, es decir, cuando multiplicas una matriz A por la identidad I, el resultado es la misma matriz A.
#Matriz A que utilizaremos en el ejemplo propiedad "c"
A <- matrix(c(90,3,21,18,45,39,7,13,27),nrow=3,byrow=T)
#Crear Identidad
I <- diag(3)
#Multiplicamos matriz A por Identidad
AI <- A%*%I
AI
## [,1] [,2] [,3]
## [1,] 90 3 21
## [2,] 18 45 39
## [3,] 7 13 27
#Ahora multiplicamos Identidad por matriz A
IA <- I%*%A
IA
## [,1] [,2] [,3]
## [1,] 90 3 21
## [2,] 18 45 39
## [3,] 7 13 27
Se cumple la propiedad.
Y para finalizar, discutimos las propiedades de la inversa de una matriz.
Esta propiedad establece que la inversa de un producto de dos matrices A yB es igual al producto de sus inversas, pero en orden inverso.
#Matriz A y matriz B ejemplo propiedad "a"
A <- matrix(c(90,3,21,18,45,39,7,13,27),nrow=3,byrow=T)
B <- matrix(c(7,98,211,56,83,3,17,67,65),nrow=3,byrow=T)
#Verificamos determinantes diferentes a cero
det(A)
## [1] 61380
det(B)
## [1] 178587
#Multiplicacion matrices
C <- A%*%B
C
## [,1] [,2] [,3]
## [1,] 1155 10476 20364
## [2,] 3309 8112 6468
## [3,] 1236 3574 3271
#Inversa de producto
InvC <-solve(C)
InvC
## [,1] [,2] [,3]
## [1,] 0.0003117883 0.0035135102 -0.008888609
## [2,] -0.0002581077 -0.0019515182 0.005465767
## [3,] 0.0001642025 0.0008046553 -0.002307652
#Ahora calcularemos las inversas de las matrices por separado, comenzando con matriz B
InvB <-solve(B)
InvB
## [,1] [,2] [,3]
## [1,] 0.02908386 0.043491408 -0.09641799
## [2,] -0.02009665 -0.017537671 0.06604624
## [3,] 0.01310846 0.006702616 -0.02747680
#Inversa matriz A
InvA <-solve(A)
InvA
## [,1] [,2] [,3]
## [1,] 0.011534702 0.003128055 -0.01348974
## [2,] -0.003470186 0.037194526 -0.05102639
## [3,] -0.001319648 -0.018719453 0.06510264
#Multiplicamos inversas
InvBA <- InvB%*%InvA
InvBA
## [,1] [,2] [,3]
## [1,] 0.0003117883 0.0035135102 -0.008888609
## [2,] -0.0002581077 -0.0019515182 0.005465767
## [3,] 0.0001642025 0.0008046553 -0.002307652
Se cumple la propiedad.
Esta propiedad indica que La inversa de la transpuesta de una matriz A es igual a la transpuesta de la inversa de A.
#Matriz A
A <- matrix(c(90,3,21,18,45,39,7,13,27),nrow=3,byrow=T)
#Transpuesta matriz A
t(A)
## [,1] [,2] [,3]
## [1,] 90 18 7
## [2,] 3 45 13
## [3,] 21 39 27
#Comprobamos determinante
det(t(A))
## [1] 61380
#Inversa
InvTA <-solve(t(A))
InvTA
## [,1] [,2] [,3]
## [1,] 0.011534702 -0.003470186 -0.001319648
## [2,] 0.003128055 0.037194526 -0.018719453
## [3,] -0.013489736 -0.051026393 0.065102639
#Ahora primero calculamos la inversa de la matriz A
InvA <-solve(A)
InvA
## [,1] [,2] [,3]
## [1,] 0.011534702 0.003128055 -0.01348974
## [2,] -0.003470186 0.037194526 -0.05102639
## [3,] -0.001319648 -0.018719453 0.06510264
#Luego calculamos transpuesta
t(InvA)
## [,1] [,2] [,3]
## [1,] 0.011534702 -0.003470186 -0.001319648
## [2,] 0.003128055 0.037194526 -0.018719453
## [3,] -0.013489736 -0.051026393 0.065102639
Confirmamos el cumplimiento de la propiedad.
Esta propiedad indica que el determinante de la inversa de una matriz A es igual a la inversa del determinante de A.
#Matriz A
A <- matrix(c(90,3,21,18,45,39,7,13,27),nrow=3,byrow=T)
#Inversa
InvA <- solve(A)
InvA
## [,1] [,2] [,3]
## [1,] 0.011534702 0.003128055 -0.01348974
## [2,] -0.003470186 0.037194526 -0.05102639
## [3,] -0.001319648 -0.018719453 0.06510264
#El determinante de la inversa
det(InvA)
## [1] 1.629195e-05
#Ahora sacaremos el determinante de la matriz A en primer lugar
det(A)
## [1] 61380
#Luego calcularemos la inversa de ese determinante
InvDET <-solve(det(A))
InvDET
## [,1]
## [1,] 1.629195e-05
Ambos dan un valor de 1.629195e-05, confirmando la propiedad.
Esta propiedad indica que si una matriz A es simétrica, entonces su inversa A^−1 también será simétrica.
#Matriz A simétrica
A <- matrix(c(4, 1, 1, 3), nrow = 2)
A
## [,1] [,2]
## [1,] 4 1
## [2,] 1 3
#Verificamos simetría con la transpuesta
t(A)
## [,1] [,2]
## [1,] 4 1
## [2,] 1 3
#Calcular inversa
InvA <-solve(A)
InvA
## [,1] [,2]
## [1,] 0.27272727 -0.09090909
## [2,] -0.09090909 0.36363636
#Confirmamo simetría de inversa con la transpuesta
t(InvA)
## [,1] [,2]
## [1,] 0.27272727 -0.09090909
## [2,] -0.09090909 0.36363636
Se confirma la propiedad.
A <- matrix(c(1, 1, 0, 1, 2, 2), ncol=2, byrow=TRUE)
A
## [,1] [,2]
## [1,] 1 1
## [2,] 0 1
## [3,] 2 2
Aqui se nos pide multiplicar la transpuesta de A por la matriz A.
#Matriz A
A <- matrix(c(1, 1, 0, 1, 2, 2), ncol=2, byrow=TRUE)
A
## [,1] [,2]
## [1,] 1 1
## [2,] 0 1
## [3,] 2 2
#Calculamos transpuesta de matriz A
t(A)
## [,1] [,2] [,3]
## [1,] 1 0 2
## [2,] 1 1 2
#Multiplicamos la transpuesta por la matriz A
AT <- t(A)%*%A
AT
## [,1] [,2]
## [1,] 5 5
## [2,] 5 6
#Luego calculamos su determinante
det(AT)
## [1] 5
#Y luego, calculamos su traza
trA<-sum(diag(AT))
trA
## [1] 11
Aquí es al revez. Multiplicaremos la matriz A por la transpuesta de A.
#Matriz A
A <- matrix(c(1, 1, 0, 1, 2, 2), ncol=2, byrow=TRUE)
A
## [,1] [,2]
## [1,] 1 1
## [2,] 0 1
## [3,] 2 2
#Transpuesta
t(A)
## [,1] [,2] [,3]
## [1,] 1 0 2
## [2,] 1 1 2
#Multiplicamos matriz A por transpuesta
MT <- A%*%t(A)
MT
## [,1] [,2] [,3]
## [1,] 2 1 4
## [2,] 1 1 2
## [3,] 4 2 8
#Calculamos determinante
det(MT)
## [1] 0
#Calculamos traZa
trMT <- sum(diag(MT))
trMT
## [1] 11
Ya esta multiplicación la hicimos anteriormente, solo nos hace falta confirmar si los valores son invertibles. Para hacer eso confirmaremos con el determinante. Debe ser diferente a cero.
#Matriz A
A <- matrix(c(1, 1, 0, 1, 2, 2), ncol=2, byrow=TRUE)
A
## [,1] [,2]
## [1,] 1 1
## [2,] 0 1
## [3,] 2 2
#Calculamos transpuesta de matriz A
t(A)
## [,1] [,2] [,3]
## [1,] 1 0 2
## [2,] 1 1 2
#Multiplicamos la transpuesta por la matriz A
AT <- t(A)%*%A
AT
## [,1] [,2]
## [1,] 5 5
## [2,] 5 6
#Luego calculamos su determinante
det(AT)
## [1] 5
#El determinante es diferente a cero, por lo cual podemos calcular inversa
InvAT <- solve(AT)
InvAT
## [,1] [,2]
## [1,] 1.2 -1
## [2,] -1.0 1
B <- matrix(c(2,1,1,2),ncol=2,byrow=T)
B
## [,1] [,2]
## [1,] 2 1
## [2,] 1 2
#Calculamos vectores propios de B
lambda_B <- eigen(B)
lambda_B$vectors
## [,1] [,2]
## [1,] 0.7071068 -0.7071068
## [2,] 0.7071068 0.7071068
#Ahora calculamos valores propios de B
lambda_B$values
## [1] 3 1
#Prueba
lambda_B$vectors[,1]%*%lambda_B$vectors[,2]
## [,1]
## [1,] 0
#Definimos matriz B
B <- matrix(c(2,1,1,2),ncol=2,byrow=T)
B
## [,1] [,2]
## [1,] 2 1
## [2,] 1 2
#Calculamos vectores propios de B
lambda_B <- eigen(B)
lambda_B$vectors
## [,1] [,2]
## [1,] 0.7071068 -0.7071068
## [2,] 0.7071068 0.7071068
#Ahora calculamos valores propios de B
lambda_B$values
## [1] 3 1
#Descomposición de B
lambda_B$vectors%*%(lambda_B$values*t(lambda_B$vectors))
## [,1] [,2]
## [1,] 2 1
## [2,] 1 2
#Inversa de B
InvB <-round(solve(B),1)
InvB
## [,1] [,2]
## [1,] 0.7 -0.3
## [2,] -0.3 0.7
#Descomposición inversa de B
round(lambda_B$vectors%*%((1/lambda_B$values)*t(lambda_B$vectors)),1)
## [,1] [,2]
## [1,] 0.7 -0.3
## [2,] -0.3 0.7
#Definimos matriz B
B <- matrix(c(2,1,1,2),ncol=2,byrow=T)
B
## [,1] [,2]
## [1,] 2 1
## [2,] 1 2
#Verificamos determinante
det(B)
## [1] 3
#Es diferente a cero, Buscamos Inversa de matriz B
IB <- round(solve(B),1)
IB
## [,1] [,2]
## [1,] 0.7 -0.3
## [2,] -0.3 0.7
#Calculamos vectores propios de IB
lambda_IB <- eigen(IB)
lambda_IB$vectors
## [,1] [,2]
## [1,] -0.7071068 -0.7071068
## [2,] 0.7071068 -0.7071068
#Ahora calculamos valores propios de IB
lambda_IB$values
## [1] 1.0 0.4
#Descomposición de B
lambda_IB$vectors%*%(lambda_IB$values*t(lambda_IB$vectors))
## [,1] [,2]
## [1,] 0.7 -0.3
## [2,] -0.3 0.7
#Inversa de B
InvIB <-round(solve(IB),1)
InvIB
## [,1] [,2]
## [1,] 1.8 0.8
## [2,] 0.8 1.8
#Descomposición inversa de B
round(lambda_IB$vectors%*%((1/lambda_IB$values)*t(lambda_IB$vectors)),1)
## [,1] [,2]
## [1,] 1.8 0.8
## [2,] 0.8 1.8