Given a non-negative matrix $T$, how to find a orthogonal matrix $O$ minimising
$$ \left\lVert \, |O| - T \right\lVert\_F,$$
where $\lVert \cdot \lVert\_F$ denotes the Frobenius norm, and $| \cdot |$ denotes the entry wise absolute value.
If $|O|$ is replaced with $O$, then this is the classic Orthogonal Procrustes Problem. I don't expect a closed form solution, but rather a way to reduce the dimensionality of the problem and tackle the problem numerically.



Orthogonal Procrustes problem with Absolute Values
Here are alternate encodings based on Sebastian's comments on my previous answer. 


**Comment:** If you want to constrain the solutions found to a particular sign pattern matrix then an additional $mn$ linear inequalities added to the above formulation can do the job. 


**Encoding 1:** Here is another encoding of the problem that reifies the absolute value matrix. **This one is efficient**.


Let $ |O| = \tilde{O}$ 


1. The objective becomes $||\tilde{O} - T||\_F$, a order 2 polynomial in $\tilde{O}$.
2. $O$ is orthogonal, i.e. $O^TO$ is diagonal. Quadratic constraints again.
3. $\tilde{O} = |O|$ which means either $\tilde{O}\_{ij} = O\_{ij} \text{ if } O\_{ij} > 0$, or $\tilde{O}\_{ij} = -O\_{ij} \text{ if } O\_{ij} \le 0$. This can be coded as $\tilde{O}\_{ij} \ge 0$ and $\tilde{O}\_{ij}^2 = O\_{ij}^2$, which is a linear and a quadratic constraint.


**Encoding 2:** Here is another encoding of the problem that uses sign pattern matrices. But its really inefficient.


We can use the kronecker product to express $ |O| = O \odot sign(O) $, 
So let $O, \tilde{O}$ be the orthogonal matrix and its signed counterpart respectively. Now,


1. The objective becomes $||O \odot \tilde{O} - T||\_F$, a order 4 polynomial in $\tilde{O}, O$.
2. $O$ is orthogonal, i.e. $O^TO$ is diagonal,
3. $\tilde{O} = sign(O)$ which means $\tilde{O}\_{ij} O\_{ij} > 0\ \forall i,j$, and $\tilde{O}\_{ij} \in \{0, 1\}$


This encoding of the problem is not practical because it's now an IP with a fourth order polynomial. There might be ways to improve this encoding but that's future work :)


