Calculators How to perform singular value decomposition using MS Excel?

AI Thread Summary
SVD (Singular Value Decomposition) can be performed in Excel using VBA macros, as there are no straightforward formula-based methods available. Users can find existing macros or write their own by following online tutorials on VBA syntax. A Google search for "Excel singular value decomposition" yields several resources, although some may not provide directly applicable code for all matrix sizes. It is noted that code found online often requires adaptation to fit specific needs. Additionally, importing Excel data into MATLAB or Octave is suggested as an alternative for performing linear algebra operations, with CSV format being a viable option for data export.
Adel Makram
Messages
632
Reaction score
15
I have a matrix of data and I want to do SVD using excel, is it possible?
 
Computer science news on Phys.org
You can write a macro in VBA, or look for existing macros. I don't see a practical way to do it with formulas alone.
 
So how to write the code for SVD in excel for mn matrix?
 
In the same way as in every other programming language. There are tutorials for writing macros in Excel, for VBA syntax, and there are examples of SVD code as well.
 
Have you tried a Google search for something like "excel singular value decomposition"? That search turns up results that look promising, although I haven't investigated any of them myself.
 
  • Like
Likes S.G. Janssens
mfb said:
In the same way as in every other programming language. There are tutorials for writing macros in Excel, for VBA syntax, and there are examples of SVD code as well.
I do not know the programming language but I can copy the code and use it according to the problem I have. That is why I created this thread.
 
So what do you expect, that others do google searches for you when you can do that as well?
 
  • Like
Likes S.G. Janssens
mfb said:
So what do you expect, that others do google searches for you when you can do that as well?
I expect a code. Searching in google is non-specific but asking questions here would be more helpful.
 
excel_svd.png


This is what I got. It looks promising. Why don't you try to reproduce the above by performing a similar Google search?
 
  • #10
Krylov said:
View attachment 108457

This is what I got. It looks promising. Why don't you try to reproduce the above by performing a similar Google search?
I did but I didn't find a reproducible code. For example the first link discusses the theoretical background. There is however, a code in the second link but it is only for 3/2 matrix or something. I need the code that can fit for any matrix.
 
  • #11
Adel Makram said:
I did but I didn't find a reproducible code. For example the first link discusses the theoretical background. There is however, a code in the second link but it is only for 3/2 matrix or something. I need the code that can fit for any matrix.
What about the 4th link? It is to a journal article that received quite a few (114, apparently) citations. I checked and the article is available free of charge. Macros seem downloadable as well.

In general you will often have to adapt (research) code that you find online to suit your own specific needs. This is something that requires a bit of practice. I am quite sure that among those links you will find code that either works straight away or only requires minor modifications.
 
  • Like
Likes CalcNerd
  • #12
Another option that I have applied successfully in the past, is to import the relevant Excel sheet in MATLAB and then do whatever linear algebra that you would like. (If you do not have MATLAB, you could try to export the Excel sheet to .CSV format and then use Octave instead.)
 
  • Like
Likes CalcNerd
  • #13
Krylov said:
Another option that I have applied successfully in the past, is to import the relevant Excel sheet in MATLAB and then do whatever linear algebra that you would like. (If you do not have MATLAB, you could try to export the Excel sheet to .CSV format and then use Octave instead.)
What is CSV?
 
Back
Top