I am working on image procession project and using SVD and L2norm on DenseMatrix. The matrix consists of of 40000 rows and 20 columns. It consists of 20 images of resolution 200200 stacked as matrix columns.
For testing, when I scale the images to be 150150 and below the SVD works correctly.
Working in VS 2010 professional, win7 , 64bit.
The code sample i use:
this.D = new DenseMatrix(rows, cols,0);
for(int i=0; i<rows; i++)
for (int j = 0; j < cols; j++)
{
this.D[i,j] =Matrix_D[i, j]; // Matrix_D is byte[,]
}
float mu_k = this.D.L2Norm();
var svd = D.Svd(true);
MessageBox.Show("SVD OK");
when the Matrix_D size is 180003 I get "out of memory exception"
when the Matrix_D size is 150003 everything is ok.
Same issue here. Besides the "out of memory" issue (which happens with OpenBLAS or MKL providers as well), the calculation is really slow (if I compare with the one in QLNet Library).
From: https://mathnetnumerics.codeplex.com/workitem/5719¨