File: Givens-Rotations.html

package info (click to toggle)
gsl-ref-html 2.3-1
  • links: PTS
  • area: non-free
  • in suites: bullseye, buster, sid
  • size: 6,876 kB
  • ctags: 4,574
  • sloc: makefile: 35
file content (104 lines) | stat: -rw-r--r-- 5,294 bytes parent folder | download
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
104
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 The GSL Team.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "GNU General Public License" and "Free Software
Needs Free Documentation", the Front-Cover text being "A GNU Manual",
and with the Back-Cover Text being (a) (see below). A copy of the
license is included in the section entitled "GNU Free Documentation
License".

(a) The Back-Cover Text is: "You have the freedom to copy and modify this
GNU Manual." -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Scientific Library &ndash; Reference Manual: Givens Rotations</title>

<meta name="description" content="GNU Scientific Library &ndash; Reference Manual: Givens Rotations">
<meta name="keywords" content="GNU Scientific Library &ndash; Reference Manual: Givens Rotations">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Function-Index.html#Function-Index" rel="index" title="Function Index">
<link href="Linear-Algebra.html#Linear-Algebra" rel="up" title="Linear Algebra">
<link href="Householder-Transformations.html#Householder-Transformations" rel="next" title="Householder Transformations">
<link href="Bidiagonalization.html#Bidiagonalization" rel="previous" title="Bidiagonalization">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Givens-Rotations"></a>
<div class="header">
<p>
Next: <a href="Householder-Transformations.html#Householder-Transformations" accesskey="n" rel="next">Householder Transformations</a>, Previous: <a href="Bidiagonalization.html#Bidiagonalization" accesskey="p" rel="previous">Bidiagonalization</a>, Up: <a href="Linear-Algebra.html#Linear-Algebra" accesskey="u" rel="up">Linear Algebra</a> &nbsp; [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Givens-Rotations-1"></a>
<h3 class="section">14.14 Givens Rotations</h3>
<a name="index-Givens-rotation"></a>

<p>A Givens rotation is a rotation in the plane acting on two elements
of a given vector. It can be represented in matrix form as
</p><p>where the <em>\cos{\theta}</em> and <em>\sin{\theta}</em> appear at
the intersection of the <em>i</em>th and <em>j</em>th rows and columns.
When acting on a vector <em>x</em>, <em>G(i,j,\theta) x</em> performs
a rotation of the <em>(i,j)</em> elements of <em>x</em>. Givens
rotations are typically used to introduce zeros in
vectors, such as during the QR decomposition of a matrix. In this
case, it is typically desired to find <em>c</em> and <em>s</em> such that
</p><p>with <em>r = \sqrt{a^2 + b^2}</em>.
</p>
<dl>
<dt><a name="index-gsl_005flinalg_005fgivens"></a>Function: <em>void</em> <strong>gsl_linalg_givens</strong> <em>(const double <var>a</var>, const double <var>b</var>, double * <var>c</var>, double * <var>s</var>)</em></dt>
<dd><p>This function computes <em>c = \cos{\theta}</em> and <em>s = \sin{\theta}</em>
so that the Givens matrix <em>G(\theta)</em> acting on the
vector <em>(a,b)</em> produces <em>(r, 0)</em>, with <em>r = \sqrt{a^2 + b^2}</em>.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005flinalg_005fgivens_005fgv"></a>Function: <em>void</em> <strong>gsl_linalg_givens_gv</strong> <em>(gsl_vector * <var>v</var>, const size_t <var>i</var>, const size_t <var>j</var>, const double <var>c</var>, const double <var>s</var>)</em></dt>
<dd><p>This function applies the Givens rotation defined by
<em>c = \cos{\theta}</em> and <em>s = \sin{\theta}</em> to the <var>i</var>
and <var>j</var> elements of <var>v</var>. On output,
<em>(v(i),v(j)) \leftarrow G(\theta) (v(i),v(j))</em>.
</p></dd></dl>




</body>
</html>