# Matrix transpose multiplication

In CVX, I encounter a problem. I want to multiply a Matrix of 2x4 with its transpose. I know the result must be positive definite. However, it couldn't let me do the multiplication directly. Says: Disciplined convex programming error:Only scalar quadratic forms can be specified in CVX. What can I do?

cvx_begin variable power_allocation(length(anchor_coordinate.x),1) minimize sum(power_allocation) subject to Matrix = process_matrix_inv'*(observation_matrix(:,:,t*n+1)'*diag(power_allocation.*path_loss(:,t*n+1))* observation_matrix(:,:,t*n+1)+prior_infor(:,:,t*n))*process_matrix_inv; A = Matrix(1:2,3:6)*D*Matrix(1:2,3:6)'; trace_inv(Matrix(1:2,1:2)-A) <= MSE_limit; power_allocation <= power_max; power_allocation >= power_min; cvx_end

• the matrix D is a symmetrical matrix. – tian qing Mar 12 '16 at 11:05
• I tone the end of the post down a bit. – Dirk Mar 12 '16 at 17:12
• As a small remark, the product of a matrix and its transpose doesn't have to be positive definite. It can be positive semidefinite. Try, for example, with a matrix that has a zero column, or is in fact entirely composed of zeros. – Wolfgang Bangerth Mar 12 '16 at 17:54

$(Ax-b)^{T}Q(Ax-b)$