How to perform singular value decomposition using MS Excel?

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
13 replies · 12K views
Adel Makram
Messages
632
Reaction score
15
I have a matrix of data and I want to do SVD using excel, is it possible?
 
Physics news on Phys.org
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   Reactions: 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   Reactions: 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?
 
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.
 
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   Reactions: CalcNerd
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   Reactions: CalcNerd
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?