Wirtinger Derivatives or Wirtinger Calculus (also called -Calculus)
Refs.
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:Expression Integer,z:Kernel Expression Integer):Expression Integer == eval(D(eval(ex,[z],[%conjugate]),%conjugate),[%conjugate],[z])
Function declaration diff : (Expression(Integer),Kernel(Expression(
Integer))) -> Expression(Integer) has been added to workspace.
Type: Void
Tests
fricas
test(diff(z,z)=1)
fricas
Compiling function diff with type (Expression(Integer),Kernel(
Expression(Integer))) -> Expression(Integer)
Type: Boolean
fricas
test(diff(conjugate z,conjugate z)=1)
Type: Boolean
fricas
test(diff(z,conjugate z)=0)
Type: Boolean
fricas
test(diff(conjugate z,z)=0)
Type: Boolean
fricas
diff(sin(x),x)
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
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)
Conversion failed in the compiled user function diff .
Cannot convert from type Expression(Complex(Integer)) to Expression(
Integer) for value
_
%ix - %i x
----------
2
diff(imag(x),conjugate x)
Conversion failed in the compiled user function diff .
Cannot convert from type Expression(Complex(Integer)) to Expression(
Integer) for value
_
%ix - %i x
----------
2
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)
Type: Boolean
fricas
(diff(t1,conjugate z) = 1/2*z+1/2*conjugate(z)-3/8*(z-conjugate(z))^2)
Type: Equation(Expression(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)