paarweise gleiche Winkel zwischen Vektoren

30 views
Skip to first unread message

Ralf Goertz

unread,
Oct 23, 2021, 4:26:35 AMOct 23
to
Hi,

meine Intuition sagt mir, dass ich in einem n-dimensionalen Vektorraum
n+1 (verschiedene) normierte Vektoren haben kann, die paarweise den
gleichen Winkel zwischen einander haben. Im 0-dimensionalen Raum habe
ich den Nullvektor (okay, der ist nicht normiert), im eindimensionalen
Raum den normierten Vektor v sowie den davon verschiedenen Vektor -v
(von pathologischen Fällen wie dem endlichen Körper mit Charakteristik 2
abgesehen), den zweidimensionalen Kreis kann ich dreiteilen, etc. Ich
habe mich dann gefragt, wie groß der Winkel (und ab hier rede ich jetzt
von einem ℝ-Vektorraum) in Abhängigkeit von der Dimension ist. Da
meine räumliche Vorstellung sehr begrenzt ist und ich schon keine Idee
für ℝ³ hatte (und keine Lust, den Winkel zwischen zwei
Verbindungsstrecken zwischen Tetraeder-Mittelpunkt und zwei Ecken
auszurechenen), wollte ich linear-algebraisch da ran gehen.

Die Idee war, dass ich jeweils n+1 Vektoren vᵢ hernehme und fordere,
dass das Skalarprodukt <vᵢ,vⱼ> gleich 1 für i=j und m (mit |m|<1) für
i≠j sei. Wenn ich also diese (Spalten-) Vektoren zu einer Matrix M
zusammenfasse, muss gelten

[1 m m … m]
X=Mᵗ⋅M=[m 1 m … m]
[⋮ ⋱ ⋮]
[m m m … 1]

Nun muss X singulär sein, weil n+1 Vektoren in n Dimensionen nicht
linear unabhängig sein können. Wenn ich die Zeilen von X addiere,
erhalte ich (n⋅m+1,n⋅m+1,…,n⋅m+1). Für m=-1/n wäre das der Nullvektor.
Damit bin ich dann eigentlich schon fertig. Der Kosinus des Winkels φ
zwischen den Vektoren entspricht (da die Vektoren normiert sind) ihrem
Skalarprodukt, folglich ist φ=acos(m)=acos(-1/n). Für n=2 ist das
tatsächlich der erwartete Wert von 120° (für n=1 kommt ebenfalls
erwartet 180° raus). Der erwähnte Tetraeder-Winkel ist also etwa 109,5°
groß.

Was mich jetzt noch interessiert: Wie finde ich die Matrix M? Mir ist
keine Zerlegung von X bekannt, die es mir erlaubte, M zu finden, gibt's
so eine? X ist symmetrisch, also kann ich sie zumindest spektral
zerlegen: X=Aᵗ⋅D⋅A mit einer Diagonalmatrix D, die die Eigenwerte
enthält. Die ist eben nicht die Einheitsmatrix, weil wegen der
Singularität ein Eigenwert 0 sein muss. A ist die Matrix der
Eigenvektoren. Aber erstens haben die eine Dimension zu viel und
zweitens sind die anderen Eigenwerte alle (n+1)/n. Beispiel Tetraeder:

[ 1 -1/3 -1/3 -1/3]
M=[-1/3 1 -1/3 -1/3]
[-1/3 -1/3 1 -1/3]
[-1/3 -1/3 -1/3 1]

Eigenwerte: [0, 4/3, 4/3, 4/3] und Eigenvektoren:

[1 -1 -1 -1]
A=[1 1 0 0]
[1 0 1 0]
[1 0 0 1]

Wie muss ich das interpretieren? Kann ich aus A irgendwie die vier
(dreidimensionalen) Vektoren ablesen, die paarweise besagten
109,5°-Winkel bilden?

Ralf Goertz

unread,
Oct 23, 2021, 4:59:14 AMOct 23
to
Am Sat, 23 Oct 2021 10:26:33 +0200
schrieb Ralf Goertz <m...@myprovider.invalid>:
Mir fällt gerade die Singular Value Decomposition ein. Wäre das ein Weg?

Stephan Gerlach

unread,
Oct 25, 2021, 7:19:19 PMOct 25
to
Ralf Goertz schrieb:
> Hi,
>
> meine Intuition sagt mir, dass ich in einem n-dimensionalen Vektorraum
> n+1 (verschiedene) normierte Vektoren haben kann, die paarweise den
> gleichen Winkel zwischen einander haben. Im 0-dimensionalen Raum habe
> ich den Nullvektor (okay, der ist nicht normiert), im eindimensionalen
> Raum den normierten Vektor v sowie den davon verschiedenen Vektor -v
> (von pathologischen Fällen wie dem endlichen Körper mit Charakteristik 2
> abgesehen), den zweidimensionalen Kreis kann ich dreiteilen, etc. Ich
> habe mich dann gefragt, wie groß der Winkel (und ab hier rede ich jetzt
> von einem ℝ-Vektorraum) in Abhängigkeit von der Dimension ist. Da
> meine räumliche Vorstellung sehr begrenzt ist und ich schon keine Idee
> für ℝ³ hatte (und keine Lust, den Winkel zwischen zwei
> Verbindungsstrecken zwischen Tetraeder-Mittelpunkt und zwei Ecken
> auszurechenen),...

Allgemein könnte es sein, daß das irgendwas mit Kegeln zu tun hat.

Seien x_1, x_2, ..., x_{n+1} die n+1 Vektoren.

Den ersten Vektor x_1 kann man noch völlig frei wählen. Für x_2 sind die
Möglichkeiten schon "begrenzt"; ich vermute, daß der auf einer von x_1
abhängigen (n-1)-dimensionalen "Kegel-Mantelfläche" im ℝ^n liegt. x_3
liegt dann dann auf einer von den beiden ersten Vektoren abhängigen
(n-2)-dimensionalen "Kegel-Mantelfläche" (mit Spitze im
Koordinatenursprung) ebenfalls im ℝ^n, usw.
Der "letzte" Vektor x_{n+1} liegt dann (vermutlich) auf einer
0-dimensionalen "Kegel-Mantelfläche" (wobei dieser Begriff spätestens
hier unpassend ist, allein aufgrund der Normierung) im ℝ^n, d.h. x_{n+1}
ist durch x_1, x_2, ..., x_n bereits eindeutig bestimmt.

Eine geometrische Überlegung zeigt, daß das zumindest für den ℝ² und ℝ³
einigermaßen Sinn ergibt.
(Man muß sich nur klarmachen, was z.B. eine 1-dimensionale
Kegel-"Mantelfläche" im ℝ² bzw. ℝ³ sein soll.)

> ... wollte ich linear-algebraisch da ran gehen.

Klingt vernünftig, da die (insbesondere konstruktive) Herangehensweise
mit den Kegeln auch alles andere als klar ist.

> Die Idee war, dass ich jeweils n+1 Vektoren vᵢ hernehme und fordere,
> dass das Skalarprodukt <vᵢ,vⱼ> gleich 1 für i=j und m (mit |m|<1) für
> i≠j sei.

Ich vermute eine Redundanz in dem Sinne, daß man eine Gleichung mit
v(n+1) von vornherein weglassen kann, da dieser Vektor aus den anderen n
Vektoren (vermutlich) bereits eindeutig bestimmt ist.

Tut aber vermutlich für die eigentliche Aufgabenstellung nichts zur Sache.

> Wenn ich also diese (Spalten-) Vektoren zu einer Matrix M
> zusammenfasse, muss gelten
>
> [1 m m … m]
> X=Mᵗ⋅M=[m 1 m … m]
> [⋮ ⋱ ⋮]
> [m m m … 1]
>
> Nun muss X singulär sein, weil n+1 Vektoren in n Dimensionen nicht
> linear unabhängig sein können.

Das ist klar.

> Wenn ich die Zeilen von X addiere,
> erhalte ich (n⋅m+1,n⋅m+1,…,n⋅m+1). Für m=-1/n wäre das der Nullvektor.

Du meinst hier offenbar: *Wenn* m=-1/n ist, *dann* sind die Zeilen von X
linear abhängig, da ihre Summe dann der (Zeilen-)Nullvektor ist.

Die Frage wäre allerdings noch, ob das die einzige Möglichkeit für m
ist, damit X singulär ist.

Eine Berechnung der Determinante von X (nur "quick&dirty" für den Fall
n=3, also einer 4×4-Matrix X) zeigt, daß offenbar
det(X) = (1-m)^3 * (3⋅m+1)
gilt (wenn ich mich nicht grob verrechnet habe).
Es gilt det(X) = 0 tatsächlich genau dann, wenn
m=-1/3 oder aber m=1 gilt.

Der Fall m=1 erscheint mir nicht zielführend zu sein, also ist
tatsächlich m=-1/3 die einzige "sinnvolle" Lösung.

Allgemein sollte
det(X) = (1-m)^n * (n⋅m+1)
rauskommen.

> Damit bin ich dann eigentlich schon fertig. Der Kosinus des Winkels φ
> zwischen den Vektoren entspricht (da die Vektoren normiert sind) ihrem
> Skalarprodukt, folglich ist φ=acos(m)=acos(-1/n). Für n=2 ist das
> tatsächlich der erwartete Wert von 120° (für n=1 kommt ebenfalls
> erwartet 180° raus). Der erwähnte Tetraeder-Winkel ist also etwa 109,5°
> groß.

Den hatte ich AFAIR irgendwann mal im Rahmen irgendeiner
Geometrie-Aufgabe (evtl. für Schüler und/oder Studenten) "ehrlich"
geometrisch berechnet.
Interessant, daß das nun auch (in "größerem" Kontext) so nebenbei rauskommt.

> Was mich jetzt noch interessiert: Wie finde ich die Matrix M?

M ist nicht eindeutig bestimmt, da die Vektoren (obwohl sie normiert
sind) nicht eindeutig sind, und M aber gerade aus diesen
(Spalten-)Vektoren "zusammengesetzt" ist.
Somit dürfte das ohne Zusatz-Forderungen an v(1), ..., v(n+1) schwierig
werden.

Ich würde versuchen, das Problem erstmal im ℝ² bzw. ℝ³ zu klären und
dann versuchen, auf den ℝ^n zu verallgemeinern.

Was man immer machen kann, erstmal
v(1) = (0, ..., 0, 1)^T
zu wählen (siehe vor allem hier den Fall ℝ³), aber bereits bei v(2) ist
das nicht mehr so klar.

> Mir ist
> keine Zerlegung von X bekannt, die es mir erlaubte, M zu finden, gibt's
> so eine? X ist symmetrisch, also kann ich sie zumindest spektral
> zerlegen: X=Aᵗ⋅D⋅A mit einer Diagonalmatrix D, die die Eigenwerte
> enthält.

Ja, müßte gehen.

> Die ist eben nicht die Einheitsmatrix, weil wegen der
> Singularität ein Eigenwert 0 sein muss. A ist die Matrix der
> Eigenvektoren. Aber erstens haben die eine Dimension zu viel und
> zweitens sind die anderen Eigenwerte alle (n+1)/n. Beispiel Tetraeder:
>
> [ 1 -1/3 -1/3 -1/3]
> M=[-1/3 1 -1/3 -1/3]
> [-1/3 -1/3 1 -1/3]
> [-1/3 -1/3 -1/3 1]

Das ist die Matrix X, nicht M?!

> Eigenwerte: [0, 4/3, 4/3, 4/3] und Eigenvektoren:
>
> [1 -1 -1 -1]
> A=[1 1 0 0]
> [1 0 1 0]
> [1 0 0 1]
>
> Wie muss ich das interpretieren? Kann ich aus A irgendwie die vier
> (dreidimensionalen) Vektoren ablesen, die paarweise besagten
> 109,5°-Winkel bilden?

Direkt ablesen (oder direkt daraus herleiten) dürfte wie gesagt
prinzipiell nicht gehen, da die vier Vektoren nicht eindeutig bestimmt sind.

Vielleicht kann man aber irgendwie (mindestens) eine spezielle Lösung
daraus konstruieren.

Man hat ja jetzt

X = Aᵗ⋅D⋅A

bzw.

Mᵗ⋅M = Aᵗ⋅D⋅A.

Die linke Seite "erinnert" an die nichtnegativ hermitesche Quadratwurzel.
Genauer: Wenn M quadratisch und nichtnegativ hermitesch wäre, dann
könnte man "einfach" die Quadratwurzel aus beiden Seiten ziehen und wäre
fertig. Allerdings ist M nicht quadratisch und damit "erst recht" nicht
nichtnegativ hermitesch.


--
> Eigentlich sollte Brain 1.0 laufen.
gut, dann werde ich mir das morgen mal besorgen...
(...Dialog aus m.p.d.g.w.a.)

Stephan Gerlach

unread,
Oct 25, 2021, 7:22:04 PMOct 25
to
Ralf Goertz schrieb:
Ich kenne vor allem den deutschsprachigen Begriff
"Singuläre-Werte-Zerlegung einer Matrix".
Aber ja, da die nichtnegativ hermitesche Quadratwurzel nicht
funktioniert, wäre das stattdessen ein möglicher Weg (abgesehen davon,
daß ich prinzipiell keine Eindeutigkeit für M erwarten würde).

Ralf Goertz

unread,
Oct 26, 2021, 5:57:43 AMOct 26
to
Am Tue, 26 Oct 2021 02:33:54 +0200
schrieb Stephan Gerlach <mam9...@t-online.de>:
Das ist richtig und kann auch helfen, muss aber nicht. Details weiter
unten.

> Tut aber vermutlich für die eigentliche Aufgabenstellung nichts zur
> Sache.
>
> > Wenn ich also diese (Spalten-) Vektoren zu einer Matrix M
> > zusammenfasse, muss gelten
> >
> > [1 m m … m]
> > X=Mᵗ⋅M=[m 1 m … m]
> > [⋮ ⋱ ⋮]
> > [m m m … 1]
> >
> > Nun muss X singulär sein, weil n+1 Vektoren in n Dimensionen nicht
> > linear unabhängig sein können.
>
> Das ist klar.
>
> > Wenn ich die Zeilen von X addiere,
> > erhalte ich (n⋅m+1,n⋅m+1,…,n⋅m+1). Für m=-1/n wäre das der
> > Nullvektor.
>
> Du meinst hier offenbar: *Wenn* m=-1/n ist, *dann* sind die Zeilen
> von X linear abhängig, da ihre Summe dann der (Zeilen-)Nullvektor ist.

Ja.

> Die Frage wäre allerdings noch, ob das die einzige Möglichkeit für m
> ist, damit X singulär ist.

Nein, denn für m=1 ist sie auch singulär, aber das hatte ich ja oben
ausgeschlossen, weil das der triviale Fall wäre, dass ich n+1 Kopien
eines Vektors habe

> Eine Berechnung der Determinante von X (nur "quick&dirty" für den
> Fall n=3, also einer 4×4-Matrix X) zeigt, daß offenbar
> det(X) = (1-m)^3 * (3⋅m+1)
> gilt (wenn ich mich nicht grob verrechnet habe).
> Es gilt det(X) = 0 tatsächlich genau dann, wenn
> m=-1/3 oder aber m=1 gilt.
>
> Der Fall m=1 erscheint mir nicht zielführend zu sein, also ist
> tatsächlich m=-1/3 die einzige "sinnvolle" Lösung.

Eben :-)

> Allgemein sollte
> det(X) = (1-m)^n * (n⋅m+1)
> rauskommen.
>
> > Damit bin ich dann eigentlich schon fertig. Der Kosinus des Winkels
> > φ zwischen den Vektoren entspricht (da die Vektoren normiert sind)
> > ihrem Skalarprodukt, folglich ist φ=acos(m)=acos(-1/n). Für n=2 ist
> > das tatsächlich der erwartete Wert von 120° (für n=1 kommt ebenfalls
> > erwartet 180° raus). Der erwähnte Tetraeder-Winkel ist also etwa
> > 109,5° groß.
>
> Den hatte ich AFAIR irgendwann mal im Rahmen irgendeiner
> Geometrie-Aufgabe (evtl. für Schüler und/oder Studenten) "ehrlich"
> geometrisch berechnet.
> Interessant, daß das nun auch (in "größerem" Kontext) so nebenbei
> rauskommt.

Ja, das fand ich auch schön.

> > Was mich jetzt noch interessiert: Wie finde ich die Matrix M?
>
> M ist nicht eindeutig bestimmt, da die Vektoren (obwohl sie normiert
> sind) nicht eindeutig sind, und M aber gerade aus diesen
> (Spalten-)Vektoren "zusammengesetzt" ist.
> Somit dürfte das ohne Zusatz-Forderungen an v(1), ..., v(n+1)
> schwierig werden.

Ja, das ist klar, jede orthogonale Transformation lässt ja das
Skalarprodukt unverändert, deshalb kann ich alle Spaltenvektoren um fest
gewählte Achsen und Winkel drehen.

> Ich würde versuchen, das Problem erstmal im ℝ² bzw. ℝ³ zu klären und
> dann versuchen, auf den ℝ^n zu verallgemeinern.
>
> Was man immer machen kann, erstmal
> v(1) = (0, ..., 0, 1)^T
> zu wählen (siehe vor allem hier den Fall ℝ³), aber bereits bei v(2)
> ist das nicht mehr so klar.

Doch, du kannst den zweiten Vektor in die Ebene (0,0,…,a,b) legen. Mit
jedem neuen Vektor brauchst du eine Dimension mehr außer für den
letzten. Und der hat mir das Genick gebrochen (siehe unten).

> > Mir ist
> > keine Zerlegung von X bekannt, die es mir erlaubte, M zu finden,
> > gibt's so eine? X ist symmetrisch, also kann ich sie zumindest
> > spektral zerlegen: X=Aᵗ⋅D⋅A mit einer Diagonalmatrix D, die die
> > Eigenwerte enthält.
>
> Ja, müßte gehen.
>
> > Die ist eben nicht die Einheitsmatrix, weil wegen der
> > Singularität ein Eigenwert 0 sein muss. A ist die Matrix der
> > Eigenvektoren. Aber erstens haben die eine Dimension zu viel und
> > zweitens sind die anderen Eigenwerte alle (n+1)/n. Beispiel
> > Tetraeder:
> >
> > [ 1 -1/3 -1/3 -1/3]
> > M=[-1/3 1 -1/3 -1/3]
> > [-1/3 -1/3 1 -1/3]
> > [-1/3 -1/3 -1/3 1]
>
> Das ist die Matrix X, nicht M?!

Ja, sorry.

> > Eigenwerte: [0, 4/3, 4/3, 4/3] und Eigenvektoren:
> >
> > [1 -1 -1 -1]
> > A=[1 1 0 0]
> > [1 0 1 0]
> > [1 0 0 1]
> >
> > Wie muss ich das interpretieren? Kann ich aus A irgendwie die vier
> > (dreidimensionalen) Vektoren ablesen, die paarweise besagten
> > 109,5°-Winkel bilden?
>
> Direkt ablesen (oder direkt daraus herleiten) dürfte wie gesagt
> prinzipiell nicht gehen, da die vier Vektoren nicht eindeutig
> bestimmt sind.

Dennoch gibt es eine verblüffend einfache Lösung. Nämlich X Cholesky
zerlegen. (Dann ist M sogar eindeutig bestimmt.) Das ist möglich, weil X
symmetrisch und positiv semidefinit ist. Man erhält eine (n+1)*(n+1)
Dreiecksmatrix, deren letzte Zeile 0 ist.

Für den Fall n=3 ist das Ergebnis:

[1 -1/3 -1/3 -1/3]
M'=[0 2√2/3 -√2/3 -√2/3]
[0 0 √6/3 -√6/3]
[0 0 0 0 ]

Wenn man die letzte Zeile weglässt und das Ergebnis M nennt, hat man in
den Spalten vier dreidimnsionale Vektoren mit der gewünschten
Eigenschaft. Dass ich nicht auf die Idee mit Cholesky gekommen bin,
liegt einfach daran, dass ich bei Dreiecksmatrix gleich aufgehört habe
zu lesen, weil M selbst ja keine Dreiecksmatrix sein kann (der
Genickbruch).

Da, wie du ja schon schriebst, der letzte Vektor aus den vorhergehenden
bestimmt ist, kann man anstelle der vollen (n+1)x(n+1) Matrix auch nur
die nxn Matrix betrachten, die bei Benutzung von nur n Vektoren
entsteht. Dann bekommt man mit Cholesky eine „richtige“ nxn
Dreiecksmatrix (ohne sich das Genick zu brechen), muss dann aber die
letzte Spalte noch selber dazubasteln, was äquivalent sein dürfte zur
Zerlegung der größeren Matrix.

Es geht übrigens auch über Spektralzerlegung, aber das ist
komplizierter zu verstehen, finde ich.

Stephan Gerlach

unread,
Nov 3, 2021, 5:57:52 PMNov 3
to
Ralf Goertz schrieb:
Ja. Theoretisch wäre noch denkbar gewesen, daß es "noch mehr"
Möglichkeiten für die Singularität von A gibt außer m=-1/n oder m=1.

Wenn ich mir die Matrix X anschaue, meine ich mich dunkel zu erinnern,
daß das mal irgendeine Übungsaufgabe(?) aus dem Studium war, die
Determinante der Matrix A

[a b b … b]
A=[b a b … b]
[⋮ ⋱ ⋮]
[b b b … a]

zu berechnen. Das ist nur unwesentlich schwieriger als die Matrix X
oben, bzw. unten:

>> Eine Berechnung der Determinante von X (nur "quick&dirty" für den
>> Fall n=3, also einer 4×4-Matrix X) zeigt, daß offenbar
>> det(X) = (1-m)^3 * (3⋅m+1)

[...]

>>> Was mich jetzt noch interessiert: Wie finde ich die Matrix M?
>> M ist nicht eindeutig bestimmt, da die Vektoren (obwohl sie normiert
>> sind) nicht eindeutig sind, und M aber gerade aus diesen
>> (Spalten-)Vektoren "zusammengesetzt" ist.
>> Somit dürfte das ohne Zusatz-Forderungen an v(1), ..., v(n+1)
>> schwierig werden.
>
> Ja, das ist klar, jede orthogonale Transformation lässt ja das
> Skalarprodukt unverändert, deshalb kann ich alle Spaltenvektoren um fest
> gewählte Achsen und Winkel drehen.
>
>> Ich würde versuchen, das Problem erstmal im ℝ² bzw. ℝ³ zu klären und
>> dann versuchen, auf den ℝ^n zu verallgemeinern.
>>
>> Was man immer machen kann, erstmal
>> v(1) = (0, ..., 0, 1)^T
>> zu wählen (siehe vor allem hier den Fall ℝ³), aber bereits bei v(2)
>> ist das nicht mehr so klar.
>
> Doch, du kannst den zweiten Vektor in die Ebene (0,0,…,a,b) legen.

Mit "nicht mehr so klar" meinte ich vermutlich (genauer) "nicht mehr so
klar, wie man v(2) besonders einfach bzw. so einfach wie möglich
festlegen kann".
Aber du hast Recht, die Variante mit der Vorgabe der ersten n-2
Koordinaten als 0, so daß die letzten beiden daraus, aus der
Normierungsbedingung und aus der Vorgabe der (zunächst unbekannten)
Konstante m (prinzipiell) berechnet werden können, ist vermutlich die
einfachste Variante.

> Mit
> jedem neuen Vektor brauchst du eine Dimension mehr außer für den
> letzten. Und der hat mir das Genick gebrochen (siehe unten).

Wenn man das (iterativ) so fortsetzen würde, dann würde man den k-ten
Vektor v(k) als
v(k) = (0, 0, ..., x_{n-k+1}, ..., x_n)
ansetzen.

Im Übrigen ist v(k) so nicht ganz eindeutig festgelegt (sondern nur
"fast eindeutig"); durch das Quadrat ()² in der Normierungsbedingung
gibt es jeweils 2 Möglichkeiten für die Koordinaten von v(k), die sich
aber nur durch unterschiedliches Vorzeichen +/- unterscheiden.

Für v(n) ergäbe das
v(n) = (x_1, ..., x_n),
d.h. n zu berechnende Koordinaten, und zwar aus den n-1 schon
"bestehenden" Vektoren und der Normierungsbedingung.
Hmm, Cholesky-Zerlegung sollte ungefähr so aussehen:
X = L⋅Lᵗ
mit unterer Dreiecksmatrix L.

D.h. man nimmt als M einfach Lᵗ "abzüglich" der letzten Zeile (wie du
unten schriebst), was offenbar tatsächlich eine(!) Lösung für M ergibt.

Mich hatte bei deiner Antwort zunächst verwirrt, daß M (wie schon
geschrieben geometrisch ersichtlich) *nicht* eindeutig sein sollte;
allerdings ist die Cholesky-Zerlegung (wie im Übrigen weitgehend auch
die Spektralzerlegung) eindeutig.

Im Prinzip "fordert" man damit (als Zusatzbedingung an M) daß M eine
obere Dreiecksmatrix sein soll, bzw. (äquvialent) daß gewisse
Koordinaten der Vektoren v(1), v(2), ... v(n) als 0 angenommen werden.

*Alle* (oder zumindest weitere) Lösungen für M sollte man vermutlich
durch Rechts- bzw. Links-Multiplikation mit einer beliebigen
orthogonalen Matrix B bekommen, was dann die oben angesprochene
Verwirrung beseitigen könnte.
Also wenn ich die über Cholesky-Zerlegung gefundene Lösung M_0 nenne und
die allgemeine Lösung M, dann hätte man gern sowas wie

M = Bᵗ⋅M_0⋅B.

Problem dabei ist, daß weder M noch M_0 quadratisch sind, so daß das
Matrixprodukt gar nicht definiert ist. Vermutlich muß man M mit einer
zusätzlichen Nullzeile (s.u.) zu M' "vergrößern", um dieses Prinzip mit
B irgendwie zu retten. Damit ist M' zwar dann singulär, aber immerhin
schonmal quadratisch.

> Das ist möglich, weil X
> symmetrisch und positiv semidefinit ist. Man erhält eine (n+1)*(n+1)
> Dreiecksmatrix, deren letzte Zeile 0 ist.
>
> Für den Fall n=3 ist das Ergebnis:
>
> [1 -1/3 -1/3 -1/3]
> M'=[0 2√2/3 -√2/3 -√2/3]
> [0 0 √6/3 -√6/3]
> [0 0 0 0 ]
>
> Wenn man die letzte Zeile weglässt und das Ergebnis M nennt, hat man in
> den Spalten vier dreidimnsionale Vektoren mit der gewünschten
> Eigenschaft. Dass ich nicht auf die Idee mit Cholesky gekommen bin,
> liegt einfach daran, dass ich bei Dreiecksmatrix gleich aufgehört habe
> zu lesen, weil M selbst ja keine Dreiecksmatrix sein kann (der
> Genickbruch).

Wenn man als M die (ursprüngliche gefragte) n*(n+1)-Matrix annimmt, dann ja.

> Da, wie du ja schon schriebst, der letzte Vektor aus den vorhergehenden
> bestimmt ist, kann man anstelle der vollen (n+1)x(n+1) Matrix auch nur
> die nxn Matrix betrachten, die bei Benutzung von nur n Vektoren
> entsteht. Dann bekommt man mit Cholesky eine „richtige“ nxn
> Dreiecksmatrix (ohne sich das Genick zu brechen), muss dann aber die
> letzte Spalte noch selber dazubasteln, was äquivalent sein dürfte zur
> Zerlegung der größeren Matrix.

Sieht als Ergebnis tatsächlich ziemlich elegant aus.

> Es geht übrigens auch über Spektralzerlegung, aber das ist
> komplizierter zu verstehen, finde ich.

Cholesky-Zerlegung erscheint hier tatsächlich einfacher/natürlicher, da
diese ja "fast" schon wie die gesuchte Zerlegung X=Mᵗ⋅M "aussieht".

Ralf Goertz

unread,
Nov 4, 2021, 5:49:42 AMNov 4
to
Am Wed, 03 Nov 2021 22:12:29 +0100
schrieb Stephan Gerlach <mam9...@t-online.de>:

> Ralf Goertz schrieb:
> > Am Tue, 26 Oct 2021 02:33:54 +0200
> > schrieb Stephan Gerlach <mam9...@t-online.de>:
> >
> >> Ralf Goertz schrieb:
> >>>
> >>> Wenn ich die Zeilen von X addiere, erhalte ich
> >>> (n⋅m+1,n⋅m+1,…,n⋅m+1). Für m=-1/n wäre das der Nullvektor.
> >> Du meinst hier offenbar: *Wenn* m=-1/n ist, *dann* sind die Zeilen
> >> von X linear abhängig, da ihre Summe dann der (Zeilen-)Nullvektor
> >> ist.
> >
> > Ja.
> >
> >> Die Frage wäre allerdings noch, ob das die einzige Möglichkeit für
> >> m ist, damit X singulär ist.
> >
> > Nein, denn für m=1 ist sie auch singulär, aber das hatte ich ja oben
> > ausgeschlossen, weil das der triviale Fall wäre, dass ich n+1 Kopien
> > eines Vektors habe
>
> Ja. Theoretisch wäre noch denkbar gewesen, daß es "noch mehr"
> Möglichkeiten für die Singularität von A gibt außer m=-1/n oder m=1.

Ich glaube nicht, denn X ist das Produkt zweier Matrizen (in gewissem
Sinne das Quadrat einer Matrix) vom (vollem) Rang n. Natürlich könnte X
nilpotent sein (so wie alle strikten oberen Dreiecksmatrizen), aber ich
glaube (habe es nicht zu Ende gedacht und kann mich auch nicht an einen
entsprechenden Satz erinnern), dass ich Rang(X)=n bekommen würde, wenn
X=Mᵗ*M (mit M eine n x (n+1) Matrix mit vollem Rang n) ist.
Allerhöchstens würde ich 2 als Dimension des Nullspace von X erwarten.
Wenn das stimmt, könnte es also höchstens noch eine weitere Lösung
existieren (denn m=1 zählt nicht, weil M damit Rang 1 hätte).

> Wenn ich mir die Matrix X anschaue, meine ich mich dunkel zu erinnern,
> daß das mal irgendeine Übungsaufgabe(?) aus dem Studium war, die
> Determinante der Matrix A
>
> [a b b … b]
> A=[b a b … b]
> [⋮ ⋱ ⋮]
> [b b b … a]
>
> zu berechnen. Das ist nur unwesentlich schwieriger als die Matrix X
> oben, bzw. unten:

Das geht sicher und würde die Frage des Ranges von X (bzw. A) klären.
Ich würde es vermutlich induktiv versuchen. Aber nicht jetzt…

> >> Ich würde versuchen, das Problem erstmal im ℝ² bzw. ℝ³ zu klären
> >> und dann versuchen, auf den ℝ^n zu verallgemeinern.
> >>
> >> Was man immer machen kann, erstmal
> >> v(1) = (0, ..., 0, 1)^T
> >> zu wählen (siehe vor allem hier den Fall ℝ³), aber bereits bei v(2)
> >> ist das nicht mehr so klar.
> >
> > Doch, du kannst den zweiten Vektor in die Ebene (0,0,…,a,b) legen.
>
> Mit "nicht mehr so klar" meinte ich vermutlich (genauer) "nicht mehr
> so klar, wie man v(2) besonders einfach bzw. so einfach wie möglich
> festlegen kann".
> Aber du hast Recht, die Variante mit der Vorgabe der ersten n-2
> Koordinaten als 0, so daß die letzten beiden daraus, aus der
> Normierungsbedingung und aus der Vorgabe der (zunächst unbekannten)
> Konstante m (prinzipiell) berechnet werden können, ist vermutlich die
> einfachste Variante.

Ja, aber m ist an dieser Stelle nicht mehr unbekannt.

> Wenn man das (iterativ) so fortsetzen würde, dann würde man den k-ten
> Vektor v(k) als v(k) = (0, 0, ..., x_{n-k+1}, ..., x_n) ansetzen.
>
> Im Übrigen ist v(k) so nicht ganz eindeutig festgelegt (sondern nur
> "fast eindeutig"); durch das Quadrat ()² in der Normierungsbedingung
> gibt es jeweils 2 Möglichkeiten für die Koordinaten von v(k), die
> sich aber nur durch unterschiedliches Vorzeichen +/- unterscheiden.

Klar, das würde einer Spiegelung entsprechen.

> > Dennoch gibt es eine verblüffend einfache Lösung. Nämlich X Cholesky
> > zerlegen. (Dann ist M sogar eindeutig bestimmt.)
>
> Hmm, Cholesky-Zerlegung sollte ungefähr so aussehen:
> X = L⋅Lᵗ
> mit unterer Dreiecksmatrix L.
>
> D.h. man nimmt als M einfach Lᵗ "abzüglich" der letzten Zeile (wie du
> unten schriebst), was offenbar tatsächlich eine(!) Lösung für M
> ergibt.
>
> Mich hatte bei deiner Antwort zunächst verwirrt, daß M (wie schon
> geschrieben geometrisch ersichtlich) *nicht* eindeutig sein sollte;
> allerdings ist die Cholesky-Zerlegung (wie im Übrigen weitgehend auch
> die Spektralzerlegung) eindeutig.

Die Eindeutigkeit bei Cholesky kommt wohl aus der Forderung, dass die
Diagonalelemente nichtnegativ sein müssen. Jede „neu hinzukommende
Dimension“ von M muss also erst einmal einen positiven Koeffizienten
haben. Das würde die mögliche Spiegelung oben ausschließen.

> Sieht als Ergebnis tatsächlich ziemlich elegant aus.

Ja, mich begeistert das auch!

>
> > Es geht übrigens auch über Spektralzerlegung, aber das ist
> > komplizierter zu verstehen, finde ich.
>
> Cholesky-Zerlegung erscheint hier tatsächlich einfacher/natürlicher,
> da diese ja "fast" schon wie die gesuchte Zerlegung X=Mᵗ⋅M "aussieht".

Eben…

Stephan Gerlach

unread,
Nov 4, 2021, 8:56:45 PMNov 4
to
Ralf Goertz schrieb:
Ich habe nun zufällig die Lösung der Übungsaufgabe wiedergefunden (was
mir die nochmalige Berechnung ersparte); die Determinante ist für eine
(n+1)x(n+1)-Matrix A

det(A) = (a+n*b)*(a-b)^n.

Im vorliegenden Spezialfall ist A=X, a=1 und b=m, also

det(X) = (1+n*m)*(1-m)^n.

Hieran sieht man nochmals, daß X ist tatsächlich genau dann singulär
ist, wenn m=-1/n oder m=1 ist.

Was den Rang Rg(X) betrifft:
Im Fall m=-1/n ist der Rang der (n+1)x(n+1)-Matrix X um genau 1
"reduziert", also Rg(X)=n, weil:

Die Hauptuntermatrix X´, welche durch Streichung der letzten Zeile und
letzten Spalte von X entsteht, ist eine nxn-Matrix

[1 m m … m]
X´ = [m 1 m … m]
[⋮ ⋱ ⋮]
[m m m … 1]

also fast genauso wie X, nur eben mit einer Zeile und Spalte weniger.
X ist singulär für genau m=-1/(n-1) oder m=1, aber für den vorliegenden
Fall m=-1/n ist X folglich *regulär*, d.h. Rg(X´)=n, wenn m=-1/n.

Damit ist auch der Rang der "größeren" Matrix X, die ja X´ als
Untermatrix enthält, Rg(X)=n.


(Das sollte ungefähr so stimmen.)

Stephan Gerlach

unread,
Nov 4, 2021, 9:16:07 PMNov 4
to
Stephan Gerlach schrieb:
Ohje... das ist leider in dieser Form Unsinn.

Richtig ist einfach

M = B⋅M_0.

Also wenn M_0 eine Lösung von

X=Mᵗ⋅M [1]

ist, dann ist auch das so definierte M eine Lösung von [1], wenn B eine
beliebige orthogonale nxn-Matrix ist.


> Problem dabei ist, daß weder M noch M_0 quadratisch sind, so daß das
> Matrixprodukt gar nicht definiert ist.

Da Matrixprodukt ist natürlich doch definiert, wenn B eine nxn-Matrix
ist (da nur von einer Seite mit B multipliziert wird).

> Vermutlich muß man M mit einer
> zusätzlichen Nullzeile (s.u.) zu M' "vergrößern", um dieses Prinzip mit
> B irgendwie zu retten. Damit ist M' zwar dann singulär, aber immerhin
> schonmal quadratisch.

Das ist dann ebenfalls nicht notwendig, um das Prinzip mit B zu retten;
es funktioniert "einfach so".

Was man noch zeigen kann:

Wenn M_0 eine spezielle Lösung von [1] ist (z.B. die über die
Cholesky-Zerlegung gefundene) und M irgendeine andere Lösung von [1]
ist, dann gibt es eine (eindeutige?) orthogonale Matrix B, so daß sich M als

M = B⋅M_0

darstellen läßt. Die Existenz kriegt man relativ gut hin; etwas
erschwerend ist dabei der Fakt, daß M nicht quadratisch ist. Allerdings
ist Rg(X)=n (siehe anderes Posting), so daß auch Rg(M)=n sein muß, was
die Existenz von B dann doch beweisbar macht. Man muß lediglich M und
M_0 geeignet in Blockdarstellung schreiben. Eindeutigkeit von B hab' ich
noch nicht untersucht, aber sollte auch machbar sein(?).

Stephan Gerlach

unread,
Nov 12, 2021, 8:11:40 PMNov 12
to
Stephan Gerlach schrieb:
> Stephan Gerlach schrieb:
>> Ralf Goertz schrieb:
>>> Am Tue, 26 Oct 2021 02:33:54 +0200
>>> schrieb Stephan Gerlach <mam9...@t-online.de>:
>>>
>>>> Ralf Goertz schrieb:

[...]

>>>>> Wenn ich also diese (Spalten-) Vektoren zu einer Matrix M
>>>>> zusammenfasse, muss gelten
>>>>> [1 m m … m]
>>>>> X=Mᵗ⋅M=[m 1 m … m]
>>>>> [⋮ ⋱ ⋮]
>>>>> [m m m … 1]

[...]

> Richtig ist einfach
>
> M = B⋅M_0.
>
> Also wenn M_0 eine Lösung von
>
> X=Mᵗ⋅M [1]
>
> ist, dann ist auch das so definierte M eine Lösung von [1], wenn B eine
> beliebige orthogonale nxn-Matrix ist.

[...]

> Was man noch zeigen kann:
>
> Wenn M_0 eine spezielle Lösung von [1] ist (z.B. die über die
> Cholesky-Zerlegung gefundene) und M irgendeine andere Lösung von [1]
> ist, dann gibt es eine (eindeutige?) orthogonale Matrix B, so daß sich M
> als
>
> M = B⋅M_0
>
> darstellen läßt. Die Existenz kriegt man relativ gut hin; etwas
> erschwerend ist dabei der Fakt, daß M nicht quadratisch ist. Allerdings
> ist Rg(X)=n (siehe anderes Posting), so daß auch Rg(M)=n sein muß, was
> die Existenz von B dann doch beweisbar macht. Man muß lediglich M und
> M_0 geeignet in Blockdarstellung schreiben. Eindeutigkeit von B hab' ich
> noch nicht untersucht, aber sollte auch machbar sein(?).

Die Eindeutigkeit ist sogar viel einfacher als die Existenz. Beweis geht
(ebenfalls) über die besagte Blockdarstellung von M.

Damit ist das Problem vollständig gelöst in dem Sinne, daß nicht nur
eine spezielle Lösung für [1] gefungen wurde, sondern sogar *alle* Lösungen.
Reply all
Reply to author
Forward
0 new messages