find a matrix transform

125 Views Asked by At

Given a vector $v={(v_1,v_2,...,v_n)}^T$, I would like to find some matrix operations on $v$ to create an $n \times n$ matrix $X$ such that its entry $X_{i,j} $ satisfy (1), (2), (3), (4), respectively.

(1) $X_{i,j} = v_i+v_j$

(2) $X_{i,j} = v_i \cdot v_j$

(3) $X_{i,j} = \frac{1}{v_i}+\frac{1}{v_j}$

(4) $X_{i,j} = \frac{v_i}{v_j}$.

Now, I have found the solutions to (1) and (2):

For (1), I think $X=v \cdot (\vec 1)^T + \vec 1 \cdot v^T $ is a solution, where $\vec 1 $ is a $n \times 1$ vector of all ones.

For (2), I notice that $X=v \cdot v^T $ is a solution.

However, for (3) and (4), I have no solution so far. Any kind hints are more than welcome.


NOTE: The element-wise operations in MATLAB (such as $./$ and $.*$) are not allowed.

1

There are 1 best solutions below

0
On BEST ANSWER

This should do the trick of the "inverse" vector operator:

Define $e_j = [0,0,... 0,1,0,...,0]^T$, where the $1$ falls in the $j^{th}$ place, and zeros elsewhere.

Then $v_j = v^Te_j$.

Now to create a diagonal matrix $V$ with the elements of $v$ on the diagonal:

$V = \sum_{j=1}^n v_j (e_j e_j^T)$.

Then, take the inverse of $V$ to get $1 \over v_j$ as the diagonal elements.

To extract each column vector $c_j$ of $V^{-1}$: $c_j = V^{-1}e_j$.

Then define the "inverse" vector $w = \sum_{j=1} ^ n c_j$.

As first mentioned in the comments, you can then obtain cases (3) and (4) by applying combinations of (1) and (2) to the vectors $v$ and $w$.