1

I want to start with a mxn matrix A and factorise it into two matrices mxr and rxn. r can be greater than the dimensions of matrix A.

nnmf allows only for r< min(size(A))

Is there a way I can factorise the matrix into two matrices?

TRiG
  • 10,148
  • 7
  • 57
  • 107
simar
  • 544
  • 2
  • 7
  • 15
  • 1
    you need to be more specific on what kind of factorization you want. To me, it doesn't make sense to have r greater than min(size(A)) unless you are trying to find an overcomplete sparse basis set. In that case you need more constraints on what you want. – Memming Mar 07 '12 at 15:47

2 Answers2

1

You can visit Professor Haesun Park's Academic Home Page and download this package from there.

Actually she implements Non-Negative Matrix Factorization with Alternating Non-Negativity-constrained Least Squares and Block Principal Pivoting / Active Set Methods in Matlab.

Also you can find implementation of Mixed Membership Matrix Factorization (M3F) in Matlab, here.

oMiD
  • 322
  • 4
  • 20
1

There are some factorization functions available in matlab, see here: http://www.matrixlab-examples.com/matrix-decomposition.html

e.g. LU / qr - factorization, cholesky etc...

tim
  • 9,896
  • 20
  • 81
  • 137