Constraining the element-wise magnitudes of a matrix

  • Level: Graduate 
  • Thread starter Thread starter weetabixharry
  • Start date Start date
  • Tags Tags
    Magnitudes Matrix
Join the discussion
Registration is free. Start your own thread to ask a follow-up.
2 replies · 3K views
weetabixharry
Messages
111
Reaction score
0
I have a complex matrix, [itex]\textbf{A}[/itex], and I want to left-multiply it by a unitary matrix, [itex]\textbf{U}[/itex] (i.e. [itex]\textbf{U}[/itex] is square and [itex]\textbf{U}^H\textbf{U}=\textbf{I}[/itex]).

The goal is to find the [itex]\textbf{U}[/itex] which yields the optimal solution [itex]\textbf{B}_{opt} \triangleq \textbf{U}\textbf{A}[/itex], where [itex]\textbf{B}_{opt}[/itex] is optimal in the sense that its element-wise magnitudes are all simultaneously as close as possible to unity.

That is, I would like to minimise something like: [itex]\underline{1}^T \left|\left(\left|\textbf{B}_{opt}\right|^2 - \underline{1}\underline{1}^T\right)\right|^2 \underline{1}[/itex] (subject to [itex]\textbf{U}^H\textbf{U}=\textbf{I}[/itex]), where [itex]\left|\textbf{B}_{opt}\right|[/itex] denotes the element-by-element absolute value of [itex]\textbf{B}_{opt}[/itex] and [itex]\underline{1}[/itex] is a column vector of ones.

How can I approach this problem? I have tried to find a solution using Lagrange multipliers, but I can't seem to gain any insight into how to design [itex]\textbf{U}[/itex]. What other sorts of methods are available for this type of problem?

Any advice is greatly appreciated!
 
Physics news on Phys.org
The "element-by-element magnitude squared" can be written

[tex]\mathrm{tr} \, (A^\dagger A)[/tex]

This might be useful.
 
Ben Niehoff said:
The "element-by-element magnitude squared" can be written

[tex]\mathrm{tr} \, (A^\dagger A)[/tex]

This might be useful.

Ah yes - I have been using that expression (sum of element-by-element magnitude squared is the Frobenius norm). It is particularly useful because matrix traces tend to be easy to differentiate.

However, I run into trouble with the [itex]\left|\textbf{B}_{opt}\right|^2[/itex] term, which is not summed. I wrote it as [itex]\left( \textbf{B}_{opt} \odot \textbf{B}_{opt}^* \right)[/itex], where [itex]\odot[/itex] is the Hadamard (element-by-element) product. When differentiated (w.r.t. [itex]\textbf{U}^*[/itex]) this produces an ugly expression with several Hadamard products that I find difficult to work with.

Furthermore, differentiating the constraint term in the Lagrange function seems to give strange results (or perhaps I have made an error)... so I'm looking for any fresh ideas or insights!