I wish I could make Mathematica compute the $dd^c=2i\partial\bar\partial$ of a function depending on several complex variables. The question involves complex or Wirtinger derivatives (https://mathematica.stackexchange.com/a/143739/48524) and exterior product as defined by the DifferentialForms package with some modifications.
Following the above mentioned answer, my attempt in 2 complex variables is as follows
ComplexD[expr_, z__] :=
With[{v =
Union@Cases[{z},
s_Symbol |
Conjugate[s_Symbol] | {s_Symbol | Conjugate[s_Symbol], _} :>
s], old =
"ExcludedFunctions" /. ("DifferentiationOptions" /.
SystemOptions["DifferentiationOptions"])},
Internal`WithLocalSettings[
SetSystemOptions[
"DifferentiationOptions" ->
"ExcludedFunctions" -> Join[old, {Abs, Conjugate}]];
Unprotect[Conjugate, Abs];
Conjugate /: D[w_, Conjugate[w_], NonConstants -> v] := 0;
Conjugate /: D[Conjugate[f_], w_, NonConstants -> v] :=
Conjugate[D[f, Conjugate[w], NonConstants -> v]];
Abs /: D[Abs[f_], w_, NonConstants -> v] :=
1/(2 Abs[f]) D[Conjugate[f] f, w, NonConstants -> v],
D[expr, z, NonConstants -> v],
SetSystemOptions[
"DifferentiationOptions" -> "ExcludedFunctions" -> old];
Conjugate /: D[w_, Conjugate[w_], NonConstants -> v] =.;
Conjugate /: D[Conjugate[f_], w_, NonConstants -> v] =.;
Abs /: D[Abs[f_], w_, NonConstants -> v] =.;
Protect[Conjugate, Abs];]]
Basis[ 4, {z1, bz1, z2, bz2}];
De[expr_, z1__, z2__] :=
ComplexD[expr, z1]*d[z1] + ComplexD[expr, Conjugate[z1]]*d[bz1] +
ComplexD[expr, z2]*d[z2] + ComplexD[expr, Conjugate[z2]]*d[bz2];
Dc[expr_, z1__, z2__] :=
I*(
ComplexD[expr, Conjugate[z1]]*d[bz1] -
ComplexD[expr, z1]*d[z1] +
ComplexD[expr, Conjugate[z2]]*d[bz2] - ComplexD[expr, z2]*d[z2]
);
DeDc[expr_, z1__, z2__] :=
2 I*(
ComplexD[ComplexD[expr, Conjugate[z1]], z1]*
d[z1]\[Wedge]d[bz1] +
ComplexD[ComplexD[expr, Conjugate[z2]], z1]*
d[z1]\[Wedge]d[bz2] +
ComplexD[ComplexD[expr, Conjugate[z1]], z2]*d[z2]\[Wedge]d[bz1] +
ComplexD[ComplexD[expr, Conjugate[z2]], z2]*d[z2]\[Wedge]d[bz2]
);
On the concrete example
DeDc[(z1*Conjugate[z1] + z2*Conjugate[z2])^(1/2), z1,
z2]\[Wedge]DeDc[(z1*Conjugate[z1] + z2*Conjugate[z2])^(1/2), z1,
z2] // Simplify
the code seems to work, but it doesn't work symbolically for any function of 2 complex variables.
I thank in advance anyone who can help me.