Wirtinger Derivatives or Wirtinger Calculus (also called -Calculus)
Reference
fricas
)lib FSPECX
FunctionalSpecialFunction is now explicitly exposed in frame initial
FunctionalSpecialFunction will be automatically loaded when needed
from /var/aw/var/LatexWiki/FSPECX.NRLIB/FSPECX
fricas
diff(ex,z) == eval(D(eval(ex,[z],[%conjugate]),%conjugate),[%conjugate],[z])
Type: Void
Tests
fricas
test(diff(z,z)=1)
fricas
Compiling function diff with type (Variable(z),Variable(z)) ->
Polynomial(Integer)
Type: Boolean
fricas
test(diff(conjugate z,conjugate z)=1)
fricas
Compiling function diff with type (Expression(Integer),Expression(
Integer)) -> Expression(Integer)
Type: Boolean
fricas
test(diff(z,conjugate z)=0)
fricas
Compiling function diff with type (Variable(z),Expression(Integer))
-> Expression(Integer)
Type: Boolean
fricas
test(diff(conjugate z,z)=0)
fricas
Compiling function diff with type (Expression(Integer),Variable(z))
-> Expression(Integer)
Type: Boolean
fricas
diff(sin(x),x)
fricas
Compiling function diff with type (Expression(Integer),Variable(x))
-> Expression(Integer)
Type: Expression(Integer)
fricas
diff(sin(x),conjugate x)
Type: Expression(Integer)
fricas
diff(sqrt(x^2),x)
Type: Expression(Integer)
fricas
diff(sqrt(x^2),conjugate x)
Type: Expression(Integer)
fricas
diff(z*conjugate(z),z)
Type: Expression(Integer)
fricas
diff(z*conjugate(z),conjugate z)
Type: Expression(Integer)
fricas
diff(sqrt(x*conjugate(x)),x)
Type: Expression(Integer)
fricas
diff(%,x)
Type: Expression(Integer)
fricas
diff(%,x)
Type: Expression(Integer)
fricas
diff(diff(diff(abs(x),x),x),x)
Type: Expression(Integer)
fricas
_rule(abs(x),sqrt(x*conjugate(x))) %
Type: Expression(Integer)
fricas
diff(sqrt(x*conjugate(x)),conjugate x)
Type: Expression(Integer)
fricas
conjugate(diff(conjugate(sqrt(x*conjugate(x))),x))
Type: Expression(Integer)
fricas
diff(%,conjugate x)
Type: Expression(Integer)
fricas
diff(%,conjugate x)
Type: Expression(Integer)
Non-holomorphic functions
fricas
real(x) == (x+conjugate(x))/2
Type: Void
fricas
test(real real x = real x)
fricas
Compiling function real with type Variable(x) -> Expression(Integer)
fricas
Compiling function real with type Expression(Integer) -> Expression(
Integer)
Type: Boolean
fricas
imag(x) == -%i*(x-conjugate(x))/2
Type: Void
fricas
test(imag imag x = 0)
fricas
Compiling function imag with type Variable(x) -> Expression(Complex(
Integer))
fricas
Compiling function imag with type Expression(Complex(Integer)) ->
Expression(Complex(Integer))
Type: Boolean
fricas
real(a+%i*b)
fricas
Compiling function real with type Polynomial(Complex(Integer)) ->
Expression(Complex(Integer))
Type: Expression(Complex(Integer))
fricas
eval(%,[conjugate(a)=a,conjugate(b)=b])
Type: Expression(Complex(Integer))
fricas
test(real(real(a) + %i*real(b)) = real(a))
fricas
Compiling function real with type Variable(a) -> Expression(Integer)
fricas
Compiling function real with type Variable(b) -> Expression(Integer)
fricas
Compiling function real with type Expression(Complex(Integer)) ->
Expression(Complex(Integer))
Type: Boolean
fricas
imag(a+%i*b)
fricas
Compiling function imag with type Polynomial(Complex(Integer)) ->
Expression(Complex(Integer))
Type: Expression(Complex(Integer))
fricas
eval(%,[conjugate(a)=a,conjugate(b)=b])
Type: Expression(Complex(Integer))
fricas
diff(real(x),x)
Type: Expression(Integer)
fricas
diff(real(x),conjugate x)
Type: Expression(Integer)
fricas
diff(imag(x),x)
fricas
Compiling function diff with type (Expression(Complex(Integer)),
Variable(x)) -> Expression(Complex(Integer))
Type: Expression(Complex(Integer))
fricas
diff(imag(x),conjugate x)
fricas
Compiling function diff with type (Expression(Complex(Integer)),
Expression(Integer)) -> Expression(Complex(Integer))
Type: Expression(Complex(Integer))
fricas
diff(abs(x)^2,x)
Type: Expression(Integer)
Functions are assumed holomorphic
fricas
f:=operator 'f
fricas
diff(c*f(x),x)
Type: Expression(Integer)
fricas
diff(c*f(x),conjugate x)
Type: Expression(Integer)
fricas
diff(f(x,conjugate x),x)
Type: Expression(Integer)
fricas
diff(f(x,conjugate x),conjugate x)
Type: Expression(Integer)
fricas
test(diff(conjugate f(z,conjugate z),conjugate z) = conjugate diff(f(z,conjugate z),z))
Type: Boolean
fricas
test(diff(conjugate f(z,conjugate z),z) = conjugate diff(f(z,conjugate z),conjugate z))
Type: Boolean
Examples
fricas
t1:=real(z)^2+%i*imag(z)^3
fricas
Compiling function real with type Variable(z) -> Expression(Integer)
fricas
Compiling function imag with type Variable(z) -> Expression(Complex(
Integer))
Type: Expression(Complex(Integer))
fricas
test(diff(t1,z) = 1/2*z+1/2*conjugate(z)-3/8*(z-conjugate(z))^2)
fricas
Compiling function diff with type (Expression(Complex(Integer)),
Variable(z)) -> Expression(Complex(Integer))
Type: Boolean
fricas
(diff(t1,conjugate z) = 1/2*z+1/2*conjugate(z)-3/8*(z-conjugate(z))^2)
Type: Equation(Expression(Complex(Integer)))
fricas
test(diff(t1,conjugate z) = 1/2*z+1/2*conjugate(z)-3/8*(z-conjugate(z))^2)
Type: Boolean
fricas
t2:=2*log(sqrt(z*conjugate(z)))
Type: Expression(Integer)
fricas
diff(t2,z)
Type: Expression(Integer)
fricas
diff(t2,conjugate z)
Type: Expression(Integer)
fricas
diff(sqrt(x*conjugate(x))/x,x)+diff(sqrt(x*conjugate(x))/x,conjugate x)
Type: Expression(Integer)
fricas
eval(%,conjugate(x)=x)
Type: Expression(Integer)