About SVD running time in Matlab and in C code which produced by Matlab coder.
    6 views (last 30 days)
  
       Show older comments
    
    WillandSmith
 on 13 Aug 2015
  
    
    
    
    
    Commented: WillandSmith
 on 14 Aug 2015
            I use SVD like code below [U,S,V] = svd(PhiG,'econ'); which PhiG is double complex matrix with dimension 60*1024. In matlab code ,the SVD running time is about 0.04 second. However ,after I compile the matlab code to C code using matlab coder.The svd running time is about 4.0+s,which is about 100 times compared to the running time in Matlab code. I have noticed that the Matlab using lapack code to calculate SVD. So the difference in running time due to Fortran code beneath Matlab code? Or is there any other reason? And how can I improve the running time in C code? Thanks a lot for any feedback.
0 Comments
Accepted Answer
  Walter Roberson
      
      
 on 13 Aug 2015
        If you can use C++ then perhaps http://math.nist.gov/tnt/jama_doxygen/class_JAMA__SVD.html or something in http://lapackpp.sourceforge.net/
Your options are going to depend upon your target platform. For example if you are aiming at MS Windows then you may be able to call upon https://en.wikipedia.org/wiki/Math_Kernel_Library
3 Comments
  Walter Roberson
      
      
 on 13 Aug 2015
				Relevant information that I dug up a couple of months ago from a different context, about what is available for ARM: http://www.mathworks.com/matlabcentral/answers/122248#answer_179228
More Answers (0)
See Also
Categories
				Find more on Call C++ from MATLAB in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
