Solving for $A$ in $Ax = b$

How does one solve for the matrix $A$ in the system $$ Ax = b$$ when say, $A$ is a $3\times 3$ matrix and $x$ and $b$ are both $3 \times 1$. $x$ and $b$ are obviously known.

The obvious approach would be to Multiply $A$ and $x$ and compare coefficients. How does one solve this in a general setting.


Solution 1:

Write the $m\times n$ matrix $A$ as $$ A=\begin{bmatrix}a_1^T\\\vdots\\a_m^T\end{bmatrix}, $$ so $a_i^T$ are the rows of $A$. Then $Ax=b$ is equivalent to $$ x^Ta_i=b_i,\quad i=1,\ldots,m, $$ that is $$ \begin{bmatrix} x^T & & \\ & \ddots & \\ & & x^T \end{bmatrix} \begin{bmatrix} a_1\\\vdots\\a_m \end{bmatrix} =b. $$ This can be written in a compact form using the Kronecker product as $$\tag{1} (I_m\otimes x^T)a=b, $$ where $a^T=[a_1^T,\ldots,a_m^T]$. So finding $A$ such that $Ax=b$ for given $x$ and $b$ is equivalent to solving (1).

The system (1) does not have a solution if $x=0$ and $b\neq 0$. Otherwise, it is solvable. In addition, if $n>1$, the solution is not uniquely determined as the rank of the $m\times mn$ matrix $I_m\otimes x^T$ is $m$ an hence its nullity is $m(n-1)$. In fact, if $A_0x=b$ for some $A_0$, then $Ax=b$ for any $A$ in the form $A=A_0+Z(I-xx^{\dagger})$, where $x^{\dagger}=\frac{x^T}{x^Tx}$ and $Z$ is arbitrary $m\times n$.