The problem is the non- negative matrix factorization of a matrix. Let me explain my problem I have an original matrix $A=\begin{bmatrix} 0.248437 &0.25198098 & 0.25396825 & 0.25077881\\ 0.253125& 0.25198098& 0.24761904 &0.24766355\\ 0.248437& 0.24722662& 0.24920634& 0.24766355\\ 0.25& 0.24881141& 0.24920634& 0.25389408 \end{bmatrix}$ and I have a matrix $B=\begin{bmatrix} 0.38331781& 0.385229& 0.384043 &0.381118\\ 0.37776086& 0.377539& 0.381224 &0.381850\\ 0.29993458& 0.300691& 0.298606 &0.299959\\ 0.34108473& 0.337021& 0.335967 &0.337317 \end{bmatrix}$. What I know is that the matrix $B$ is some scaled version of $A$ i.e $PD$ where $P$ is a permutation matrix and $D$ is a diagonal matrix. Can i somehow get an approximation of $A$ from $B$ if I retain some properties of $A$ like the maximum of each row and minimum of each row to get an idea of how much scaling has been done, similarly if I keep a record of each column sum , and its maximum and minimum value. My main question is can I estimate my $A$ from $B$ by keeping some parameters with me beforehand. Can somebody help or suggest some text for this.


1 Answer 1


Under the assumption that the dynamic range per row is unique, the maximum and minimum value per row will be enough to recover the matrix $ \boldsymbol{A} $ from $ \boldsymbol{B} $. Actually, you could just keep the dynamic range ratio, namely $ \frac{\max_{k}}{\min_{k}} $ where $ k $ is the row designator.

You will need another simple assumption which is the validity of the ratio, namely no zero value as the minimum. It can be removed with some tricks (Like defining specific value for division by zero).

The idea is that the ratio is invariant to multiplication by a constant of both values.
Hence you will be able to recover the permutation matrix accurately.

From there, recovering the diagonal matrix is also trivial.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.