Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Wie kann man die Wurzel aus einer Matrix ziehen

116 views
Skip to first unread message

Robert Kuhn

unread,
Jul 19, 2002, 7:39:39 AM7/19/02
to
Hallo,

wie kann ich aus einer Matrix die Wurzel ziehen? Ich meine nicht
komponentenweise. Ich habe hier eine Matrix $\mathbf{M}^2$ und hätte
gerne $\mathbf{M}$ Mein erster Ansatz wäre $\sqrt{\mathbf{M}^2}$, bloß
wie ziehe ich die Wurzel aus einer Matrix.

Matlab kann es ja auch:
######################
>> a

a =

4 4
4 5

>> a^0.5

ans =

1.6641 1.1094
1.1094 1.9415

>> ans * ans

ans =

4.0000 4.0000
4.0000 5.0000
#####################

Ich habe schon in den Numerical Recipes geschaut, aber leider auch da
nichts gefunden. Über einen Hinweis wäre ich sehr froh.

Danke und Tschau - Robert.

Thomas Holenstein

unread,
Jul 19, 2002, 7:58:05 AM7/19/02
to
Robert Kuhn <rob...@vermtech.de> writes:

> wie kann ich aus einer Matrix die Wurzel ziehen?

Zuerst machst du eine Eigenwertzerlegung: M = B^{-1}DB mit det(B) = 1.
Dann ziehst du die Wurzel aus den Diagonal-Elementen und kriegst C mit
C*C = D.

Offensichtlich gilt (B^{-1} C B) (B^{-1} C B) = M.

> Ich habe schon in den Numerical Recipes geschaut, aber leider auch da
> nichts gefunden.

Eigenwertzerlegung steht sicherlich in nr.

Hendrik van Hees

unread,
Jul 19, 2002, 8:21:16 AM7/19/02
to
Robert Kuhn wrote:

> Hallo,
>
> wie kann ich aus einer Matrix die Wurzel ziehen? Ich meine nicht
> komponentenweise. Ich habe hier eine Matrix $\mathbf{M}^2$ und hätte
> gerne $\mathbf{M}$ Mein erster Ansatz wäre $\sqrt{\mathbf{M}^2}$, bloß
> wie ziehe ich die Wurzel aus einer Matrix.

Die einfachste Möglichkeit, die mir einfällt, ist es, die Matrix auf
Diagonalgestalt zu bringen. Das ist bei Dir sicher möglich, da die Matrix
symmetrisch ist, d.h. es gibt eine invertierbare Matrix U, so daß

M=U^{-1} diag(la1,la2) U

ist.

Dann ist

N=U^{-1} diag(sqrt(la1),sqrt(la2)) U

eine von mehreren möglichen Matrizen, die

N^2=M erfüllen.

Machen wir's an Deinem Beispiel

M={{4,4},{4,5}}

Du rechnest Eigenwerte la1 und la2 und Eigenvektoren aus. Dann ist U die
Matrix mit den Eigenvektoren als Spalten.

Es ergibt sich mit dem o.g. Verfahren (ich habe Mathematica zuhilfe
genommen):

Out[28]//TextForm=
6 4
-------- --------
Sqrt[13] Sqrt[13]

4 7
-------- --------
Sqrt[13] Sqrt[13]

Numerisch ergibt sich

Out[29]//TextForm=
1.6641 1.1094

1.1094 1.94145

was ja mit Deinem Resultat übereinstimmt (man kann natürlich auch mehr
Stellen angeben).

--
Hendrik van Hees Fakultät für Physik
Phone: +49 521/106-6221 Universität Bielefeld
Fax: +49 521/106-2961 Universitätsstraße
http://theory.gsi.de/~vanhees/ D-33615 Bielefeld

Robert Kuhn

unread,
Jul 19, 2002, 8:25:21 AM7/19/02
to
Hendrik van Hees schrieb:

> Robert Kuhn wrote:
>> wie kann ich aus einer Matrix die Wurzel ziehen? Ich meine nicht
>> komponentenweise. Ich habe hier eine Matrix $\mathbf{M}^2$ und hätte
>> gerne $\mathbf{M}$ Mein erster Ansatz wäre $\sqrt{\mathbf{M}^2}$, bloß
>> wie ziehe ich die Wurzel aus einer Matrix.
>
> Die einfachste Möglichkeit, die mir einfällt,

...werde ich am Wochenende ausprobieren. Vielen Dank für Deine Hilfe,
auch an Thomas.

Tschau - Robert

Hermann Kremer

unread,
Jul 19, 2002, 3:07:31 PM7/19/02
to
Robert Kuhn schrieb in Nachricht <3D37FB21...@vermtech.de>...

>Hallo,
>
>wie kann ich aus einer Matrix die Wurzel ziehen? Ich meine nicht
>komponentenweise. Ich habe hier eine Matrix $\mathbf{M}^2$ und hätte
>gerne $\mathbf{M}$ Mein erster Ansatz wäre $\sqrt{\mathbf{M}^2}$, bloß
>wie ziehe ich die Wurzel aus einer Matrix.

Hier zwei Quellcode-Links:

http://www.netlib.org/tomspdf/298.pdf
Prog. in ALGOL-60 für die Quadratwurzel einer reell-symmetrischen
positiv definiten Matrix.

http://www.netlib.org/toms/598
Prog. in Fortran-77 zur Lösung der Matrizenglg. A*X^2 + B*X + C = 0 mit
A, B, C, X komplexe quadratische Maztrizen.

In der Literatur rangiert das Problem unter dem Stichwort "Matrizenfunktionen"
und wird z.B. in den Büchern
F. R. Gantmacher: Matrizenrechnung / Matrix Theory
und
G. Golub, C. Van Loan: Matrix Computations
behandelt.

Hier ist noch eine Dissertation (U. Manchester, GB):
Hyun-Min Kim: Computing Square Roots of a Matrix (1997)
http://citeseer.nj.nec.com/kim97computing.html
Kann online gelesen (Image) oder als PDF heruntergeladen werden.

Grüße
Hermann
--

0 new messages