Representing a series of Matrix inner product with a single matrix product.

113 Views Asked by At

I have a set of constraints in my optimization problem, constraints in the form , $\langle A, e_i e_j^T \rangle = r_{ij} ,\forall i,j \epsilon S$, where $A$ is an $n*n$ semidefinite and symmetric matrix, $e_i$ is a vector with $1$ on the $i th$ place and zero else where. Also, $\langle,\rangle$ is the matrix inner product which is $\langle A, B \rangle = trace(A^T B)$ and $S$ is a set of indices. Is there any way I can show all this constraints using some matrices $C$,$D$ in a single matrix product in the form: $ C A = D$, or even in the form of $C A E = D$. Size of the matrices $C$ and $D$ may be large. In my simple case, of course it is obvious that $A_{ij}=r_{ij}$, but I want to represent it in matrix product form. Actually I want to use it in my optimization problem to approximate constraints i.e. , $CA \approx D$.

1

There are 1 best solutions below

1
On

Assuming $e_i$ is a column vector, we have $$ e_i \, e_j^T = \delta_{ij},$$ where $\delta_{ij}$ is the Kronecker delta.

So you have $$\langle A, e_i e_j^T \rangle = r_{ij} ,\forall i,j \in D \iff \langle A, \delta_{ij}\rangle = r_{ij}.$$

Therefore the diagonal of matrix $A$ consists of the entries $r_{ii}$.