Usuário(a):Cesarb89/Testes

Origem: Wikipédia, a enciclopédia livre.



Properties[editar | editar código-fonte]

Reduction to Hermitian case[editar | editar código-fonte]

The computation of the pseudoinverse is reducible to its construction in the Hermitian case. This is possible through the equivalences:

as and are Hermitian.

Products[editar | editar código-fonte]

If , and if

  1. has orthonormal columns (that is, ),   or
  2. has orthonormal rows (that is, ),   or
  3. has all columns linearly independent (full column rank) and has all rows linearly independent (full row rank),   or
  4. (that is, is the conjugate transpose of ),

then

The last property yields the equalities

NB: The equality does not hold in general. See the counterexample:

Projectors[editar | editar código-fonte]

and are orthogonal projection operators, that is, they are Hermitian (, ) and idempotent ( and ). The following hold:

  • and
  • is the orthogonal projector onto the range of (which equals the orthogonal complement of the kernel of ).
  • is the orthogonal projector onto the range of (which equals the orthogonal complement of the kernel of ).
  • is the orthogonal projector onto the kernel of .
  • is the orthogonal projector onto the kernel of .[1]

The last two properties imply the following identities:

Another property is the following: if is Hermitian and idempotent (true if and only if it represents an orthogonal projection), then, for any matrix the following equation holds:[2]

This can be proven by defining matrices , , and checking that is indeed a pseudoinverse for by verifying that the defining properties of the pseudoinverse hold, when is Hermitian and idempotent.

From the last property it follows that, if is Hermitian and idempotent, for any matrix

Finally, if is an orthogonal projection matrix, then its pseudoinverse trivially coincides with the matrix itself, that is, .

Geometric construction[editar | editar código-fonte]

If we view the matrix as a linear map over a field then can be decomposed as follows. We write for the direct sum, for the orthogonal complement, for the kernel of a map, and for the image of a map. Notice that and . The restriction is then an isomorphism. This implies that on is the inverse of this isomorphism, and is zero on

In other words: To find for given in , first project orthogonally onto the range of , finding a point in the range. Then form , that is, find those vectors in that sends to . This will be an affine subspace of parallel to the kernel of . The element of this subspace that has the smallest length (that is, is closest to the origin) is the answer we are looking for. It can be found by taking an arbitrary member of and projecting it orthogonally onto the orthogonal complement of the kernel of .

This description is closely related to the Minimum norm solution to a linear system.

Subspaces[editar | editar código-fonte]

Limit relations[editar | editar código-fonte]

The pseudoinverse are limits:

(see Tikhonov regularization). These limits exist even if or do not exist.[1]:263

Continuity[editar | editar código-fonte]

In contrast to ordinary matrix inversion, the process of taking pseudoinverses is not continuous: if the sequence converges to the matrix (in the maximum norm or Frobenius norm, say), then need not converge to . However, if all the matrices have the same rank, will converge to .[3]

Derivative[editar | editar código-fonte]

The derivative of a real valued pseudoinverse matrix which has constant rank at a point may be calculated in terms of the derivative of the original matrix:[4]


Special cases[editar | editar código-fonte]

Scalars[editar | editar código-fonte]

It is also possible to define a pseudoinverse for scalars and vectors. This amounts to treating these as matrices. The pseudoinverse of a scalar is zero if is zero and the reciprocal of otherwise:

Vectors[editar | editar código-fonte]

The pseudoinverse of the null (all zero) vector is the transposed null vector. The pseudoinverse of a non-null vector is the conjugate transposed vector divided by its squared magnitude:

Linearly independent columns[editar | editar código-fonte]

If the columns of are linearly independent (so that ), then is invertible. In this case, an explicit formula is:[5]

.

It follows that is then a left inverse of :   .

Linearly independent rows[editar | editar código-fonte]

If the rows of are linearly independent (so that ), then is invertible. In this case, an explicit formula is:

.

It follows that is a right inverse of :   .

Orthonormal columns or rows[editar | editar código-fonte]

This is a special case of either full column rank or full row rank (treated above). If has orthonormal columns () or orthonormal rows (), then:

.

Orthogonal projection matrices[editar | editar código-fonte]

If is an orthogonal projection matrix, that is, and , then the pseudoinverse trivially coincides with the matrix itself:

.

Circulant matrices[editar | editar código-fonte]

For a circulant matrix , the singular value decomposition is given by the Fourier transform, that is, the singular values are the Fourier coefficients. Let be the Discrete Fourier Transform (DFT) matrix, then[6]

Construção[editar | editar código-fonte]

Rank decomposition[editar | editar código-fonte]

Let denote the rank of . Then can be (rank) decomposed as where and are of rank . Then .

The QR method[editar | editar código-fonte]

For computing the product or and their inverses explicitly is often a source of numerical rounding errors and computational cost in practice. An alternative approach using the QR decomposition of may be used instead.

Consider the case when is of full column rank, so that . Then the Cholesky decomposition , where is an upper triangular matrix, may be used. Multiplication by the inverse is then done easily by solving a system with multiple right-hand sides,

which may be solved by forward substitution followed by back substitution.

The Cholesky decomposition may be computed without forming explicitly, by alternatively using the QR decomposition of , where has orthonormal columns, , and is upper triangular. Then

,

so is the Cholesky factor of .

The case of full row rank is treated similarly by using the formula and using a similar argument, swapping the roles of and .

Singular value decomposition (SVD)[editar | editar código-fonte]

A computationally simple and accurate way to compute the pseudoinverse is by using the singular value decomposition.[5][1][7] If is the singular value decomposition of , then . For a rectangular diagonal matrix such as , we get the pseudoinverse by taking the reciprocal of each non-zero element on the diagonal, leaving the zeros in place, and then transposing the matrix. In numerical computation, only elements larger than some small tolerance are taken to be nonzero, and the others are replaced by zeros. For example, in the MATLAB, GNU Octave, or NumPy function pinv, the tolerance is taken to be t = ε⋅max(m, n)⋅max(Σ), where ε is the machine epsilon.

The computational cost of this method is dominated by the cost of computing the SVD, which is several times higher than matrix–matrix multiplication, even if a state-of-the art implementation (such as that of LAPACK) is used.

The above procedure shows why taking the pseudoinverse is not a continuous operation: if the original matrix has a singular value 0 (a diagonal entry of the matrix above), then modifying slightly may turn this zero into a tiny positive number, thereby affecting the pseudoinverse dramatically as we now have to take the reciprocal of a tiny number.

Block matrices[editar | editar código-fonte]

Optimized approaches exist for calculating the pseudoinverse of block structured matrices.

The iterative method of Ben-Israel and Cohen[editar | editar código-fonte]

Atualizando a pseudoinversa[editar | editar código-fonte]

Para os casos em que tem posto de linha ou coluna completo e o inverso da matriz de correlação ( para com classificação de linha completa ou para classificação de coluna completa) já é conhecido, o pseudoinverso para matrizes relacionadas a pode ser calculado aplicando a fórmula de Sherman-Morrison-Woodbury para atualizar o inverso da matriz de correlação, o que pode exigir menos trabalho. Em particular, se a matriz relacionada difere da original apenas por uma linha ou coluna alterada, adicionada ou excluída, existem algoritmos incrementais que exploram o relacionamento.[8][9]

Da mesma forma, é possível atualizar o fator Cholesky quando uma linha ou coluna é adicionada, sem criar explicitamente o inverso da matriz de correlação. No entanto, atualizar o pseudoinverso no caso com deficiência de classificação geral é muito mais complicado.[10][11]

Bibliotecas de software[editar | editar código-fonte]

Implementações de alta qualidade de SVD, QR e substituição reversa estão disponíveis em bibliotecas padrão, como LAPACK . Escrever sua própria implementação de SVD é um grande projeto de programação que requer conhecimento numérico significativo. Em circunstâncias especiais, como computação paralela ou computação embarcada, entretanto, implementações alternativas por QR ou mesmo o uso de um inverso explícito podem ser preferíveis, e implementações personalizadas podem ser inevitáveis.

O pacote Python NumPy fornece um cálculo pseudoinverso através de sua matrix. I e linalg.pinv ; seu pinv usa o algoritmo baseado em SVD. SciPy adiciona uma função scipy.linalg.pinv que usa um solucionador de mínimos quadrados.

O pacote MASS para R fornece um cálculo do inverso de Moore-Penrose por meio da função ginv .[12] A função ginv calcula um pseudoinverso usando a decomposição de valor singular fornecida pela função svd no pacote R base. Uma alternativa é empregar a função pinv disponível no pacote pracma.

A linguagem de programação Octave fornece um pseudoinverso por meio da função de pacote padrão pinv e do método pseudo_inverse() .

Em Julia (linguagem de programação), o pacote LinearAlgebra da biblioteca padrão fornece uma implementação do pinv() inverso de Moore-Penrose implementado por meio de decomposição de valor singular.[13]

Aplicações[editar | editar código-fonte]

Mínimos quadrados lineares[editar | editar código-fonte]

O pseudoinverso fornece uma solução de mínimos quadrados para um sistema de equações lineares .[14] Para , dado um sistema de equações lineares

em geral, um vetor que resolve o sistema pode não existir ou, se existir, pode não ser único. O pseudoinverso resolve o problema dos "mínimos quadrados" da seguinte forma:

  • ,, we have where and denotes the Euclidean norm. This weak inequality holds with equality if and only if for any vector ; this provides an infinitude of minimizing solutions unless has full column rank, in which case is a zero matrix.[15] The solution with minimum Euclidean norm is [15]
  • Este resultado é facilmente estendido a sistemas com múltiplos lados direitos, quando a norma euclidiana é substituída pela norma de Frobenius. Seja
  • , we have where and denotes the Frobenius norm.

Obtendo todas as soluções de um sistema linear[editar | editar código-fonte]

Se o sistema linear

tem alguma solução, todas elas são dadas por[16]

para vetor arbitrário . Solução(ões) existem se e somente se .[17] Se esta última for válida, então a solução é única se e somente se tem classificação de coluna completa, nesse caso é uma matriz zero. Se existirem soluções, mas não tem posto de coluna completo, então temos um sistema indeterminado, cuja infinidade de soluções é dada por esta última equação.

Solução de norma mínima para um sistema linear[editar | editar código-fonte]

Para sistemas lineares com soluções não únicas (como sistemas subdeterminados), o pseudoinverso pode ser usado para construir a solução da norma euclidiana mínima entre todas as soluções.

  • Se é satisfatório, o vetor é uma solução e satisfaz para todas as soluções.

Este resultado é facilmente estendido a sistemas com múltiplos lados direitos, quando a norma euclidiana é substituída pela norma de Frobenius. Deixar.

  • Se é satisfatório, a matriz é uma solução e satisfaz para todas as soluções.

Condicionamento[editar | editar código-fonte]

Usando o pseudoinverso e uma norma matricial, pode-se definir um número de condição para qualquer matriz:

Um número de condição grande implica que o problema de encontrar soluções de mínimos quadrados para o sistema de equações lineares correspondente é mal condicionado, no sentido de que pequenos erros nas entradas de pode levar a erros enormes nas entradas da solução.[18]

Generalizações[editar | editar código-fonte]

A fim de resolver problemas de mínimos quadrados mais gerais, pode-se definir inversos de Moore-Penrose para todos os operadores lineares contínuos entre dois espaços de Hilbert e , usando as mesmas quatro condições da nossa definição acima. Acontece que nem todo operador linear contínuo possui um pseudoinverso linear contínuo nesse sentido.[19] Aqueles que o fazem são precisamente aqueles cujo alcance está fechado em .

Existe uma noção de pseudoinverso para matrizes sobre um corpo arbitrário equipado com um automorfismo involutivo arbitrário. Neste cenário mais geral, uma determinada matriz nem sempre possui uma pseudoinversa. A condição necessária e suficiente para que exista um pseudoinverso é que , onde denota o resultado da aplicação da operação de involução à transposta de . Quando existe, é único.[20] Exemplo : Considere o campo dos números complexos equipado com a involução identidade (em oposição à involução considerada em outra parte do artigo); existem matrizes que não possuem pseudoinversas nesse sentido? Considere a matriz . Observe aquilo enquanto . Portanto esta matriz não possui um pseudoinverso neste sentido.

Na álgebra abstrata, um inverso de Moore-Penrose pode ser definido em um semigrupo *-regular . Esta definição abstrata coincide com a da álgebra linear.

Referências

  1. a b c Golub, Gene H.; Charles F. Van Loan (1996). Matrix computations 3rd ed. Baltimore: Johns Hopkins. pp. 257–258. ISBN 978-0-8018-5414-9 
  2. Maciejewski, Anthony A.; Klein, Charles A. (1985). «Obstacle Avoidance for Kinematically Redundant Manipulators in Dynamically Varying Environments». International Journal of Robotics Research. 4 (3): 109–117. doi:10.1177/027836498500400308. hdl:10217/536Acessível livremente 
  3. Rakočević, Vladimir (1997). «On continuity of the Moore–Penrose and Drazin inverses» (PDF). Matematički Vesnik. 49: 163–72 
  4. Golub, G. H.; Pereyra, V. (abril de 1973). «The Differentiation of Pseudo-Inverses and Nonlinear Least Squares Problems Whose Variables Separate». SIAM Journal on Numerical Analysis. 10 (2): 413–32. Bibcode:1973SJNA...10..413G. JSTOR 2156365. doi:10.1137/0710036 
  5. a b Ben-Israel & Greville 2003.
  6. Stallings, W. T.; Boullion, T. L. (1972). «The Pseudoinverse of an r-Circulant Matrix». Proceedings of the American Mathematical Society. 34 (2): 385–88. JSTOR 2038377. doi:10.2307/2038377 
  7. Linear Systems & Pseudo-Inverse
  8. Gramß, Tino (1992). Worterkennung mit einem künstlichen neuronalen Netzwerk (PhD dissertation) 
  9. Emtiyaz, Mohammad (27 de fevereiro de 2008). «Updating Inverse of a Matrix When a Column is Added/Removed» (PDF) 
  10. Meyer, Carl D. Jr. (1973). «Generalized inverses and ranks of block matrices». SIAM J. Appl. Math. 25 (4): 597–602. doi:10.1137/0125057 
  11. Meyer, Carl D. Jr. (1973). «Generalized inversion of modified matrices». SIAM J. Appl. Math. 24 (3): 315–23. doi:10.1137/0124033 
  12. «R: Generalized Inverse of a Matrix» 
  13. «LinearAlgebra.pinv» 
  14. Penrose, Roger (1956). «On best approximate solution of linear matrix equations». Proceedings of the Cambridge Philosophical Society. 52 (1): 17–19. Bibcode:1956PCPS...52...17P. doi:10.1017/S0305004100030929 
  15. a b Planitz, M. (outubro de 1979). «Inconsistent systems of linear equations». Mathematical Gazette. 63 (425): 181–85. JSTOR 3617890. doi:10.2307/3617890 
  16. James, M. (junho de 1978). «The generalised inverse». Mathematical Gazette. 62 (420): 109–14. doi:10.1017/S0025557200086460 
  17. James, M. (junho de 1978). «The generalised inverse». Mathematical Gazette. 62 (420): 109–14. doi:10.1017/S0025557200086460 
  18. Hagen, Roland; Roch, Steffen; Silbermann, Bernd (2001). «Section 2.1.2». C*-algebras and Numerical Analysis. [S.l.]: CRC Press 
  19. Hagen, Roland; Roch, Steffen; Silbermann, Bernd (2001). «Section 2.1.2». C*-algebras and Numerical Analysis. [S.l.]: CRC Press 
  20. Pearl, Martin H. (1 de outubro de 1968). «Generalized inverses of matrices with entries taken from an arbitrary field». Linear Algebra and Its Applications (em inglês). 1 (4): 571–587. ISSN 0024-3795. doi:10.1016/0024-3795(68)90028-1Acessível livremente 

Bibliografia[editar | editar código-fonte]

External links[editar | editar código-fonte]