2016-03-26 44 views
-3

Ich versuche, die Umkehrung einer 3 * 3 Matrix zu finden unter Verwendung von SOLVE in R.Inverse einer Matrix in R

>a=c(1:3) 
>b=c(4:5) 
>c=c(7:9) 

>n=cbind(a,b,c) 

[1,] 1 4 7 
[2,] 2 5 8 
[3,] 3 6 9 

>det(n) 
0 

>solve(n) 
Lapack routine dgesv: system is exactly singular: U[3,3] = 0 

Ich verstehe nicht, die determinent der Matrix Null ist, und auch ist es numerische Matrix. es gibt immer noch einen einzelnen Matrixfehler.

Kann mir jemand dabei helfen?

+2

quadratische Matrix, die nicht invertierbar ist, wird singular oder degeneriert genannt. Eine quadratische Matrix ist nur dann singulär, wenn ihre Determinante 0 ist. (From wiki) – rbm

+4

Ich stimme für das Schließen dieser Frage als off-topic ab, weil es sich bei dieser Frage um Mathematik handelt und nicht um Programmierung. – RHertel

+1

Die Matrix 'n' in der Frage von R-Code definiert ist nicht singular, aber die Matrix, die angezeigt wurde, ist nicht das gleiche wie 'n' und es ist singular. –

Antwort

1

Eine Matrix mit Determinante 0 heißt Singular und ist nicht invertierbar. Dies bedeutet, dass eine oder mehrere Zeilen Ihrer Matrix aus linearen Kombinationen der anderen Zeilen bestehen können. Es gibt keine eindeutige Lösung für irgendein Problem Ax = b, wobei A deine Matrix und b ein Lösungsvektor ist.

+2

zB '2 * n [, 'b'] - n [, 'a'] - n [, 'c']' ' – user20650

+1

Nicht unbedingt nur die Zeilen. Eine Matrix ist auch singulär, wenn mindestens eine der Spalten eine lineare Kombination der anderen Spalten ist. Der beste Weg, um eine einzelne Matrix zu identifizieren, ist, wenn die Determinante Null ist. – RHertel