magicl
magicl copied to clipboard
Implement optimization strategies for functions of orthogonal matrices
Implement generic versions of some of the algorithms described here: https://arxiv.org/abs/physics/9806030 .
I have used this stuff for a side-project recently via pymanopt. If there's a (business) case for implementing this functionality in MAGICL but you're currently too busy, then I'd love to take care of it.
Definitely! The business case is the one described in VII.A here: https://arxiv.org/pdf/1904.10541.pdf . The "searching" compiler templates in src/compilers/approx.lisp
currently use a high-dimensional Nelder-Mead instance to optimize a function over the space of single qubit operators, which is simultaneously slow and unreliable. After conjugation by the "magic operator" (i.e., +e-basis+
), it's equivalent to optimize the (smooth) function over the space of orthogonal operators, which I'd hope would be much speedier.
I tried implementing this some months ago (wow! really, in February?) and got myself into trouble with poor numerics. I'd be very glad to have it implemented by someone else.