calculating $y$ from the equation $u^Tv=x^Ty$ (all vectors)

85 Views Asked by At

Is it possible to calculate $y$ from the equation $u^Tv=x^Ty$ , where $x,y,u, v$ are all vectors? Assume $u,v,x$ are known and $y$ is unknown. Moreover, all the vectors have the same size, $n\times1$. We assume $y_i>0,~ x_i\ge 0,~v_i\ge0, 0\le u_i\le1 ~\forall i\in(1,\ldots,n)$ and $\sum_i^n u_i=1$.

1

There are 1 best solutions below

6
On BEST ANSWER

Let $k = u^Tv \in \Bbb R$. The equation you are solving for $y$ is $$ x^Ty = k $$ That is, given constants $k$ and $x_i$ you're trying to solve the equation $$ x_1 y_1 + \cdots + x_n y_n = k $$ for the variables $y_i$. If $x \neq 0$ and $n > 1$, this system of equations will necessarily have infinitely many solutions.


Given your new constraints, the system you describe will have infinitely many solutions when $x \neq 0$. In particular: let $i$ be such that $x_i > 0$. We have the solution $$ y_j = \begin{cases} k/x_i & j = i\\ 0 & j \neq i \end{cases} $$ Moreover, your set of solutions will form a closed convex set. That is to say: let $t$ be an arbitrary value between $0$ and $1$. If $y_1,y_2$ are solutions to your system, then $y_1 + (1-t)y_2$ is another solution.

Also, if any of the $x_i$ are $0$, then changing the corresponding entry $y_i$ of a vector $y$ does not affect whether $y$ is a solution.