There is some literature on this although Nonnegative Cholesky would also 
be a good name.

Paper by Da Kuang Chris Ding Haesun Park
http://www.cc.gatech.edu/~dkuang3/pub/sdm0125.pdf

A matlab implementation
https://github.com/andybaoxv/symnmf

A talk by Prof. Park with symnmf featured toward the end
youtube link from mmds 
<https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=6&cad=rja&uact=8&ved=0CEQQtwIwBQ&url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DBnS625hLJNU&ei=O3NKVbb-CMGzggS0yYCgDQ&usg=AFQjCNHMtU6hv6bAIZYigg6Cz5yjcM7PYg&sig2=XI43mEtkCN7j46bMgCvhFA>

We should probably call these methods Low Rank Approximation rather than 
Matrix Factorization because, as Stefan says, there need not be an exact 
solution to A=WH.

On Wednesday, May 6, 2015 at 2:54:15 PM UTC-4, Tim Holy wrote:
>
> What you're asking might be called "nonnegative Cholesky factorization." 
> From 
> a brief search, there seems to be a dearth of literature on that subject. 
> You 
> could be the first! 
>
> --Tim 
>
> On Wednesday, May 06, 2015 09:59:37 AM Lytu wrote: 
> > NMF.jl package can factorize a matrix 3x3 and give two matrix (a 3x2 
> matrix 
> > H and a 2x3 matrix W), W is the transpose of a matrix H? 
> > A = H * W 
> > E.g: 
> > import NMF 
> > A=[5.0 3.0 6.0;3.0 9.0 12.0;6.0 12.0 17.0] 
> > H, W= NMF.randinit(A, 2) 
> > 
> > this code give me 2 matrix H and W 
> > 
> > I know that NMF.randinit() gives two matrix H(3x2) and W(2x3) but W is 
> not 
> > the transpose of a matrix H. 
> > 
> > I would like to know there is a function in NMF package that can give 
> this 
> > such result: 
> > A = H * W with W=H' 
> > Thank you 
>
>

Reply via email to