How to express convex problem in CVX (yes, it is convex)

Below I describe a convex optimization problem on the semidefinite cone. It is convex, but I am unsure how to express it using CVX (it is convex but not obviously DCP-convex). In the description below, I use the short hand \sqrt{X} to denote the positive semidefinite square-root of a matrix X \succeq 0.

Please provide a proof that the map is concave.Is your proof 'constructive"?

@Mark_L_Stone, I am glad to provide a proof below.

I am not sure if this qualifies as “constructive,” but it wouldn’t appear to be so (for instance, the limiting argument).

Restrict to P being invertible (strictly positive definite).

The first term of the “Finally note that” formula can be omitted from the objective because it is a constant. The 2nd term is -matrix_frac(inv(P)*z,X+inv(P)). You can compute inv(P) once, or use P\z for the first argument, or whatever, as you see fit.

If P is too close to being singular, perhaps this will be numerically unstable.

The issue is that unfortunately my data do not satisfy that \{P_k\} are invertible. For instance, many of them are rank-one or rank-two.

Then I don 't know what you would do. Perhaps you could add a small multiple of the Identity matrix to make them strictly positive definite, but I have no idea whether you could do so in a manner which doesn’t do excessive injustice to the (accuracy of the) solution, and while also not being too bad from a numerical stability standpoint. I leave that for you to determine. if you do do this, I recommend using Mosek as solver, because it is more numerically robust than SeDuMi or SDPT3, and also provides better diagnostic information, as well as solver developers who read this forum.

if someone else has another solution, they should feel free to post it.