Let $A$ be an $n\times n$ positive integer-valued matrix, that is every entry of $A$ is a a positive integer. Let $\lambda$ be the Perron-Frobenius eigenvalue and $x = (x_1,...,x_n)^T$ the corresponding positive probability eigenvector: $\sum_i x_i =1, \ x_i > 0$. Denote by $H(x)$ the additive subgroup of $\mathbb R$ whose generators are the coordinates of $x, \ H(x) = < x_1,...,x_n >$.

Fix any integer $k \geq 1$ and consider the set of positive integer-valued matrices $\mathcal B_k$ formed by all $n\times n$ matrices $B$ satisfying the following conditions: $\lambda^k$ is the Perron-Frobenius eigenvalue for $B$, and if $By = \lambda^k y,\ \sum_i y_i = 1, y_i >0,$ then $H(y) = H(x)$.

My questions are as follows.

(1) Is there an algorithm describing all matrices from $\mathcal B_k$?

(2) How can one find at least one matrix $B$ in the set $\mathcal B_k$ different from $PA^kP^{-1}$ where $P$ is a permutation matrix?

Comments: (i) The case when $\lambda $ is an integer is not interesting, so that one can assume that $\lambda$ is an algebraic number. (ii) I asked a similar question before but these ones seems formulated in more precise form. (iii) Of course, (2) is simpler than (1), and I actually need a constructive answer to (2).

I'll be glad to see any comments, suggestions, references.