# Alcuni calcoli tra matrici:
A <- matrix(data = c(6,4,9,-6), nrow = 2, ncol = 2)
B <- matrix(data = c(1,-1,2,0), nrow = 2, ncol = 2)
A; B; A+B; A-B; 3*A; A %*% B
     [,1] [,2]
[1,]    6    9
[2,]    4   -6
     [,1] [,2]
[1,]    1    2
[2,]   -1    0
     [,1] [,2]
[1,]    7   11
[2,]    3   -6
     [,1] [,2]
[1,]    5    7
[2,]    5   -6
     [,1] [,2]
[1,]   18   27
[2,]   12  -18
     [,1] [,2]
[1,]   -3   12
[2,]   10    8
# Le matrici inverse.
# Usando il comando per avere direttamente le matrici inverse
library(MASS); ginv(A); ginv(B)
           [,1]        [,2]
[1,] 0.08333333  0.12500000
[2,] 0.05555556 -0.08333333
             [,1] [,2]
[1,] 1.435213e-17 -1.0
[2,] 5.000000e-01  0.5
A %*% ginv(A)
             [,1]        [,2]
[1,] 1.000000e+00 2.63678e-16
[2,] 1.526557e-16 1.00000e+00
fractions(ginv(A)); fractions(ginv(B))
     [,1]  [,2] 
[1,]  1/12   1/8
[2,]  1/18 -1/12
     [,1] [,2]
[1,]   0   -1 
[2,] 1/2  1/2 
fractions(A %*% ginv(A))
     [,1] [,2]
[1,] 1    0   
[2,] 0    1
# Usando la def. di matrice inversa (risolvendo il sistema):
I <- diag(x = 1, nrow=2, ncol=2); I
     [,1] [,2]
[1,]    1    0
[2,]    0    1
solve(A,I)
           [,1]        [,2]
[1,] 0.08333333  0.12500000
[2,] 0.05555556 -0.08333333
fractions(solve(A,I))
     [,1]  [,2] 
[1,]  1/12   1/8
[2,]  1/18 -1/12