• Pacotes
require(matrixcalc)
require(pracma)
require(MASS)

Example 8.5 (página 125)

Para as matrizes (e vetor) abaixo , \[ \boldsymbol{A_1}=\begin{pmatrix} 3 & 2 & 1 \\ 4 & 2 & 0 \\ 5 & 2 & -1 \\ -1 & 0 & 1 \end{pmatrix}, \boldsymbol{A_2}=\begin{pmatrix} 1 & 3 & 5 \\ 2 & 4 & 6 \end{pmatrix}, \boldsymbol{A_3}=\begin{pmatrix} 1 & 1 & 5 \\ 2 & 5 & 3 \\ 3 & 6 & 1 \\ 5 & 4 & 4 \end{pmatrix}, \boldsymbol{A_4}=\begin{pmatrix} 1 & 3 & 7 \end{pmatrix} \]

  1. Determine a forma escalonada;
  2. Calcule o posto;
  3. Verifique se são de posto completo;
  4. Caso não sejam de posto completo, identifique quais linhas (colunas) são resultado de outras linhas (colunas);
  5. Encontre a inversa generalizada de Moore-Penrose;
  6. Verifique se as 4 propriedades da inversa generalizada de Moore-Penrose são satisfeitas:

\[ \begin{array}{l} \mbox{ Seja } \boldsymbol{A} \mbox{ uma matriz e } \boldsymbol{M} \mbox{ a sua inv. generalizada: }\\\ \mbox{ Prop. I: } \boldsymbol{A M A} = \boldsymbol{ A}\\ \mbox{ Prop. II: } \boldsymbol{M A M }=\boldsymbol{M}\\ \mbox{ Prop. III: } \boldsymbol{A M }=(\boldsymbol{A M })^\top \mbox{ ou seja, } \boldsymbol{A M } \mbox{ é simétrica}\\ \mbox{ Prop. IV: } \boldsymbol{MA}=(\boldsymbol{MA })^\top \mbox{ ou seja, } \boldsymbol{MA } \mbox{ é simétrica} \end{array} \]

Resposta: \[ \begin{array}{l} a) \mbox{ Com o auxílio do R, temos que as formas escalonadas são:}\\ \boldsymbol{E_1}=\begin{pmatrix} 1 & 0 & -1 \\ 0 & 1 & 2 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix}, \boldsymbol{E_2}=\begin{pmatrix} 1 & 0 & -1 \\ 0 & 1 & 2 \end{pmatrix}, \boldsymbol{E_3}=\begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \end{pmatrix},\\ \boldsymbol{E_4} \mbox{ não possui forma escalonada, é um vetor!} \end{array} \]

\[ \begin{array}{l} b) \mbox{ Olhando para as formas escalonadas e o cálculo do posto no R:}\\ \mbox{ posto }(\boldsymbol{A}_1)=2,\mbox{ posto }(\boldsymbol{A}_2)=2, \mbox{ posto }(\boldsymbol{A}_3)=3, \mbox{ posto }(\boldsymbol{A}_4)=1 \end{array} \]

\[ \begin{array}{l} c) \mbox{ somente a matriz } A_3 \mbox{ é de posto completo:}\\ \rightarrow \mbox{ sua forma escalonada não possui linhas inteiras nulas} \end{array} \]

\[ \begin{array}{l} d) \boldsymbol{ A}_1: \left\{ \begin{array}{l} \mbox{a linha 4 é igual a subtração das linhas 1 e 2}\\ \mbox{ a linha 3 é igual a subtração das linhas 2 e 4} \end{array} \right. \end{array} \] \[ \begin{array}{l} e) \mbox{ Com o auxílio do R, temos que as inversas generalizadas são:}\\ \boldsymbol{M_1}=\begin{pmatrix} 0 & 0.0556 & 0.1111 & -0.0556\\ 0.1667 & 0.0556 & -0.0556 & 0.1111 \\ 0.3333 & 0.0556 & -0.2222 & 0.2778 \end{pmatrix}, \boldsymbol{M_2}=\begin{pmatrix} -1.3333 & 1.0833 \\ -0.3333 & 0.3333\\ 0.6667 & -0.4167 \end{pmatrix},\\ \boldsymbol{M_3}=\begin{pmatrix} -0.1336 & -0.1982 & -0.0276 & 0.3226\\ -0.0072 & 0.1541 & 0.1326 & -0.1398 \\ 0.1930 & 0.0640 & -0.0712 & -0.0215 \end{pmatrix}, \boldsymbol{M}_4=\begin{pmatrix} 0.0169 \\ 0.0508 \\ 0.1186 \end{pmatrix} \end{array} \]

  1. Com o auxílio do R, vemos que as propriedades I a IV são satisfeitas, considerando arredondamento de 4 casas decimais.
  • Cálculos no R:
    • a função rref calcula a forma escalonada das matrizes;
    • a função Rank calcula o posto das matrizes;
    • a função ginv calcula a inversa generalizada de Moore-Penrose.
A_1=matrix(c(3,2,1,4,2,0,5,2,-1,-1,0,1),nrow=4,byrow=T)
A_2=matrix(c(1,3,5,2,4,6),nrow=2,byrow=T)
A_3=matrix(c(1,1,5,2,5,3,3,6,1,5,4,4),nrow=4,byrow=T)
A_4=matrix(c(1,3,7),ncol=3)
f=function(matriz)
{
  aux=list()
  aux[[1]]=rref(matriz) #determina a forma escalonada da matriz
  aux[[2]]=Rank(matriz) #acha o rank
  aux[[3]]=ginv(matriz)
  return (aux)
}
A_1
##      [,1] [,2] [,3]
## [1,]    3    2    1
## [2,]    4    2    0
## [3,]    5    2   -1
## [4,]   -1    0    1
f(A_1)
## [[1]]
##      [,1] [,2] [,3]
## [1,]    1    0   -1
## [2,]    0    1    2
## [3,]    0    0    0
## [4,]    0    0    0
## 
## [[2]]
## [1] 2
## 
## [[3]]
##              [,1]       [,2]        [,3]        [,4]
## [1,] 6.938894e-18 0.05555556  0.11111111 -0.05555556
## [2,] 1.666667e-01 0.05555556 -0.05555556  0.11111111
## [3,] 3.333333e-01 0.05555556 -0.22222222  0.27777778
M_1=f(A_1)[[3]]
A_2
##      [,1] [,2] [,3]
## [1,]    1    3    5
## [2,]    2    4    6
f(A_2)
## [[1]]
##      [,1] [,2] [,3]
## [1,]    1    0   -1
## [2,]    0    1    2
## 
## [[2]]
## [1] 2
## 
## [[3]]
##            [,1]       [,2]
## [1,] -1.3333333  1.0833333
## [2,] -0.3333333  0.3333333
## [3,]  0.6666667 -0.4166667
M_2=f(A_2)[[3]]
A_3
##      [,1] [,2] [,3]
## [1,]    1    1    5
## [2,]    2    5    3
## [3,]    3    6    1
## [4,]    5    4    4
f(A_3)
## [[1]]
##      [,1] [,2] [,3]
## [1,]    1    0    0
## [2,]    0    1    0
## [3,]    0    0    1
## [4,]    0    0    0
## 
## [[2]]
## [1] 3
## 
## [[3]]
##              [,1]       [,2]        [,3]        [,4]
## [1,] -0.133640553 -0.1981567 -0.02764977  0.32258065
## [2,] -0.007168459  0.1541219  0.13261649 -0.13978495
## [3,]  0.193036354  0.0640041 -0.07117256 -0.02150538
M_3=f(A_3)[[3]]
A_4
##      [,1] [,2] [,3]
## [1,]    1    3    7
try(rref(A_4))
## Error in A[ridx, i:nc] : índice fora de limites
Rank(A_4)
## [1] 1
M_4=ginv(A_4)
M_4
##            [,1]
## [1,] 0.01694915
## [2,] 0.05084746
## [3,] 0.11864407
  • Para verificar as propriedades, foi criada uma função com o detalhamento das 4 propriedades
g=function(matriz,inversa)
{
  aux=list()
  aux[[1]]=matriz%*%inversa%*%matriz
  aux[[2]]=inversa%*%matriz%*%inversa
  aux[[3]]=matriz%*%inversa
  aux[[4]]=inversa%*%matriz
  return(aux)
}
g(A_1,M_1)
## [[1]]
##      [,1]         [,2]          [,3]
## [1,]    3 2.000000e+00  1.000000e+00
## [2,]    4 2.000000e+00  3.330669e-16
## [3,]    5 2.000000e+00 -1.000000e+00
## [4,]   -1 2.220446e-16  1.000000e+00
## 
## [[2]]
##              [,1]       [,2]        [,3]        [,4]
## [1,] 2.081668e-17 0.05555556  0.11111111 -0.05555556
## [2,] 1.666667e-01 0.05555556 -0.05555556  0.11111111
## [3,] 3.333333e-01 0.05555556 -0.22222222  0.27777778
## 
## [[3]]
##              [,1]         [,2]          [,3]          [,4]
## [1,] 6.666667e-01 3.333333e-01 -1.110223e-16  3.333333e-01
## [2,] 3.333333e-01 3.333333e-01  3.333333e-01  1.110223e-16
## [3,] 1.110223e-16 3.333333e-01  6.666667e-01 -3.333333e-01
## [4,] 3.333333e-01 7.632783e-17 -3.333333e-01  3.333333e-01
## 
## [[4]]
##            [,1]      [,2]       [,3]
## [1,]  0.8333333 0.3333333 -0.1666667
## [2,]  0.3333333 0.3333333  0.3333333
## [3,] -0.1666667 0.3333333  0.8333333
g(A_2,M_2)
## [[1]]
##      [,1] [,2] [,3]
## [1,]    1    3    5
## [2,]    2    4    6
## 
## [[2]]
##            [,1]       [,2]
## [1,] -1.3333333  1.0833333
## [2,] -0.3333333  0.3333333
## [3,]  0.6666667 -0.4166667
## 
## [[3]]
##              [,1] [,2]
## [1,] 1.000000e+00    0
## [2,] 2.664535e-15    1
## 
## [[4]]
##            [,1]      [,2]       [,3]
## [1,]  0.8333333 0.3333333 -0.1666667
## [2,]  0.3333333 0.3333333  0.3333333
## [3,] -0.1666667 0.3333333  0.8333333
g(A_3,M_3)
## [[1]]
##      [,1] [,2] [,3]
## [1,]    1    1    5
## [2,]    2    5    3
## [3,]    3    6    1
## [4,]    5    4    4
## 
## [[2]]
##              [,1]       [,2]        [,3]        [,4]
## [1,] -0.133640553 -0.1981567 -0.02764977  0.32258065
## [2,] -0.007168459  0.1541219  0.13261649 -0.13978495
## [3,]  0.193036354  0.0640041 -0.07117256 -0.02150538
## 
## [[3]]
##             [,1]       [,2]       [,3]        [,4]
## [1,]  0.82437276  0.2759857 -0.2508961  0.07526882
## [2,]  0.27598566  0.5663082  0.3942652 -0.11827957
## [3,] -0.25089606  0.3942652  0.6415771  0.10752688
## [4,]  0.07526882 -0.1182796  0.1075269  0.96774194
## 
## [[4]]
##               [,1]          [,2]          [,3]
## [1,]  1.000000e+00 -2.220446e-16  4.440892e-16
## [2,] -1.110223e-16  1.000000e+00 -1.110223e-16
## [3,] -2.775558e-17  5.551115e-17  1.000000e+00
g(A_4,M_4)
## [[1]]
##      [,1] [,2] [,3]
## [1,]    1    3    7
## 
## [[2]]
##            [,1]
## [1,] 0.01694915
## [2,] 0.05084746
## [3,] 0.11864407
## 
## [[3]]
##      [,1]
## [1,]    1
## 
## [[4]]
##            [,1]       [,2]      [,3]
## [1,] 0.01694915 0.05084746 0.1186441
## [2,] 0.05084746 0.15254237 0.3559322
## [3,] 0.11864407 0.35593220 0.8305085