> Allerdings sollte
> das meines Erachtens nicht nötig sein, wenn MMA sich korrekt
> verhalten würde.
Vielleicht handelt es sich hier um etwas ähnliches wie das, das
ich vor ca. zwei Jahren mal mit Solve erlebt habe, und zwar spuckt
Solve[Sin[fi/a] == Sin[(fi + Pi)/a], fi] Lösungen aus, die nicht
für beliebige Werte von a richtig sind. Damals hat mir
support@XXXXXXX.com folgendes geantwortet:
This is an expected behavior of Solve for this type of example.
The problematic solution in this example is called a "parasitic"
solution, and occurs roughly for the reasons that you described.
There are no known practical algorithms for rejecting all parasitic
solutions. The only known general algorithmic ways of solving
equations apply only to polynomial equations. Non-polynomial
equations are normally solved by converting them to polynomial
equations. Parasitic solutions are solutions that are introduced in
this conversion process. Parasitic solutions that are difficult to
detect can be expected when solving non-polynomial equations
involving symbolic parameters. It is important to note that the
solutions in this example are correct for an infinite number of
values of the parameter a (they are correct for a->1/n for any
non-zero integer n), which is one of the reasons that it is difficult,
and in some cases not even desirable, to reject these solutions.
In Kurzform: Mma gibt in (relativ seltenen) Fällen Lösungen zurück,
die nur für bestimmte Werte der Parameter richtig sind. Sicher
ließe sich das noch verbessern, indem Mma solche Lösungen in "If"
einwickelte. Je nach Gleichung mag es aber schwierig bis unmöglich
sein, den Gültigkeitsbereich der Lösung zu bestimmen, von daher ist
eine solche Lösung immer noch besser als gar keine Lösung, und zur
Not gibt es ja auch noch VerifySolutions -> True.
Gruß,
Thomas Hahn