Hallo Frank,
ist als Verbesserungsvorschlag fuer die Dokumentation nun aufgenommen.
.. bei einer komplexwertigen Funktion eines komplexen Argumentes muss man
zwei Freiheitsgrade ausblenden, um Plot[] so zu gebrauchen, wie es
vorgesehen ist:
In[91]:= Remove[richterRealReal]
richterRealReal[f_, g_, p_, l_, opts : OptionsPattern[]] :=
Module[{x, m0, n0, n1, n2},
{m0, n0} = g;
{n1, n2} = Normalize[p];
If[Chop[n1] == 0 && Chop[n2] == 0,
Print["Projektor missraten! Bye."]; Return[$Failed]
];
If[SameQ[opts, Null],
Plot[Re[(n1 - I n2) f[ (1 + I m0) x + I n0]], {x, l[[1]], l[[2]]}],
Plot[Re[(n1 - I n2) f[ (1 + I m0) x + I n0]], {x, l[[1]],
l[[2]]}, Evaluate[FilterRules[{opts}, Options[Plot]]]]
]
] /; VectorQ[g, NumericQ] && VectorQ[p, NumericQ] &&
VectorQ[l, NumericQ] && Length[g] == 2 && Length[p] == 2 && Length[l]
== 2
man evaluaiert die Funktion f längs einer Geraden g durch die komplexe
Ebene und projeziert das komplexe Ergebnis dieser Operation auf eine
Betrachtungsrichtung p. Somit ist
(* der reelle Sin *)
In[93]:= richterRealReal[Sin, {0, 0}, {1, 0}, {0, 2 \[Pi]}]
(* der reelle Sin in der komplexen Richtung, natürlich leer *)
In[94]:= richterRealReal[Sin, {0, 0}, {0, 1}, {0, 2 \[Pi]}]
(* quer durch die komplexe Ebene, rein reelle Projektion *)
In[95]:= richterRealReal[Sin, {1, 0}, {1, 0}, {0, 2 \[Pi]}]
(* quer durch die komplexe Ebene, rein imaginäre Projektion *)
In[96]:= richterRealReal[Sin, {1, 0}, {0, 1}, {0, 2 \[Pi]}, PlotRange ->
All]
(* quer durch die komplexe Ebene, Projektion senkrecht zur \
Laufrichtung *)
In[97]:= richterRealReal[Sin, {1, 0}, {-1, 1}, {0, 2 \[Pi]}]
(* quer durch die komplexe Ebene, andere Projektion senkrecht zur \
Laufrichtung *)
In[98]:= richterRealReal[Sin, {1, 0}, {1, -1}, {0, 2 \[Pi]}]
Die Bilder sind sehr unterschiedlich in Abhängigkeit von Laufrichtung und
Projektion, dies veranschaulicht die Freiheiten solcher Funktionen. Es
geht dann weiter mit dem Begriff der Riemannschen Fläche und den
unvermeidlichen Verzweigungsschnitten der Blätter solcher Flächen.
Gruss
Udo.