File: node64.html

package info (click to toggle)
scalapack-doc 1.5-11
  • links: PTS
  • area: main
  • in suites: bullseye, buster, stretch
  • size: 10,336 kB
  • ctags: 4,931
  • sloc: makefile: 47; sh: 18
file content (103 lines) | stat: -rw-r--r-- 9,768 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<!--Converted with LaTeX2HTML 96.1-h (September 30, 1996) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds -->
<HTML>
<HEAD>
<TITLE>Singular Value Decomposition</TITLE>
<META NAME="description" CONTENT="Singular Value Decomposition">
<META NAME="keywords" CONTENT="slug">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<LINK REL=STYLESHEET HREF="slug.css">
</HEAD>
<BODY LANG="EN" >
 <A NAME="tex2html2952" HREF="node65.html"><IMG WIDTH=37 HEIGHT=24 ALIGN=BOTTOM ALT="next" SRC="http://www.netlib.org/utk/icons/next_motif.gif"></A> <A NAME="tex2html2950" HREF="node50.html"><IMG WIDTH=26 HEIGHT=24 ALIGN=BOTTOM ALT="up" SRC="http://www.netlib.org/utk/icons/up_motif.gif"></A> <A NAME="tex2html2944" HREF="node63.html"><IMG WIDTH=63 HEIGHT=24 ALIGN=BOTTOM ALT="previous" SRC="http://www.netlib.org/utk/icons/previous_motif.gif"></A> <A NAME="tex2html2954" HREF="node1.html"><IMG WIDTH=65 HEIGHT=24 ALIGN=BOTTOM ALT="contents" SRC="http://www.netlib.org/utk/icons/contents_motif.gif"></A> <A NAME="tex2html2955" HREF="node190.html"><IMG WIDTH=43 HEIGHT=24 ALIGN=BOTTOM ALT="index" SRC="http://www.netlib.org/utk/icons/index_motif.gif"></A> <BR>
<B> Next:</B> <A NAME="tex2html2953" HREF="node65.html">Generalized Symmetric Definite Eigenproblems</A>
<B>Up:</B> <A NAME="tex2html2951" HREF="node50.html">Computational Routines</A>
<B> Previous:</B> <A NAME="tex2html2945" HREF="node63.html">EigenvaluesEigenvectors, and Schur </A>
<BR> <P>
<H2><A NAME="SECTION04336000000000000000">Singular Value Decomposition</A></H2>
<A NAME="subseccompsvd">&#160;</A>
<P>
Let <I>A</I> be a general real <I>m</I>-by-<I>n</I> matrix. The <B>singular value 
decomposition (SVD)</B> of <I>A</I> is the factorization<A NAME="2043">&#160;</A>  <IMG WIDTH=86 HEIGHT=15 ALIGN=BOTTOM ALT="tex2html_wrap_inline14119" SRC="img195.gif">, where
<I>U</I> and <I>V</I> are orthogonal and
<IMG WIDTH=144 HEIGHT=26 ALIGN=MIDDLE ALT="tex2html_wrap_inline14125" SRC="img196.gif">, <IMG WIDTH=106 HEIGHT=26 ALIGN=MIDDLE ALT="tex2html_wrap_inline14127" SRC="img197.gif">,
with <IMG WIDTH=132 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline14129" SRC="img198.gif">. If <I>A</I> is complex, 
its SVD is <IMG WIDTH=88 HEIGHT=15 ALIGN=BOTTOM ALT="tex2html_wrap_inline14133" SRC="img199.gif">, where <I>U</I> and <I>V</I> are unitary
and <IMG WIDTH=11 HEIGHT=12 ALIGN=BOTTOM ALT="tex2html_wrap_inline12820" SRC="img76.gif"> is as before with real
diagonal elements. 
The <IMG WIDTH=13 HEIGHT=17 ALIGN=MIDDLE ALT="tex2html_wrap_inline12826" SRC="img77.gif"> are called the <B>singular values</B><A NAME="2045">&#160;</A>, 
the first <I>r</I> columns of <I>V</I> 
the <B>right singular vectors</B><A NAME="2047">&#160;</A>, and 
the first <I>r</I> columns of <I>U</I> 
the <B>left singular vectors</B><A NAME="2049">&#160;</A>.
<P>
The routines described in this section, and listed in table <A HREF="node64.html#tabcompsvd">3.10</A>,
are used to compute this decomposition.
The computation proceeds in the following stages:
<P>
<OL>
<LI> The matrix <I>A</I> is reduced to bidiagonal<A NAME="2052">&#160;</A>
form: <IMG WIDTH=94 HEIGHT=31 ALIGN=MIDDLE ALT="tex2html_wrap_inline14153" SRC="img200.gif"> if
<I>A</I> is real (<IMG WIDTH=96 HEIGHT=31 ALIGN=MIDDLE ALT="tex2html_wrap_inline14157" SRC="img201.gif"> if <I>A</I> is complex), where <IMG WIDTH=17 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline14161" SRC="img202.gif"> and <IMG WIDTH=15 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline14163" SRC="img203.gif">
are orthogonal (unitary if <I>A</I> is complex), and <I>B</I> is real and 
upper-bidiagonal when <IMG WIDTH=48 HEIGHT=24 ALIGN=MIDDLE ALT="tex2html_wrap_inline13306" SRC="img125.gif"> and lower bidiagonal when <I>m</I> &lt; <I>n</I>, so
that <I>B</I> is nonzero only on the main diagonal and either on the first
superdiagonal (if <IMG WIDTH=48 HEIGHT=24 ALIGN=MIDDLE ALT="tex2html_wrap_inline13306" SRC="img125.gif">) or the first subdiagonal (if <I>m</I>&lt;<I>n</I>).
<LI> The SVD of the bidiagonal matrix <I>B</I> is computed: <IMG WIDTH=93 HEIGHT=31 ALIGN=MIDDLE ALT="tex2html_wrap_inline14181" SRC="img204.gif">,
where <IMG WIDTH=17 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline14183" SRC="img205.gif"> and <IMG WIDTH=15 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline14185" SRC="img206.gif"> are orthogonal and <IMG WIDTH=11 HEIGHT=12 ALIGN=BOTTOM ALT="tex2html_wrap_inline12820" SRC="img76.gif"> is diagonal as described
above. The singular vectors of <I>A</I> are then <IMG WIDTH=73 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline14191" SRC="img207.gif"> and
<IMG WIDTH=70 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline14193" SRC="img208.gif">.
</OL>
<P>
The reduction to bidiagonal form is performed by the subroutine PxGEBRD
and the SVD of <I>B</I> is computed using the LAPACK routine xBDSQR.
<A NAME="2054">&#160;</A>
<A NAME="2055">&#160;</A><A NAME="2056">&#160;</A><A NAME="2057">&#160;</A><A NAME="2058">&#160;</A>
<P>
The routine PxGEBRD represents
<IMG WIDTH=17 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline14161" SRC="img202.gif"> and <IMG WIDTH=15 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline14163" SRC="img203.gif"> in factored form as products of elementary reflectors,<A NAME="2059">&#160;</A><A NAME="2060">&#160;</A>
as described in section&nbsp;<A HREF="node66.html#secorthog">3.4</A>.
If <I>A</I> is real,
the matrices <IMG WIDTH=17 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline14161" SRC="img202.gif"> and <IMG WIDTH=15 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline14163" SRC="img203.gif"> may be multiplied by other matrices without
forming <IMG WIDTH=17 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline14161" SRC="img202.gif"> and <IMG WIDTH=15 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline14163" SRC="img203.gif"> using routine PxORMBR<A NAME="2062">&#160;</A><A NAME="2063">&#160;</A>.
If <I>A</I> is complex, one instead uses PxUNMBR<A NAME="2064">&#160;</A><A NAME="2065">&#160;</A>.
<P>
If <IMG WIDTH=52 HEIGHT=21 ALIGN=MIDDLE ALT="tex2html_wrap_inline14213" SRC="img209.gif">, it may be more efficient to first perform a <I>QR</I> factorization
of <I>A</I>, using the routine
PxGEQRF<A NAME="2066">&#160;</A><A NAME="2067">&#160;</A><A NAME="2068">&#160;</A><A NAME="2069">&#160;</A>, 
and then to compute the SVD of the <I>n</I>-by-<I>n</I> matrix <I>R</I>, since
if <I>A</I> = <I>QR</I> and <IMG WIDTH=87 HEIGHT=15 ALIGN=BOTTOM ALT="tex2html_wrap_inline14227" SRC="img210.gif">, then the SVD of <I>A</I> is given by
<IMG WIDTH=114 HEIGHT=30 ALIGN=MIDDLE ALT="tex2html_wrap_inline14231" SRC="img211.gif">.
Similarly, if <IMG WIDTH=52 HEIGHT=21 ALIGN=MIDDLE ALT="tex2html_wrap_inline14233" SRC="img212.gif">, it may be more efficient to first perform an
<I>LQ</I> factorization of <I>A</I>, using xGELQF. These preliminary <I>QR</I> and <I>LQ</I>
<A NAME="2070">&#160;</A><A NAME="2071">&#160;</A><A NAME="2072">&#160;</A><A NAME="2073">&#160;</A>
factorizations are performed by the driver PxGESVD.
<A NAME="2074">&#160;</A><A NAME="2075">&#160;</A><A NAME="2076">&#160;</A><A NAME="2077">&#160;</A>
<P>
The SVD may be used to find a minimum norm solution<A NAME="2078">&#160;</A> to a (possibly)
rank-deficient linear least squares
<A NAME="2079">&#160;</A>
problem (<A HREF="node45.html#llsq">3.1</A>). The effective rank, <I>k</I>, of <I>A</I> can be determined as the
number of singular values which exceed a suitable threshold.
Let <IMG WIDTH=11 HEIGHT=16 ALIGN=BOTTOM ALT="tex2html_wrap_inline14247" SRC="img213.gif"> be the leading <I>k</I>-by-<I>k</I> submatrix of <IMG WIDTH=11 HEIGHT=12 ALIGN=BOTTOM ALT="tex2html_wrap_inline12820" SRC="img76.gif">, and
<IMG WIDTH=12 HEIGHT=16 ALIGN=BOTTOM ALT="tex2html_wrap_inline14255" SRC="img214.gif"> be the matrix consisting of the first <I>k</I> columns of <I>V</I>.
Then the solution is given by
<BR><IMG WIDTH=298 HEIGHT=21 ALIGN=BOTTOM ALT="displaymath14109" SRC="img215.gif"><BR>
where <IMG WIDTH=12 HEIGHT=25 ALIGN=MIDDLE ALT="tex2html_wrap_inline13502" SRC="img143.gif"> consists of the first <I>k</I> elements of <IMG WIDTH=140 HEIGHT=31 ALIGN=MIDDLE ALT="tex2html_wrap_inline14265" SRC="img216.gif">. <IMG WIDTH=30 HEIGHT=31 ALIGN=MIDDLE ALT="tex2html_wrap_inline14267" SRC="img217.gif"> can be computed by using PxORMBR.
<A NAME="2091">&#160;</A><A NAME="2092">&#160;</A>
<P>
<P><A NAME="2094">&#160;</A><A NAME="tabcompsvd">&#160;</A><IMG WIDTH=737 HEIGHT=111 ALIGN=BOTTOM ALT="table2093" SRC="img218.gif"><BR>
<STRONG>Table 3.10:</STRONG> Computational routines for the singular value decomposition<BR>
<P>
<P>
<HR><A NAME="tex2html2952" HREF="node65.html"><IMG WIDTH=37 HEIGHT=24 ALIGN=BOTTOM ALT="next" SRC="http://www.netlib.org/utk/icons/next_motif.gif"></A> <A NAME="tex2html2950" HREF="node50.html"><IMG WIDTH=26 HEIGHT=24 ALIGN=BOTTOM ALT="up" SRC="http://www.netlib.org/utk/icons/up_motif.gif"></A> <A NAME="tex2html2944" HREF="node63.html"><IMG WIDTH=63 HEIGHT=24 ALIGN=BOTTOM ALT="previous" SRC="http://www.netlib.org/utk/icons/previous_motif.gif"></A> <A NAME="tex2html2954" HREF="node1.html"><IMG WIDTH=65 HEIGHT=24 ALIGN=BOTTOM ALT="contents" SRC="http://www.netlib.org/utk/icons/contents_motif.gif"></A> <A NAME="tex2html2955" HREF="node190.html"><IMG WIDTH=43 HEIGHT=24 ALIGN=BOTTOM ALT="index" SRC="http://www.netlib.org/utk/icons/index_motif.gif"></A> <BR>
<B> Next:</B> <A NAME="tex2html2953" HREF="node65.html">Generalized Symmetric Definite Eigenproblems</A>
<B>Up:</B> <A NAME="tex2html2951" HREF="node50.html">Computational Routines</A>
<B> Previous:</B> <A NAME="tex2html2945" HREF="node63.html">EigenvaluesEigenvectors, and Schur </A>
<P><ADDRESS>
<I>Susan Blackford <BR>
Tue May 13 09:21:01 EDT 1997</I>
</ADDRESS>
</BODY>
</HTML>