@jmiao I believe this can be done using CVXQUAD.https://github.com/hfawzi/cvxquad/9 , which supports quantum_rel_entr(X,Y)
defined as trace(X*(logm(X)-logm(Y))) .
-quantum_rel_entr(x*eye(n), x*eye(n) + Y) = x*log(det(eye(n) + Y/x))
, which is the matrix (quantum) generalization of @mcg’s scalar formula shown in Perspective function .
Full disclosure: I had never used CVXQUAD. @awinick, who tried it, wrote in Adding Quantum Relative Entropy to CVX “I found that both the run time and memory usage meant that I could only consider trivial problems of interest.” But perhaps your problems of interest, if you’re still interested a year later, are smaller than his.
Update: I’ve now tried some optimization with quantum_rel_entr
under CVX 2.1 . As matrix dimension increases, it can take a long time to process even an expression having qunatum_rel_entr, let alone the solver solution time. And you can easily run out of memory.
I encountered an error in kron which I have not tried to diagnose when using it under CVX 3.0beta.