The discussion in the bindings PR in CVXPY: cvxpy/cvxpy#3365 prompted this issue.
Since the hessian code for quad form with a single variable x as the second argument simply scales P.
Then it is mostly beneficial to skip all the nonzeros and converting the matrix to sparse (even when it is almost 85% dense).
My understanding is that the hessian path would indeed be faster in the sparse case,
but the dense case should be a lot faster in the forward modes since it can use BLAS to compute Px.
Anyhow, there is a lot more exploration to understand and improve this over time.
The discussion in the bindings PR in CVXPY: cvxpy/cvxpy#3365 prompted this issue.
Since the hessian code for quad form with a single variable
xas the second argument simply scales P.Then it is mostly beneficial to skip all the nonzeros and converting the matrix to sparse (even when it is almost 85% dense).
My understanding is that the hessian path would indeed be faster in the sparse case,
but the dense case should be a lot faster in the
forwardmodes since it can use BLAS to compute Px.Anyhow, there is a lot more exploration to understand and improve this over time.