Hallo Hans,
die Nachhilfe könnte in einer einfachen Beobachtung bestehen:
Irgendein Ausdruck
In[24]:= s0 = Plus @@ Flatten[Table[Sum[Subscript[x, i] + I Subscript[y,
i]]^j, {i, 1, 5}, {j, 0, i}]]
In[25]:= Collect[s0, I]
Darauf erfolgt - wie beschrieben - keine Reaktion, Out[24] === Out[25]
unter Mma. 4.2. Warum? Mma weiss nicht,
dass die Variablen Subscript[x, i], Subscript[y, i] selbst reell sind.
Diese Annahme wird erst von ComplexExpand[] getroffen.
In[26]:= Collect[ComplexExpand[s0], I]
funktioniert so, wie Collect[] gehen soll. Mit anderen Worten, im
allgemeinen wird zu Recht Conjugate[x + I y] nicht vereinfacht (das wäre
ja Conjugate[x] - I Conjugate[y]), ComplexExpand[Conjugate[x + I y]]
schon, das Beispiel ist aus dem Manual. Eine andere übliche
Vorgehensweise, Annahmen mitzuteilen, sind die Assumptions.
Frage: Wieviele numerisch verschiedene Werte finden sich in der
folgenden unendlichen Liste
{I, I^I, I^I^I, I^I^I^I, ...}?
Gruss
Udo.
Hans.Dolhaine@XXXXXXX.com wrote:
Liebe Mitglieder der dmug,
ich brauche Nachhilfe beim Umgang mit komplexen Zahlen:
Ich habe einen algebraischen Ausdruck aus mehreren, zum Teil kompliziert
gebauten Termen, von denen einige I == Complex[0,1] oder -I = Complex[0,-1]
als Faktor enthalten. Ich will alle imaginären Terme zusammenfassen.
Collect [ ausdruck, Complex [ 0, a_ ] ] funktioniert nicht.
Ich brauche den Umweg Collect [ ausdruck/. Complex[ 0, a_ ] -> a*jj , jj
] /. jj -> Complex [ 0,1 ].
Das geht, kommt mir allerdings etwas unelegant vor. Wie geht es besser?
Weiß jemand genau, wie Collect funktioniert?
Endlich habe ich einen Ausdruck, der .... I ( -a-b-c - ....) , dabei sind
a, b usw. komplizierte Ausdrücke, enthält, und der soll in .... - I ( a +b
+c + ...) umgewandelt werden.
expr/. a__ Complex[ 0, -1 ] -> (-a) Complex[ 0, 1] macht aber nix.
Ich weiss, pattern und rules sind schwierig. Aber: warum funktioniert das
nicht und wie kann man's machen?
Mit freundlichen Grüßen
Hans Dolhaine
_________________________________
VTR-TS
Phone: +49-211-797-4809
Fax: +49-211-798-1853
Mobile: 0171 97 17 049
E-Mail: Hans.Dolhaine@XXXXXXX.com