How to solve for $p$ in this equation $x B^p y = a$

61 Views Asked by At

I have the following equation,

$x B^p y = a$

where the vectors $x \in \mathbb{R}^{1\times N}$, $y \in \mathbb{R}^{N\times 1}$, the matrix $B \in \mathbb{R}^{N\times N}$ and the constant $a$ are known. Also, $p \in \mathbb{Z}$ and it is not known.

Is it possible to solve for $p$? Or for $B^p$?

1

There are 1 best solutions below

0
On

One idea is to diagonalize $B=T^{-1}\Lambda T$, and compute $\tilde{x}=xT^{-1}$ and $\tilde{y}=Ty$.

Note that you can then easily compute $B^p=T^{-1}\Lambda^p\, T$ because $\Lambda$ is diagonal, so $\Lambda^p=\text{diag}([\lambda^p_1,\ldots,\lambda_N^p])$.

As for the equation, note that it's equivalent to $$ \sum_i \tilde{x}_i \tilde{y}_i \lambda_i^p = a $$ which you could test different $p$ values to find the solution, for instance. Maybe you'll need non-linear integer programming.