Content deleted Content added
Citation bot (talk | contribs) Altered issue. Add: bibcode, volume, article-number. Removed URL that duplicated identifier. Removed access-date with no URL. Removed parameters. Some additions/deletions were parameter name changes. | Use this bot. Report bugs. | Suggested by Headbomb | Linked from Wikipedia:WikiProject_Academic_Journals/Journals_cited_by_Wikipedia/Sandbox | #UCB_webform_linked 474/967 |
|||
(48 intermediate revisions by 23 users not shown) | |||
Line 1:
{{Short description|Matrix decomposition}}
{{Use dmy dates|date=October 2020}}
{{CS1 config|mode=cs1}}
[[File:Singular-Value-Decomposition.svg|thumb|Illustration of the singular value decomposition {{math|'''UΣV'''<sup>⁎</sup>}} of a real {{math|2 × 2}} matrix {{math|'''M'''}}.{{ubli
Line 22 ⟶ 23:
where <math>r \leq \min\{m,n\}</math> is the rank of {{tmath|\mathbf M.}}
The SVD is not unique
The term sometimes refers to the '''compact SVD''', a similar decomposition {{tmath|\mathbf M {{=}} \mathbf{U\Sigma V}^*}} in which {{tmath|\mathbf \Sigma}} is square diagonal of size {{tmath|r \times r,}} where {{tmath|r \leq \min\{m,n\} }} is the rank of {{tmath|\mathbf M,}} and has only the non-zero singular values. In this variant, {{tmath|\mathbf U}} is an {{tmath|m \times r}} [[semi-orthogonal matrix|semi-unitary matrix]] and <math>\mathbf{V}</math> is an {{tmath|n \times r}} [[semi-orthogonal matrix|semi-unitary matrix]], such that <math>\mathbf U^* \mathbf U = \mathbf V^* \mathbf V = \mathbf I_r.</math>
Mathematical applications of the SVD include computing the [[Moore–Penrose pseudoinverse|pseudoinverse]], matrix approximation, and determining the rank, [[range of a matrix|range]], and [[kernel (matrix)|null space]] of a matrix. The SVD is also extremely useful in
== Intuitive interpretations ==
Line 133 ⟶ 134:
\end{align}</math>
This particular singular value decomposition is not unique.
<math display=block>\mathbf{V}^* = \begin{bmatrix}
\color{Magenta}
\color{Orchid}\sqrt{0.4} & \color{Orchid}0 & \color{Orchid}0 & \color{Orchid}\sqrt{0.5} & \color{Orchid}-\sqrt{0.1} \\
\color{Purple}-\sqrt{0.4} & \color{Purple}0 & \color{Purple}0 & \color{Purple}\sqrt{0.5} & \color{Purple}\sqrt{0.1}
\end{bmatrix}</math>
and get an equally valid singular value decomposition. As the matrix {{tmath|\mathbf M}} has rank 3, it has only 3 nonzero singular values. In taking the product {{tmath|\mathbf{U}\mathbf{\Sigma} \mathbf{V}^* }}, the final column of {{tmath|\mathbf U}} and the final two rows of {{tmath|\mathbf{V^*} }} are multiplied by zero, so have no effect on the matrix product, and can be replaced by any unit vectors which are orthogonal to the first three and to each-other.
The [[#Compact SVD|compact SVD]], {{tmath|1= \mathbf M = \mathbf{U}_r\mathbf{\Sigma}_r \mathbf{V}_r^* }}, eliminates these superfluous rows, columns, and singular values:
<math display=block>\begin{align}
\mathbf{U}_r &= \begin{bmatrix}
\color{Green}0 & \color{Blue}-1 & \color{Cyan}0 \\
\color{Green}-1 & \color{Blue}0 & \color{Cyan}0 \\
\color{Green}0 & \color{Blue}0 & \color{Cyan}0 \\
\color{Green}0 & \color{Blue}0 & \color{Cyan}-1
\end{bmatrix} \\[6pt]
\mathbf \Sigma_r &= \begin{bmatrix}
3 & 0 & 0 \\
0 & \sqrt{5} & 0 \\
0 & 0 & 2
\end{bmatrix} \\[6pt]
\mathbf{V}^*_r &= \begin{bmatrix}
\color{Violet}0 & \color{Violet}0 & \color{Violet}-1 & \color{Violet}0 &\color{Violet}0 \\
\color{Plum}-\sqrt{0.2}& \color{Plum}0 & \color{Plum}0 & \color{Plum}0 &\color{Plum}-\sqrt{0.8} \\
\color{Magenta}0 & \color{Magenta}-1 & \color{Magenta}0 & \color{Magenta}0 &\color{Magenta}0
\end{bmatrix}
\end{align}</math>
== SVD and spectral decomposition ==
=== Singular values, singular vectors, and their relation to the SVD ===
A non-negative real number {{tmath|\sigma}} is a '''[[singular value]]''' for {{tmath|\mathbf M}} if and only if there exist [[unit
<math display=block>\begin{align}
Line 192 ⟶ 216:
In the special case of {{tmath|\mathbf M}} being a [[normal matrix]], and thus also square, the [[Spectral theorem#Finite-dimensional case|spectral theorem]] ensures that it can be [[Unitary transform|unitarily]] [[Diagonalizable matrix|diagonalized]] using a basis of [[eigenvector]]s, and thus decomposed as {{tmath|\mathbf M {{=}} \mathbf U\mathbf D\mathbf U^*}} for some unitary matrix {{tmath|\mathbf U}} and diagonal matrix {{tmath|\mathbf D}} with complex elements {{tmath|\sigma_i}} along the diagonal. When {{tmath|\mathbf M}} is [[Positive-definite matrix|positive semi-definite]], {{tmath|\sigma_i}} will be non-negative real numbers so that the decomposition {{tmath|\mathbf M {{=}} \mathbf U \mathbf D \mathbf U^*}} is also a singular value decomposition. Otherwise, it can be recast as an SVD by moving the phase {{tmath|e^{i\varphi} }} of each {{tmath|\sigma_i}} to either its corresponding {{tmath|\mathbf V_i}} or {{tmath|\mathbf U_i.}} The natural connection of the SVD to non-normal matrices is through the [[polar decomposition]] theorem: {{tmath|\mathbf M {{=}} \mathbf S \mathbf R,}} where {{tmath|\mathbf S {{=}} \mathbf U \mathbf\Sigma \mathbf U^*}} is positive semidefinite and normal, and {{tmath|\mathbf R {{=}} \mathbf U \mathbf V^*}} is unitary.
Thus, except for positive semi-definite matrices, the eigenvalue decomposition and SVD of {{tmath|\mathbf M,}} while related, differ: the eigenvalue decomposition is {{tmath|1= \mathbf M = \mathbf U \mathbf D \mathbf U^{-1},}} where {{tmath|\mathbf U}} is not necessarily unitary and {{tmath|\mathbf D}} is not necessarily positive semi-definite, while the SVD is {{tmath|1= \mathbf M = \mathbf U \mathbf \Sigma \mathbf V^*,}} where {{tmath|\mathbf \Sigma}} is diagonal and positive semi-definite, and {{tmath|\mathbf U}} and {{tmath|\mathbf V}} are unitary matrices that are not necessarily related except through the matrix {{tmath|\mathbf M.}} While only [[defective matrix|non-defective]] square matrices have an eigenvalue decomposition, any {{tmath|m \times n}} matrix has a SVD.
==Applications of the SVD==
Line 206 ⟶ 230:
===Solving homogeneous linear equations===
A set of [[homogeneous linear equation]]s can be written as {{tmath|\mathbf A \mathbf x {{=}} \mathbf 0}} for a matrix {{tmath|\mathbf A}}, vector {{tmath|\mathbf x}}, and [[zero vector]] {{tmath|\mathbf
===Total least squares minimization===
Line 224 ⟶ 248:
where <math>\tilde{\mathbf \Sigma}</math> is the same matrix as <math>\mathbf \Sigma</math> except that it contains only the {{tmath|r}} largest singular values (the other singular values are replaced by zero). This is known as the '''[[Low-rank approximation|Eckart–Young theorem]]''', as it was proved by those two authors in 1936 (although it was later found to have been known to earlier authors; see {{harvnb|Stewart|1993}}).
=== Image compression ===
[[File:Svd compression.jpg|thumb|Singular-value decomposition (SVD) image compression of a 1996 Chevrolet Corvette photograph. The original RGB image (upper-left) is compared with rank 1, 10, and 100 reconstructions.|292x292px]]One practical consequence of the low-rank approximation given by SVD is that a [[greyscale image]] represented as an <math>m \times n</math> matrix <math>\mathbf{A}</math>, can be efficiently represented by keeping the first <math>k</math> singular values and corresponding vectors. The truncated decomposition
<math>\mathbf{A}_k = \sum_{j=1}^k \sigma_j\mathbf{u}_j \mathbf{v}_j^T </math>
gives an image with the best 2-norm error out of all rank k approximations. Thus, the task becomes finding an approximation that balances retaining perceptual fidelity with the number of vectors required to reconstruct the image. Storing <math>\mathbf{A}_k</math> requires only <math>k(n + m + 1)</math> floating-point numbers compared to <math>nm</math> integers. This same idea extends to color images by applying this operation to each channel or stacking the channels into one matrix.
Since the singular values of most natural images decay quickly, most of their variance is often captured by a small <math>k</math>. For a 1528 × 1225 greyscale image, we can achieve a relative error of <math>.7%</math> with as little as <math>k = 100</math>.<ref>{{Cite book |author1=Holmes |first=Mark |title=Introduction to Scientific Computing and Data Analysis, 2nd Ed |publisher=Springer |year=2023 |isbn=978-3-031-22429-4}}</ref> In practice, however, computing the SVD can be too computationally expensive and the resulting compression is typically less storage efficient than a specialized algorithm such as [[JPEG]].
===Separable models===
Line 242 ⟶ 274:
===Nearest orthogonal matrix===
It is possible to use the SVD of a square matrix {{tmath|\mathbf A}} to determine the [[orthogonal matrix]] {{tmath|\mathbf
A similar problem, with interesting applications in [[shape analysis (digital geometry)|shape analysis]], is the [[orthogonal Procrustes problem]], which consists of finding an orthogonal matrix {{tmath|\mathbf
<math display=block>
\mathbf
</math>
Line 256 ⟶ 288:
===The Kabsch algorithm===
The [[Kabsch algorithm]] (called [[Wahba's problem]] in other fields) uses SVD to compute the optimal rotation (with respect to least-squares minimization) that will align a set of points with a corresponding set of points. It is used, among other applications, to compare the structures of molecules.
===Principal Component Analysis===
The SVD can be used to construct the principal components<ref>{{cite book |last=Hastie |first=Trevor |author2=Robert Tibshirani |author3=Jerome Friedman |title=The Elements of Statistical Learning |edition=2nd |year=2009 |publisher=Springer |___location=New York |pages=535–536 |isbn=978-0-387-84857-0}}</ref> in [[principal component analysis]] as follows:
Let <math>\mathbf{X} \in \mathbb{R}^{N \times p}</math> be a data matrix where each of the <math>N</math> rows is a (feature-wise) mean-centered observation, each of dimension <math>p</math>.
The SVD of <math>\mathbf{X}</math> is:
<math display="block">
\mathbf{X} = \mathbf{V} \boldsymbol{\Sigma} \mathbf{U}^\ast
</math>
From the same reference,<ref>{{cite book |last=Hastie |first=Trevor |author2=Robert Tibshirani |author3=Jerome Friedman |title=The Elements of Statistical Learning |edition=2nd |year=2009 |publisher=Springer |___location=New York |pages=535–536 |isbn=978-0-387-84857-0}}</ref> we see that <math>\mathbf{V} \boldsymbol{\Sigma}</math> contains the scores of the rows of <math>\mathbf{X}</math> (i.e. each observation), and <math>\mathbf{U}</math> is the matrix whose columns are principal component loading vectors.
===Signal processing===
The SVD and pseudoinverse have been successfully applied to [[signal processing]],<ref>{{cite journal |last=Sahidullah |first=Md. |author2=Kinnunen, Tomi |title=Local spectral variability features for speaker verification |journal=Digital Signal Processing |date=March 2016 |volume=50 |pages=1–11 |doi=10.1016/j.dsp.2015.10.011 |bibcode=2016DSP....50....1S |url= https://erepo.uef.fi/handle/123456789/4375}}<!--https://erepo.uef.fi/handle/123456789/4375--></ref> [[image processing]]<ref name="Mademlis2018">{{cite book |last1=Mademlis |first1=Ioannis |last2=Tefas |first2=Anastasios |last3=Pitas |first3=Ioannis |title=2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) |chapter=Regularized SVD-Based Video Frame Saliency for Unsupervised Activity Video Summarization
{{Cite journal
| author = O. Alter, P. O. Brown and D. Botstein
Line 334 ⟶ 378:
Interestingly, SVD has been used to improve gravitational waveform modeling by the ground-based gravitational-wave interferometer aLIGO.<ref>{{cite journal | last1 = Setyawati | first1 = Y. | last2 = Ohme | first2 = F. | last3 = Khan | first3 = S. | year = 2019| title = Enhancing gravitational waveform model through dynamic calibration | journal = Physical Review D | volume = 99| issue =2 | pages = 024010| doi=10.1103/PhysRevD.99.024010| bibcode = 2019PhRvD..99b4010S | arxiv = 1810.07060 | s2cid = 118935941 }}</ref> SVD can help to increase the accuracy and speed of waveform generation to support gravitational-waves searches and update two different waveform models.
Singular value decomposition is used in [[recommender systems]] to predict people's item ratings.<ref>{{cite
Low-rank SVD has been applied for hotspot detection from spatiotemporal data with application to disease [[outbreak]] detection.<ref>{{Cite journal
Line 360 ⟶ 404:
In [[astrodynamics]], the SVD and its variants are used as an option to determine suitable maneuver directions for transfer trajectory design<ref name=muralidharan2023stretching>{{Cite journal|title=Stretching directions in cislunar space: Applications for departures and transfer design|first1=Vivek|last1=Muralidharan|first2=Kathleen|last2=Howell|journal =Astrodynamics | volume = 7 | issue = 2| pages = 153–178 | date = 2023 | doi = 10.1007/s42064-022-0147-z | bibcode = 2023AsDyn...7..153M|s2cid=252637213 }}</ref> and [[orbital station-keeping]].<ref name=Muralidharan2021>{{Cite journal|title=Leveraging stretching directions for stationkeeping in Earth-Moon halo orbits |first1=Vivek|last1=Muralidharan|first2=Kathleen|last2=Howell|journal =[[Advances in Space Research]] | volume = 69 | issue = 1| pages = 620–646 | date = 2022 | doi = 10.1016/j.asr.2021.10.028 | bibcode = 2022AdSpR..69..620M|s2cid=239490016 }}</ref>
The SVD can be used to measure the similarity between real-valued matrices.<ref name=albers2025>{{Cite journal|title=Assessing the Similarity of Real Matrices with Arbitrary Shape|first1=Jasper|last1=Albers|first2=Anno|last2=Kurth|first3=Robin|last3=Gutzen|first4=Aitor|last4=Morales-Gregorio|first5=Michael|last5=Denker|first6=Sonja|last6=Gruen|first7=Sacha|last7=van Albada|first8=Markus|last8=Diesmann|journal=PRX Life| issue = 2| article-number = 023005 | date = 2025 |volume=3 | doi = 10.1103/PRXLife.3.023005 |arxiv=2403.17687 |bibcode=2025PRXL....3b3005A }}</ref> By measuring the angles between the singular vectors, the inherent two-dimensional structure of matrices is accounted for. This method was shown to outperform [[cosine similarity]] and [[Frobenius norm]] in most cases, including brain activity measurements from [[neuroscience]] experiments.
== Proof of existence ==
Line 371 ⟶ 417:
By the [[extreme value theorem]], this continuous function attains a maximum at some {{tmath|\mathbf u}} when restricted to the unit sphere <math>\{\|\mathbf x\| = 1\}.</math> By the [[Lagrange multipliers]] theorem, {{tmath|\mathbf u}} necessarily satisfies
<math display=block>\nabla \mathbf{u}^\operatorname{T} \mathbf{M} \mathbf{u} - \lambda \cdot \nabla \mathbf{u}^\operatorname{T} \mathbf{u} = \mathbf{0}</math>
for some real number {{tmath|\lambda.}} The nabla symbol, {{tmath|\nabla}}, is the [[del]] operator (differentiation with respect to {{nobr|{{tmath|\mathbf x}}).}} Using the symmetry of {{tmath|\mathbf M}} we obtain
Line 475 ⟶ 521:
=== Based on variational characterization ===
{{anchor|vch}}The singular values can also be characterized as the maxima of {{tmath|\mathbf u^\mathrm{T} \mathbf M \mathbf v,}} considered as a function of {{tmath|\mathbf
Let {{tmath|\mathbf M}} denote an {{tmath|m \times n}} matrix with real entries. Let {{tmath|S^{k-1} }} be the unit <math>(k-1)</math>-sphere in <math> \mathbb{R}^k </math>, and define <math>\sigma(\mathbf{u}, \mathbf{v}) = \mathbf{u}^\operatorname{T} \mathbf{M} \mathbf{v},</math> <math>\mathbf{u} \in S^{m-1},</math> <math>\mathbf{v} \in S^{n-1}.</math>
Line 520 ⟶ 566:
== Calculating the SVD ==
=== One-sided Jacobi algorithm ===
One-sided Jacobi algorithm is an iterative algorithm,<ref>{{cite journal|first1=P.P.M. de|last1=Rijk|title=A one-sided Jacobi algorithm for computing the singular value decomposition on a vector computer|journal=SIAM J. Sci. Stat. Comput.|volume=10|pages=
where a matrix is iteratively transformed into a matrix with orthogonal columns. The elementary iteration is given as a [[Jacobi rotation]],
Line 654 ⟶ 700:
In applications that require an approximation to the [[Moore–Penrose inverse]] of the matrix {{tmath|\mathbf M,}} the smallest singular values of {{tmath|\mathbf M}} are of interest, which are more challenging to compute compared to the largest ones.
Truncated SVD is employed in [[latent semantic indexing]].<ref>{{cite journal | last1 = Chicco | first1 = D | last2 = Masseroli | first2 = M | year = 2015 | title = Software suite for gene and protein annotation prediction and similarity search | journal = IEEE/ACM Transactions on Computational Biology and Bioinformatics | volume = 12 | issue = 4 | pages = 837–843 | doi=10.1109/TCBB.2014.2382127 | pmid = 26357324 | bibcode = 2015ITCBB..12..837C | hdl = 11311/959408 | s2cid = 14714823 | url = https://doi.org/10.1109/TCBB.2014.2382127 | hdl-access = free }}
</ref>
Line 772 ⟶ 818:
==See also==
{{columns-list|colwidth=22em|
*[[Autoencoder]]
*[[Canonical correlation]]
*[[Canonical form]]
Line 811 ⟶ 858:
* {{Citation | last1 = Banerjee | first1 = Sudipto | last2 = Roy | first2 = Anindya | date = 2014 | title = Linear Algebra and Matrix Analysis for Statistics | series = Texts in Statistical Science | publisher = Chapman and Hall/CRC | edition = 1st | isbn = 978-1420095388}}
* {{Cite book | last1=Bisgard | first1 = James | year = 2021 | title = Analysis and Linear Algebra: The Singular Value Decomposition and Applications | series = Student Mathematical Library | publisher = AMS | edition = 1st | isbn = 978-1-4704-6332-8}}
* {{cite journal | last1 = Chicco | first1 = D | last2 = Masseroli | first2 = M | year = 2015 | title = Software suite for gene and protein annotation prediction and similarity search | journal = IEEE/ACM Transactions on Computational Biology and Bioinformatics | volume = 12 | issue = 4 | pages = 837–843 | doi=10.1109/TCBB.2014.2382127 | pmid = 26357324 | bibcode = 2015ITCBB..12..837C | hdl = 11311/959408 | s2cid = 14714823 | url = https://doi.org/10.1109/TCBB.2014.2382127 | hdl-access = free }}
* {{Cite book | last2=Bau III | first2=David | last1=Trefethen | first1=Lloyd N. | author1-link = Lloyd N. Trefethen | title=Numerical linear algebra | publisher=Society for Industrial and Applied Mathematics | ___location=Philadelphia | isbn=978-0-89871-361-9 | year=1997 }}
* {{Cite journal | last1=Demmel | first1=James | author1-link = James Demmel | last2=Kahan | first2=William | author2-link=William Kahan | title=Accurate singular values of bidiagonal matrices | doi=10.1137/0911052 | year=1990 | journal= SIAM Journal on Scientific and Statistical Computing| volume=11 | issue=5 | pages=873–912 | citeseerx=10.1.1.48.3740 }}
|