next up previous contents
Next: 6.1.2 Givens rotation on Up: 6.1 Elimination by rotation Previous: 6.1 Elimination by rotation   Contents


6.1.1 Givens rotation

The transformation matrix from (6.2) will be slightly changed (again, we consider only the first step of the Gauß elimination)

$\displaystyle \begin{pmatrix}c & s & 0 & \cdots \  - s & c & 0 & \cdots \  0 ...
... \  \vdots & \vdots & & \ddots \end{pmatrix}  \cdot \underline{b} \enspace ,$ (6.3)

with the goal

$\displaystyle -s \cdot a_{11} + c \cdot a_{21} \;=\; 0 \enspace . $

The choice

$\displaystyle s \;=\; \frac{a_{21}}{\sqrt{a_{11}^2+a_{21}^2}}$   und$\displaystyle \qquad c \;=\; \frac{a_{11}}{\sqrt{a_{11}^2+a_{21}^2}}$ (6.4)

corresponds exactly to the entries $ s=\sin\varphi$ und $ c=\cos\varphi$ of a rotation matrix by normalization.
Instead of this, the original Gauß elimination uses a value $ \tfrac{a_{21}}{a_{11}}=\tan\varphi$.

Advantage: $ a_{11}=0$ $ \Longrightarrow$ $ s=1$, $ c=0$ $ \Longrightarrow$ numerically stable $ \Longrightarrow$ no Pivot search necessary.

Since the main expenditure is with the computations in the transformation of matrix $ A$, the application of the rotation to this is only regarded. In the following, vectors  $ \underline{u}$ and  $ \underline{v}$ denote those matrix rows which will be changed by the rotation and $ \widehat{\underline{u}} \makebox[0pt]{}$ und  $ \widehat{\underline{v}} \makebox[0pt]{}$ are the appropriate resulting matrix rows.

One single Givens rotation

\begin{displaymath}\begin{split}\widehat{\underline{u}} \makebox[0pt]{} &\;:=\; ...
...;:=\; c \cdot \underline{v} - s \cdot \underline{u} \end{split}\end{displaymath} (6.5)

is included in the BLAS1 library as one call (SROT/DROT).
next up previous contents
Next: 6.1.2 Givens rotation on Up: 6.1 Elimination by rotation Previous: 6.1 Elimination by rotation   Contents
Gundolf Haase 2000-03-20