I have been solving problems of the form $$max \ log(det(A)) \\ s.t. \ A = A^{T} \succeq 0, \\ p_{i}^{T}Ap_{i} \leq b_{i}$$ where $b_{i}$ and $p_{i}$ are input vectors (to be clear there is more than one vector $b_{i}$ and $p_{i}$), using CVXPY and SCS. What I am finding is that the transformation into canonical form takes a significant amount of time (in fact, it takes longer than actually solving the resulting SDP). My first thought was to do the transformation manually before hand (i.e. express the problem in the form SCS is expecting), but I'm having trouble figuring out how to express $log(det(A))$ in the form of $c^{T}x$.
For reference, SCS solves problems of the form $$min \ c^{T}x \\ s.t. Ax=b, \\ A \in K$$ where $K$ is a convex cone (in this case, the positive semidefinite cone).
My first thought was to define a new variable $L=log(A)$ and now calculate $tr(L)$, but $L=log(A)$ is not a linear constraint so that doesn't seem to get me anywhere. I know this can be done in some form (otherwise CVXPY wouldn't be able to send the problem to SCS in the first place) but it's very much opaque to me.
EDIT: Clarified that there is more than one input vector, and thus more than one constraint on the extent of $A$.