Documentation for eval_when



Am Sonntag, den 02.10.2011, 18:25 +0100 schrieb Rupert Swarbrick:
> Dieter Kaiser <drdieterkaiser at web.de> writes:
> > Because of a bug report, I have figured out the functionality of the
> > Maxima function eval_when. I have written a documentation in German.
> > Perhaps, someone can help to translate this documentation in the English
> > language.
> >
> > At this time, there is a lot of additionally information in the German
> > manual, which could be translated in English. I would appreciate any
> > help to translate more documentation. If someone is interested to help;
> > the German manual is available at
> > http://crategus.users.sourceforge.net/maxima.html
> 
> Do you mean just for the eval_when function or in the manual in general?
> If the latter, do you have a list of places to look for it. I'd happily
> translate some.

Thank you very much for your offering. It is really a lot of work for me
to translate a text to English and the text is not as good as it could
be.

Yes, there are a lot of places, which could be translated in English to
extend the documentation of the English manual. A starting point might
be the chapter about mathematical functions. This is an example of the
English Manual:

----------------------------------------------
Function: abs (expr)

Returns the absolute value expr. If expr is complex, returns the complex
modulus of expr.

abs distributes over a list, a matrix, or an equation. See
distribute_over. 
----------------------------------------------

And this is the German documentation:

----------------------------------------------
Funktion: abs (z) 
        
        Die Funktion abs ist die Betragsfunktion und f?r das numerische
        und symbolische Rechnen geeignet. Ist das Argument z eine reelle
        oder komplexe Zahl wird der Betrag berechnet. Wenn m?glich
        werden allgemeine Ausdr?cke mit der Betragsfunktion vereinfacht.
        Maxima kann Ausdr?cke mit der Betragsfunktion integrieren und
        ableiten sowie Grenzwerte von Ausdr?cken mit der Betragsfunktion
        ermitteln. Das Paket abs_integrate erweitert Maximas
        M?glichkeiten, Integrale mit der Betragsfunktion zu l?sen.
        
        Die Betragsfunktion wird automatisch auf die Elemente von Listen
        und Matrizen sowie auf die beiden Seiten von Gleichungen
        angewendet. Siehe distribute_over.
        
        Siehe die Funktion cabs, um den Betrag eines komplexen Ausdrucks
        oder einer Funktion zu berechnen.
        
        Beispiele:
        
        Berechnung des Betrages f?r reelle und komplexen Zahlen sowie
        numerische Konstanten und unendliche Gr??en. Das erste Beispiel
        zeigt, wie die Betragsfunktion von Maxima auf die Elemente einer
        Liste angewendet wird.
        
        (%i1) abs([-4, 0, 1, 1+%i]);
        (%o1)                  [4, 0, 1, sqrt(2)]
        
        (%i2) abs((1+%i)*(1-%i));
        (%o2)                           2
        (%i3) abs(%e+%i);
                                        2
        (%o3)                    sqrt(%e  + 1)
        (%i4) abs([inf, infinity, minf]);
        (%o4)                   [inf, inf, inf]
        
        Vereinfachung von Ausdr?cken mit der Betragsfunktion.
        
        (%i5) abs(x^2);
                                        2
        (%o5)                          x
        (%i6) abs(x^3);
                                     2
        (%o6)                       x  abs(x)
        
        (%i7) abs(abs(x));
        (%o7)                       abs(x)
        (%i8) abs(conjugate(x));
        (%o8)                       abs(x)
        
        Ableitung und Integrale mit der Betragsfunktion. Wird das Paket
        abs_integrate geladen, k?nnen weitere Integrale mit der
        Betragsfunktion gel?st werden. Das letzte Beispiel zeigt die
        Laplacetransformation der Betragsfunktion. Siehe laplace.
        
        (%i9) diff(x*abs(x),x),expand;
        (%o9)                       2 abs(x)
        
        (%i10) integrate(abs(x),x);
                                     x abs(x)
        (%o10)                       --------
                                        2
        
        (%i11) integrate(x*abs(x),x);
                                   /
                                   [
        (%o11)                     I x abs(x) dx
                                   ]
                                   /
        
        (%i12) load(abs_integrate)$
        (%i13) integrate(x*abs(x),x);
                              2           3
                             x  abs(x)   x  signum(x)
        (%o13)               --------- - ------------
                                 2            6
        
        (%i14) integrate(abs(x),x,-2,%pi);
                                       2
                                    %pi
        (%o14)                      ---- + 2
                                     2
        
        (%i15) laplace(abs(x),x,s);
                                       1
        (%o15)                         --
                                        2
                                       s
----------------------------------------------
        
This is the English documentation for cabs:
        
----------------------------------------------
Function: cabs (expr) 
        
        Returns the complex absolute value (the complex modulus) of
        expr.
----------------------------------------------

And this is the documentation in German:

----------------------------------------------
Funktion: cabs (expr) 
        
        Berechnet den Betrag eines komplexen Ausdrucks expr. Im
        Unterschied zu der Funktion abs, zerlegt die Funktion cabs einen
        komplexen Ausdruck immer in einen Realteil und Imagin?rteil, um
        den komplexen Betrag zu berechnen. Sind x und y zwei reelle
        Variablen oder Ausdr?cke berechnet die Funktion cabs den Betrag
        des komplexen Ausdrucks x + %i*y als:
        
                                   2    2
                             sqrt(y  + x )
        
        Die Funktion cabs nutzt Symmetrieeigenschaften und
        implementierte Eigenschaften komplexer Funktionen, um den Betrag
        eines Ausdrucks zu berechnen. Sind solche Eigenschaften f?r eine
        Funktion vorhanden, k?nnen diese mit der Funktion properties
        angezeigt werden. Eigenschaften, die das Ergebnis der Funktion
        cabs bestimmen, sind: mirror symmetry, conjugate function und
        complex characteristic.
        
        cabs ist eine Verbfunktion, die nicht f?r das symbolische
        Rechnen geeignet ist. F?r das symbolische Rechnen wie der
        Integration oder der Ableitung von Ausdr?cken mit der
        Betragsfunktion muss die Funktion abs verwendet werden.
        
        Das Ergebnis der Funktion cabs kann die Betragsfunktion abs und
        den Arkustangens atan2 enthalten.
        
        cabs wird automatisch auf die Elemente von Listen und Matrizen
        sowie auf die beiden Seiten von Gleichungen angewendet.
        
        Siehe auch die Funktionen rectform, realpart, imagpart, carg,
        conjugate und polarform f?r das Rechnen mit komplexen Zahlen.
        
        Beispiele:
        
        Zwei Beispiele mit der Wurzelfunktion sqrt und der Sinusfunktion
        sin.
        
        (%i1) cabs(sqrt(1+%i*x));
                                     2     1/4
        (%o1)                      (x  + 1)
        (%i2) cabs(sin(x+%i*y));
                            2        2         2        2
        (%o2)       sqrt(cos (x) sinh (y) + sin (x) cosh (y))
        
        Die Funktion erf hat Spiegelsymmetrie, die hier f?r die
        Berechnung des komplexen Betrages angewendet wird.
        
        (%i3) cabs(erf(x+%i*y));
                                                  2
                   (erf(%i y + x) - erf(%i y - x))
        (%o3) sqrt(--------------------------------
                                  4
                                                                       2
                                        (erf(%i y + x) + erf(%i y - x))
                                      - --------------------------------)
                                                       4
        
        Maxima kennt komplexe Eigenschaften der Besselfunktionen, um den
        komplexen Betrag zu vereinfachen. Dies ist ein Beispiel f?r die
        Besselfunktion bessel_j.
        
        (%i4) cabs(bessel_j(1,%i));
        (%o4)                 abs(bessel_j(1, %i))
----------------------------------------------
        
Dieter Kaiser