Eigenwerte berechnen < Mathematica < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 09:52 Mi 31.10.2007 | Autor: | beta81 |
Aufgabe | [mm] \mathcal{D}(\vec{q})=3\sum_{j=1}^{6}\left[\mathbbm{1}-5\begin{pmatrix} x_j^2&x_jy_j\\x_jy_j&y_j^2\end{pmatrix}\right]\sin^2\left(\vec{q}\vec{R}_j/2\right)
[/mm]
mit den Vekoren
[mm] \vec{q}=\vektor{ 0 \\ q_x}
[/mm]
[mm] \vec{R}_1=\vektor{ 1/2 \\ \sqrt{3}/2}
[/mm]
[mm] \vec{R}_2=\vektor{ 1 \\ 0}
[/mm]
[mm] \vec{R}_3=\vektor{ 1/2 \\ -\sqrt{3}/2}
[/mm]
[mm] \vec{R}_4=\vektor{ -1/2 \\ -\sqrt{3}/2}
[/mm]
[mm] \vec{R}_5=\vektor{ -1\\ 0}
[/mm]
[mm] \vec{R}_6=\vektor{ -1/2 \\ \sqrt{3}/2} [/mm] |
hallo community,
wie kann ich in mathematica die eigenwerte [mm] \lambda(q_x) [/mm] von [mm] \mathcal{D}(\vec{q}) [/mm] berechnen??
ich hab die eigenwerte analytisch berechnet, aber wenn die summe nicht mehr bis 6 sondern bis 20 läuft, ist es ja nicht mehr möglich bzw. sehr, sehr aufwendig. ich würde gerne mathematica dann die 20 vektoren vorgeben, so dass es mir dann die eigenwerte berechnet.
danke!
gruss beta
|
|
|
|
Hallo [mm] $\beta$,
[/mm]
ich gehe davon aus, dass die [mm] $x_{j},y_{j}$ [/mm] die Komponenten der [mm] $\overrightarrow{R_{j}}$ [/mm] sind und dass es kein Zufall ist, dass die [mm] $\overrightarrow{R_{j}}$ [/mm] gerade Real- und Imaginärteil der sechsten Einheitswurzeln sind.
Annahmen über Annahmen: des weiteren vermute ich mal, dass der Faktor 3 vor der Summe im Allgemeinen n/2 und der Faktor vor der Matrix mit den Produkten der [mm] $x_{j},y_{j}$ [/mm] n-1 werden soll. Falls nicht, muß das halt wieder umgeschrieben werden.
Dann bekomme ich für [mm] $\mathcal{D}$
[/mm]
1: | Subscript[\[ScriptCapitalD], n_][q_] := Normal[(n/2)*RootSum[#1^n - 1 &,
| 2: | ((IdentityMatrix[2] - (n - 1) *Outer[Times, #1, #1]) Sin[(1/2)*q*#1[[2]]]^2 & ) [Through[{Re, Im}[#1]]] & ]] |
Test:
[mm] $\text{Simplify}[\mathcal{D}_6[q]\text{//}\text{Eigenvalues}]$
[/mm]
$-33 [mm] \sin ^2(\frac{\sqrt{3} q}{4}),-3 \sin ^2(\frac{\sqrt{3} q}{4})$
[/mm]
Kommt das hin?
Grüße,
Peter
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 09:29 Fr 02.11.2007 | Autor: | beta81 |
Hallo Peter,
vielen Dank für deine Hilfe! Also
> ich gehe davon aus, dass die [mm]x_{j},y_{j}[/mm] die Komponenten der [mm]\overrightarrow{R_{j}}[/mm] sind
genau
> und dass es kein Zufall ist, dass die [mm]\overrightarrow{R_{j}}[/mm] gerade Real- und Imaginärteil der sechsten Einheitswurzeln sind.
das gilt glaub ich nur in diesem Fall. Auf jeden Fall gilt [mm] \vec{R}_j=n_1\vektor{1 \\ 0}+n_2\vektor{1/2 \\ \sqrt{3}/2}, [/mm] wobei [mm] n_1 [/mm] und [mm] n_2 [/mm] alle negativen und positiven ganze Zahlen durchlaufen, ausser [mm] n_1=n_2=0. [/mm] Beispiel von oben: Für [mm] \vec{R}_3 [/mm] hätte man also [mm] n_1=1, n_2=-1 [/mm] und für [mm] \vec{R}_6 [/mm] hätte man [mm] n_1=-1, n_2=1. [/mm] Die nächsten Vektoren wären:
[mm] \vec{R}_7=\vektor{ 0 \\ \sqrt{3}}, \vec{R}_8=\vektor{ 1 \\ \sqrt{3}}, \vec{R}_9=\vektor{ 3/2 \\ \sqrt{3}/2}, \vec{R}_{10}=\vektor{ 2 \\0}, \vec{R}_{11}=\vektor{ 3/2\\ -\sqrt{3}}, \vec{R}_{12}=\vektor{ 0 \\ -\sqrt{3}}, \vec{R}_{13}=\vektor{ 1 \\ -\sqrt{3}},
[/mm]
[mm] \vec{R}_{14}=\vektor{ -1\\ -\sqrt{3}}, \vec{R}_{15}=\vektor{ -3/2 \\ -\sqrt{3}/2}, \vec{R}_{16}=\vektor{ -2 \\ 0}, \vec{R}_{17}=\vektor{ -3/2\\ \sqrt{3}/2}, \vec{R}_{18}=\vektor{ -1 \\ \sqrt{3}}
[/mm]
> Annahmen über Annahmen: des weiteren vermute ich mal, dass
> der Faktor 3 vor der Summe im Allgemeinen n/2 und der
> Faktor vor der Matrix mit den Produkten der [mm]x_{j},y_{j}[/mm] n-1
> werden soll.
Nein! Der Faktor 3 vor der Summe und die 5 vor der Matrix sind Konstanten. Sie sind völlig unabhängig von den gewählten Vektoren, d.h. sie bleiben immer fest.
> Falls nicht, muß das halt wieder umgeschrieben werden.
ich hätte dann folgendes:
[mm] \mathcal{D}(\vec{q})=3\sum_{j=1}^{6}\left[\mathbbm{1}-\frac{5}{\left|\vec{R}_j\right|^2}\begin{pmatrix} x_j^2&x_jy_j\\x_jy_j&y_j^2\end{pmatrix}\right]\frac{\sin^2\left(\vec{q}\vec{R}_j/2\right)}{\left|\vec{R}_j\right|^5}
[/mm]
wobei die Summe über [mm] n_1, n_2 [/mm] geht. Ich hatte vorher den Betrag des Vektors [mm] \vec{R}_j [/mm] weggelassen. Für mehr als 6 Vektoren darf ich das natürlich nicht machen, da der Betrag dann nicht mehr 1 ist. Sorry, dass ich oben den Betrag vergessen hab.
> Dann bekomme ich für [mm]\mathcal{D}[/mm]
> [mm][code]Subscript[\[ScriptCapitalD],[/mm] n_][q_] :=
> [mm]Normal[(n/2)*RootSum[#1^n[/mm] - 1 &,
> ((IdentityMatrix[2] - (n - 1) *Outer[Times, #1, #1])
> [mm]Sin[(1/2)*q*#1[[2]]]^2[/mm] & ) [Through[{Re, Im}[#1]]] &
> ]][/code]
das stimmt ja jetzt leider nicht mehr ganz. Könntest du mir bitte helfen und sagen was ich jetzt ändern muss, wenn noch der Betrag mit reinkommt und die Faktoren 3 und 5 konstant gehalten werden?? Am besten wäre es, wenn man die Vektoren [mm] \vec{R}_j [/mm] per Hand in mathematica eingeben könnte und dieses dann die eigenwerte berechnet, aber ich vermute das geht nicht, stimmt's? (Grund: Da man die Summe nicht bis [mm] \infty [/mm] laufen lassen kann, sollte man vorsichtig sein, welche [mm] \vec{R}_j [/mm] man wählt.)
> Test:
>
> [mm]\text{Simplify}[\mathcal{D}_6[q]\text{//}\text{Eigenvalues}][/mm]
sorry, für die dumme Frage, aber wie gibst du das in mathematica ein?
> [mm]-33 \sin ^2(\frac{\sqrt{3} q}{4}),-3 \sin ^2(\frac{\sqrt{3} q}{4})[/mm]
>
> Kommt das hin?
Ja, richtig!
Ich wäre dir für eine Antwort sehr dankbar!
Gruss beta
|
|
|
|
|
Hi beta,
das macht die Angelegenheit etwas übersichtlicher
Ich hänge Dir ein kleines Notebook an.
Das "schöne D" kann man umstaändlich per \[ScriptCapitalD] eingeben, etwas einfacher mit der Tastenfolge "esc s c D esc" oder man ruft sich aus dem Menü File->Palettes->CompleteCharacters auf und findet das gewünschte Zeichen unter Letters->Script. In der Hilfe kannst Du den Reiter "The Mathematica Book" anwählen und in das Eingabefeld des Help-Browsers "3.10.3" eingeben. Nach Klick auf das "Go"-Knöppfchen oder einfaches Drücken von Enter erhältst Du eine Übersicht über die Eingabemöglichkeiten von Sonderzeichen.
Tiefgestelltes [mm] $Also_{sowas}$ [/mm] bekommt man durch Strg-_ und hochgestelltes [mm] $Dies^{hier}$ [/mm] durch Strg-^. Aus dem hoch- bzw. tiefgestellten Modus kommt man per Strg-Leertaste wieder raus.
Wenn ich mich recht entsinne stehen mehr Details dazu um das Kapitel 3.10.3 herum im mitgelieferten Mma-Buch (Help-Browser).
Die Funktion im Notebook erwartet das [mm] $q_{x}$ [/mm] als erstes Argument und eine Liste von Vektoren als zweites.
Falls noch was unklar ist, frag halt nochmal nach.
Alles Gute,
Peter
Anhang
Dateianhänge: Anhang Nr. 1 (Typ: nb) [nicht öffentlich]
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 13:21 Sa 03.11.2007 | Autor: | beta81 |
hi peter,
danke! habs gleich mal ausprobiert. die zeile [mm] \texttt{R6list = Select[\%, \#.\# == 1 \&]} [/mm] besagt, dass alle vektoren ausgewählt werden, bei denen das produkt [mm] \vec{R}_j*\vec{R}_j=1 [/mm] ist, richtig? dann komm ich nämlich auf die ersten 6 vektoren.
wenn ich jetzt anstatt 6 Vektoren 18 möchte (die ich oben auch angegeben hab), muss ich wohl in der zweiten Zeile [mm] \texttt{Rj[2,2]} [/mm] eingeben. ich erhalte dann 24 vektoren, unter denen sich die 18 befinden.
wie kann ich jetzt die vektoren [mm] \vec{R}_1 [/mm] bis [mm] \vec{R}_{18} [/mm] auswählen? das sind alle vektoren mit dem produkt [mm] \vec{R}_j*\vec{R}_j=1, \vec{R}_j*\vec{R}_j=3 [/mm] und [mm] \vec{R}_j*\vec{R}_j=4 [/mm] oder alle mit den produkten [mm] \vec{R}_j*\vec{R}_j\neq [/mm] 7 und [mm] \vec{R}_j*\vec{R}_j\neq [/mm] 12. das kann ich jetzt leider nicht als [mm] \texttt{R18list = Select[\%, \#.\# == 1 \&\& \#.\# == 3 \&\& \#.\# == 4 &]} [/mm] oder [mm] \texttt{R18list = Select[\%, \#.\# != 7 \&\& \#.\# != 12 \&]} [/mm] schreiben, weil dann kein einziger vektor mehr dransteht. eine fehlermeldung kommt auch nicht. kannst du mir bitte sagen, wie man das richtig hinschreibt?
Anstatt [mm] \vec{q}=\vektor{0 \\ q_y}, [/mm] würde ich jetzt gerne einmal [mm] \vec{q}=\vektor{q_x \\ 2\pi/\sqrt{3}} [/mm] und das anderemal [mm] \vec{q}=\vektor{q_x \\ q_y} [/mm] nehmen. kannst du mir bitte sagen, was ich das jetzt im code ändern muss? am besten wäre, wenn ich zwischen diesen 3 vektoren rumspringen könnte. es langt aber auch, wenn ich [mm] \vec{q} [/mm] auch immer mit der hand eingeben könnte.
danke nochmals für dein feedback!
Gruss beta
|
|
|
|
|
Hallo & guten Morgähn,
ich probiere das jetzt nicht aus, also ist das Folgende ein Schuß in's Blaue:
Du selektierst Vektoren, deren Skalarprodukt mit sich selbst gleichzeitig 1, 3 und 4 sein soll. Dass da die leere Menge entsteht, verwundert doch eigentlich nicht. Es wäre m.E. einen Versuch wert, Select[...,#.#==1 || #.#==3||#.#==4] zu probieren, also Betraghoch2[vektor] in {1,3,4}.
Oder hast Du vieleicht das "%" fehlinterpretiert? Das bezieht sich auf die letzte Ausgabe, wie Du in meinem letzen Posting bzw im Notebook sehen kannst.
Ich weiß jetzt nicht, welche Bereiche n1 und n2 Deiner Formel für R18 durchlaufen werden müssen, aber mit Select[Rj[6,6],#.#==1 || #.#==3||#.#==4] sollte alles abgedeckt sein. Falls n1,n2 nicht so weit durchlaufen werden müssen, nimm halt die kleinstmöglichen Werte.
Fazit: Es ist extrem knifflig ( Pessimisten sprechen von "unmöglich"), Vektoren zu finden deren Betragsquadrate gleichzeitig verschiedene Werte annehmen und das "%" bezieht sich immer nur auf den letzten von Mma berechneten Ausdruck. Besserer Stil wäre, eine Hilfsvariable zu verwenden:
tmp=Rj[sonstnichwas]; Select[tmp,Auswahlkriterien]
Peter
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 09:40 Mo 05.11.2007 | Autor: | beta81 |
morgen peter,
danke! das hat geklappt. jetzt wo du es sagst, ist es klar, dass ich anstatt && doch lieber || schreiben sollte.
kannst du mir bitte noch bei der letzten frage helfen? was muss ich im code ändern, damit ich anstatt [mm] \vec{q}=\vektor{0 \\ q_y}, [/mm] die vektoren [mm] \vec{q}=\vektor{q_x \\ 2\pi/\sqrt{3}} [/mm] und [mm] \vec{q}=\vektor{q_x \\ q_y} [/mm] verwenden kann?
gruss beta
|
|
|
|
|
Hallöle beta,
in meinem Code steht irgendwo q*#[[2]]. Die muss durch q.# oder auch durch Dot[q,#] ersetzt werden und Du rufst die Funktion mit dem Vektor als erstem Parameter auf. Das müsste so klappen.
Gruß,
Peter
|
|
|
|
|
Status: |
(Frage) überfällig | Datum: | 10:22 Di 06.11.2007 | Autor: | beta81 |
hi peter,
für [mm] \vec{q}=\vektor{q_x \\ 2\pi/\sqrt{3}} [/mm] hab ich [mm] \sin[\bruch{1}{2} [/mm] q [mm] \#1[[2]] ]^2 [/mm] durch [mm] \sin[\bruch{1}{2} \{q, 2\pi/\sqrt{3}\}.\#1 ]^2 [/mm] ersetzt. leider ist nur ein eigenwert richtig. der andere ist falsch. es sollte [mm] -33\cos^2(q/4) [/mm] rauskommen und nicht [mm] -\frac{3}{2}(9+11\cos(q/2)+2\cos(q)).
[/mm]
kannst mir bitte sagen, was ich im code falsch gemacht hab?
anbei als anhang der code, mit dem ich es gerechnet habe:Datei-Anhang. in der ersten zeile steht die analytische rechnung, mit den zwei richtigen eigenwerten.
danke!
gruss beta
Dateianhänge: Anhang Nr. 1 (Typ: nb) [nicht öffentlich]
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:20 Do 08.11.2007 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 17:02 Mo 12.11.2007 | Autor: | beta81 |
hallo,
kann mir einer bitte bei der letzten frage helfen?? ich sitzt seit 6 tagen an diesem problem.
wäre sehr dankbar!
gruss beta
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 10:06 Di 13.11.2007 | Autor: | beta81 |
ok. ich hab's geschafft!
|
|
|
|