
conjugate - complex conjugation of an expression

Calling sequence:
conjugate(expr)

Parameter:

expr   --  expression

Overloading:

all

Summary:

conjugate calculates the complex conjugate for arbitrary given expressions.
For this the method "conjugate" from the domain of expr is used.  If
this domain does not contain this method then this function returns the
expression conjugate(expr).

An exception to this are expressions of the types DOM_INT, DOM_RAT, DOM_FLOAT,
DOM_COMPLEX and DOM_EXPR, which are directly processed by the function
conjugate.

For expressions of the type DOM_EXPR the conjugate can be defined in form
of a procedure or function in the function attribute "conjugate".  If the
operator of expr has such an attribute then the procedure or function in

the entry of the attribute "conjugate" is called with the operands of the
argument expr and the result is returned.

If such a function attribute is not defined, but the operator of expr is one
of the function environments _plus, _mult or _power, then this is directly
processed by the function conjugate and the result is returned. In all other
cases the expression conjugate(expr) is returned.

>>  conjugate( (1+I)*exp(2-3*I) );

      (1 - I) exp(2 +3 I)

>>  conjugate( x+2*sin(3-5*I) );

      conjugate(x) + 2 sin(3 + 5 I)

>>  f := fun(sin(2*args(1))*cos(2*args(1))):

>>  f := funcattr( f,"conjugate",f@conjugate ):

>>  conjugate( f(x) );

      cos(2 conjugate(x)) sin(2 conjugate(x))

See also:  funcattr , Re, rectform , Im

