
It may severely change the optimization landscape. For instance, if we consider an orthogonal procrustes problem where \(f(X) = \langle M, X\rangle \) , the new cost function becomes \(\langle M, \exp (A)\rangle \) , which has a more complicated structure.To alleviate this problem, it has been proposed to periodically change the foot of the trivialization space during optimization [1]}.

It adds a computational cost which can be significant. Indeed, in a deep learning setting, one needs to differentiate through the \(\exp \)  function. This is done by computing the \(\exp \)  of a matrix of size \(2p\times 2p\) . When \(p\)  is large, this cost may very well be prohibitive, since it is about 8 times as costly as computing the \(\exp \)  of a \(p\times p\)  matrix.
For instance, using the Pytorch implementation of the matrix exponential, on a single laptop CPU, it takes 100ms to compute the \(\exp \)  of a \(1000 \times 1000\)  matrix, while it takes 800ms to compute the exponential of a \(2000 \times 2000\)  matrix.

