Compare two matrices within constraints

Uncategorized
Sep 11, 2022
Z

I know that F_BB(:,:)-F_BB_1(:,:)== semidefinite(n) can be used if the matrix is nn, but if the two matrices are mn, can they be compared?

M

Eigenvalues are only defined for square matrices. So only square matrices can be (symmetric) positive semidefinite.

For rectangular matrices, singular values are still meaningful. So for instance, if X is a rectangular matrix variable, norm_nuc(X), which is the sum of the singular values of X; or the spectral norm, norm(X), which is the largest singular value of X (which if X is a vector, is the same as the vector 2-norm), are convex and can be used in CVX.

Affine rectangular matrices can be constrained to be equal to each other, which constrains all elements to be equal between the matrices.

Z

Thank you very much for your reply, I would like to ask if it can be written as norm_nuc(F_BB_1)<=norm_nuc(F_BB), if it is to compare each element of them, is it equivalent to F_BB_1(:)<=F_BB(:);

M

norm_nuc(F_BB_1)<=norm_nuc(F_BB), is non-convex due to convex term on RHS of <=. But it’s not what you want.

F_BB_1 <= F_BB is allowed if both sides are variables (or affine expressions). It imposes `<=`` constraint on each corresponding element of LHS and RHS.

Z
Replying to #4

If they are all variables, I can directly write F_BB_1 <= F_BB, then if I want to express F_BB_1 <= a zero matrix of the same size(m*n), how to express this?

M

F_BB_1 <= zeros(m,n)

or equivalently

F_BB_1 <= 0

I suggest you carefully read the entirety of the CVX Users’ Guide.