# Solving a system of linear equations with complex unknown

I am trying to solve the system of equations which is given by $$ABA^*=-B$$, where A is $$2\times2$$ matrix, $$A^*$$ is a conjugate transpose of $$A$$ and $$B$$ is a $$2 \times 2$$ unitary matrix. Entries of both $$A$$ and $$B$$ are some complex numbers.

I set

A = {{a,b},{c,d}} AConjugate = ConjugateTranspose[A] B = {{i,j},{k,l}}

And

G = A.B.AConjugate + B

It follows from $$B$$ being unitary that ConjugateTranspose[B].B is the $$2\times2$$ identity matrix, which gives us the following assumptions about the entries of $$B$$:

i*Conjugate[i]+ k*Conjugate[k]==1 && j*Conjugate[j]+ l*Conjugate[l]==1 && i*Conjugate[j]+ k*Conjugate[l]==0 && j*Conjugate[i]+ l*Conjugate[k]==0

I tried to use Solve:

Solve[{G==ConstantArray[0,{2,2}], i*Conjugate[i]+ k*Conjugate[k]==1 && j*Conjugate[j]+ l*Conjugate[l]==1 && i*Conjugate[j]+ k*Conjugate[l]==0 && j*Conjugate[i]+ l*Conjugate[k]==0 },{a,b,c,d,i,j,k,l},Complexes]

But this runs forever without spitting the solution out. The same goes for Reduce:

Reduce[G==ConstantArray[0,{2,2}] && i*Conjugate[i]+ k*Conjugate[k]==1 && j*Conjugate[j]+ l*Conjugate[l]==1 && i*Conjugate[j]+ k*Conjugate[l]==0 && j*Conjugate[i]+ l*Conjugate[k]==0 ,{a,b,c,d,i,j,k,l},Complexes]

Any ideas why? Am I setting this up correctly?

• I have seen adding a domain spec to the end of Solve or Reduce taking vastly longer than if it just solved the problem in general and then selected those which satisfy the domain. This Simplify[Reduce[G==ConstantArray[0,{2,2}] && i*Conjugate[i]+ k*Conjugate[k]==1 && j*Conjugate[j]+ l*Conjugate[l]==1 && i*Conjugate[j]+ k*Conjugate[l]==0 && j*Conjugate[i]+ l*Conjugate[k]==0 ,{a,b,c,d,i,j,k,l}],G==0] very quickly finds you a "solution" but I question whether it is going to be in a form acceptable to you. Usually telling Mathematica to use complexes is redundant, that's often the default. – Bill Jun 27 at 15:50
• @Bill thank you! – amator2357 Jun 28 at 7:37