Is it feasible to find a real matrix which makes any other matrix unitary

40 Views Asked by At

I have a square matrix $G = \begin{bmatrix} 0.7500&-0.2500 &-0.2500 &-0.2500 \\ -0.2500& 0.7500&-0.2500 &-0.2500 \\ -0.2500&-0.2500 &0.7500 &-0.2500 \\ -0.2500&-0.2500 &-0.2500 &0.7500 \end{bmatrix}$, Is possible to get a real matrix $Y$ such that $G \times Y = K$ where $K$ is a $4 \times 4$ unitary matrix.

By using the easy way, which is forcing $Y = G^{-1} \times K$, it doesn't result of a unitary matrix $K$ ! So is there another way like using optimization or any other way to solve that problem?

2

There are 2 best solutions below

0
On BEST ANSWER

I have interpreted your problem as finding a a $Y$, such that $G*Y$ is a unitary matrix (call it $K$), not that a particular unitary matrix $K$ is pre-specified.

This is not possible for all $G$. In particular, your $G$ is singular, i.e., not invertible, which makes it impossible.

However, if such a $K$ exists, it can be found by solving a system of quadratic equations, which among other ways, can be accomplished using a nonlinear optimization solver (capable of handling quadratic equality constrains), and providing it a problem having no (or zero) objective function.

That can be accomplished by creating optimization matrix variables Y and invY, and specifying the constraints Y*invY = Identity_matrix, and (G*Y)'==invY*inv(G), where ' specifies transpose and inv means matrix inverse.

Here is the YALMIP (under MATLAB) code:

Y=sdpvar(4,4,'full'); 
invY=sdpvar(4,4,'full');
optimize([(G*Y)'==invY*inv(G),Y*invY==eye(4)],[],sdpsettings('solver','baron'))

As an example, if your $G$ is modified by setting its (1,1) element to 0.7, it is no longer singular. Applying the method outlined above, we arrive at

Y

 -19.815520233580767  28.186310970075887 -15.849250414969466  12.715277938855765
 -18.674543330881072  26.718681591578935 -16.101758716898427  11.140325471936523
 -19.755157428247266  26.053721575645397 -15.617162253579746  11.534365617631751
 -19.388727504190879  27.007123303100069 -14.963612436075421  10.806610917573595

(G*Y)'

   0.583742902323269   0.733943793343923  -0.346670304022271   0.019759620034117
  -0.214463938527982  -0.272777768521135  -0.937737784454675   0.015663942999996
   0.576158061159773  -0.468812761517661   0.015783701801019   0.669333519305345
   0.530369055413568  -0.408819514562885  -0.014779368867657  -0.742534068925814

inv(G*Y)

   0.583742896833751   0.733943787472332  -0.346670296401688   0.019759624086230
  -0.214463940413727  -0.272777770647412  -0.937737779755673   0.015663942325358
   0.576158062762508  -0.468812759628548   0.015783701329608   0.669333516108472
   0.530369052689460  -0.408819516956048  -0.014779367796972  -0.742534064609338

where (G*Y)' and inv(G*Y) agree to within the solver precision of 1e-8.

0
On

For your $G$ the answer is no. Letting $\mathbf 1$ be the vector of 1's we have
$\mathbf 0 =G\mathbf 1 $ thus
$\text{rank}\big(GY\big) \leq \text{rank}\big(G\big)\lt 4 = \text{rank}\big(K\big)$
but $GY=K\implies \text{rank}\big(GY\big) = \text{rank}\big(K\big)$ so $GY=K$ is impossible