1
$\begingroup$

I've been trying to do this in Mathematica for several days but I'm getting almost nowhere. I need to know the dimension of the solution space of each of the two systems of nonlinear complex equations below, where if z = a + ib then zbar = a - ib. The answers would be greatly appreciated!

[z1 z1bar + z2 z2bar + z3 z3bar = 1, z1 z2bar = 0, z1 z3bar = 0, z2 z1bar = 0, z2 z3bar = 0, z3 z1bar = 0, z3 z2bar = 0, z1bar z2 = 0, z1bar z3 = 0, z2bar z1 = 0, z2bar z3 = 0, z3bar z1 = 0, z3bar z2= 0]

There are 13 constraint equations in only 3 complex variables but there is a lot of redundancy in the equations. The dimension of the solution space might be 1 or 2 (Real).

And the same thing in 4 complex variables:

[z1 z1bar + z2 z2bar + z3 z3bar + z4 z4bar = 1, z1 z2bar = 0, z1 z3bar = 0, z1 z4bar = 0, z2 z1bar = 0, z2 z3bar = 0, z2 z4bar = 0, z3 z1bar = 0, z3 z2bar = 0, z3 z4bar = 0, z4 z1bar = 0, z4 z2bar = 0, z4 z3bar = 0, z1bar z2 = 0, z1bar z3 = 0, z1bar z4 = 0, z2bar z1 = 0, z2bar z3 = 0, z2bar z4 = 0, z3bar z1 = 0, z3bar z2= 0, z3bar z4 = 0, z4bar z1 = 0, z4bar z2 = 0, z4bar z3 = 0]

$\endgroup$
1
  • $\begingroup$ Can I quote your code (and name) in a paper that I might (or might not) get published in the future? $\endgroup$
    – Paul
    Commented Feb 22, 2022 at 3:30

2 Answers 2

2
$\begingroup$

It looks like your solution space is one dimensional.

Toward this aim, we first replace z and zbar by a+ I b and a- I b. Then we expand and use Reduce the get the solutions:

eq = {z1 z1bar + z2 z2bar + z3 z3bar == 1, z1 z2bar == 0, 
     z1 z3bar == 0, z2 z1bar == 0, z2 z3bar == 0, z3 z1bar == 0, 
     z3 z2bar == 0, z1bar z2 == 0, z1bar z3 == 0, z2bar z1 == 0, 
     z2bar z3 == 0, z3bar z1 == 0, z3bar z2 == 0} /. {z1 -> a1 + b1 I,
      z2 -> a2 + b2 I, z3 -> a3 + b3 I, z1bar -> a1 - b1 I, 
     z2bar -> a2 - b2 I, z3bar -> a3 - b3 I} // Expand;
Reduce[eq, {a1, a2, a3, b1, b2, b3}]

enter image description here

$\endgroup$
2
$\begingroup$
$Version

(* "13.0.1 for Mac OS X x86 (64-bit) (January 28, 2022)" *)

Clear["Global`*"]

(Format[#[n_]] := Subscript[#, n]) & /@ {a, b};

repl = Flatten[{(Symbol["z" <> ToString[#]] -> a[#] + I*b[#]),
      (Symbol["z" <> ToString[#] <> "bar"] -> a[#] - I*b[#])} & /@ 
    Range[4]];

eqns1 = {z1 z1bar + z2 z2bar + z3 z3bar == 1, z1 z2bar == 0, 
    z1 z3bar == 0, z2 z1bar == 0, z2 z3bar == 0, z3 z1bar == 0, 
    z3 z2bar == 0, z1bar z2 == 0, z1bar z3 == 0, z2bar z1 == 0, 
    z2bar z3 == 0, z3bar z1 == 0, z3bar z2 == 0} /. repl;

var1 = Outer[#1[#2] &, {a, b}, Range[3]] // Flatten;

(sol1 = {Reduce[eqns1, var1] // LogicalExpand // ToRules} /. 
  r_Rule?(! FreeQ[#[[1]], Power] &) :> Reverse[r]) // Column

enter image description here

Verifying the solution,

And @@@ (eqns1 /. sol1 // Simplify)

(* {True, True, True, True, True, True} *)

For the second set of equations,

eqns2 = {z1 z1bar + z2 z2bar + z3 z3bar + z4 z4bar == 1, 
    z1 z2bar == 0, z1 z3bar == 0, z1 z4bar == 0, z2 z1bar == 0, 
    z2 z3bar == 0, z2 z4bar == 0, z3 z1bar == 0, z3 z2bar == 0, 
    z3 z4bar == 0, z4 z1bar == 0, z4 z2bar == 0, z4 z3bar == 0, 
    z1bar z2 == 0, z1bar z3 == 0, z1bar z4 == 0, z2bar z1 == 0, 
    z2bar z3 == 0, z2bar z4 == 0, z3bar z1 == 0, z3bar z2 == 0, 
    z3bar z4 == 0, z4bar z1 == 0, z4bar z2 == 0, z4bar z3 == 0} /. 
   repl;

var2 = Outer[#1[#2] &, {a, b}, Range[4]] // Flatten;

(sol2 = {Reduce[eqns2, var2] // LogicalExpand // ToRules}) // Column

enter image description here

Verifying the solution,

And @@@ (eqns2 /. sol2 // Simplify)

(* {True, True, True, True, True, True, True, True} *)
$\endgroup$
2
  • $\begingroup$ Can I quote your code (and name) in a paper that I might (or might not) get published in the future? $\endgroup$
    – Paul
    Commented Feb 22, 2022 at 3:30
  • $\begingroup$ Yes. However, it would be cleaner if you use indexed variables from the start, e.g., {z[1], ..., z[n], zbar[1], ... zbar[n]} $\endgroup$
    – Bob Hanlon
    Commented Feb 22, 2022 at 3:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.