Closed marcusps closed 7 years ago
I should add that most aspects of the atom appear straightforward to implement, it is just not entirely clear to me how to generate the appropriate conical forms, as the docs are somewhat light on how to add features to Convex.jl
.
yes, we need to add more info to the docs on how to add atoms. for now, consider this recipe to make an atom implementing the function f(x):
Convex.jl
, and then call cache_conic_form!
on that problem. I have implemented the partial trace and submitted a PR (#147).
Shall we close this issue @madeleineudell ?
Convex.jl
does not offer a partial trace atom. Partial traces are very common in physics applications (statistical mechanics, quantum information, condensed matter, etc), so it would be very helpful to have such a functionality in the library.Although they are linear maps, they are completely positive linear maps, meaning that they take a positive-semidefinite operator to another positive semi-definite operator even when acting on only part of an operator (i.e., a tensor product factor). As suggested in this mailing list thread, it seems like in order to take advantage of this property the partial trace would have to be implemented as an atom.