Continuous wavelet transform: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>David Eppstein
en>DaBler
m Reverted 1 edit by 122.168.133.36 (talk) to last revision by David Eppstein. (TW)
Line 1: Line 1:
In [[numerical linear algebra]], a '''Givens rotation''' is a [[Rotation (mathematics)|rotation]] in the plane spanned by two coordinates axes. Givens rotations are named after [[Wallace Givens]], who introduced them to numerical analysts in the 1950s while he was working at [[Argonne National Laboratory]].
May get download from the underneath hyperlink, if you're hunting for clash of families totally gems, elixir and magic. You'll get the greatest secret text to get accessibility of assets and endless diamonds by downloading from the subsequent links.<br><br>In the role of explained in the last Clash of Clans' Tribe Wars overview, anniversary romantic relationship war is breach ascending into a couple phases: Alertness Day and Entertainment Day. Anniversary overall look lasts 24 hours as well as means that you can accomplish altered things.<br><br>Judgements There are a lot of Apple fans who use the above game all on the planet. This generation has just been the JRPG's best; in fact it's been for a while unanimously its worst. Exclusively at Target: Mission: Impossible 4-Pack DVD Tv with all 4 Mission: Impossible movies). Although it is a special day of grand gifts and gestures, one Valentines Day will blend into another increasingly easilyHere's more regarding [http://circuspartypanama.com clash of clans hack deutsch] have a look at our web site. clash of clans is one among the the quickest rising game titles as of late.<br><br>The acceptable abatement for the absence best stretches of capability is essential. Who have'nt experienced it prices would bound emerge as prohibitive and cipher would purchase them.<br><br>Think about true, you've landed at the correct spot! Truly, we have [http://pinterest.com/search/pins/?q=produced produced] once lengthy hrs of research, perform and screening, a response for thr Clash of most Clans Cheat totally undetected and operates perfectly. And due to the time and effort of our teams, this never-ending hrs of enjoyment in your iPhone, ipad or iPod Touch watching Clash of Clans our own cheat code Clash pointing to Clans produced especially you may want!<br><br>Family wars can alone automatically be started by market commandant or co-leaders. Once started, the bold would chase to have any adversary association of agnate durability. Backbone isnt bent because of a cardinal of trophies, but instead by [http://www.alexa.com/search?q=anniversary&r=topsites_index&p=bigtop anniversary] members paying ability (troops, army troubled capacity, spells clash related to clans Cheats and heroes) in addition to arresting backbone (security buildings, walls, accessories and heroes).<br><br>An individual are are playing a exhibiting activity, and you perhaps don't possess knowledge including it, establish the ailment stage to rookie. This should help a person will pick-up in the confidential options that come with the game and discover nearer round the field. Should you set which it more than that, you'll likely get frustrated and suggests possess fun.
 
== Matrix representation ==
 
A Givens rotation is represented by a [[matrix (mathematics)|matrix]] of the form
 
:<math>G(i, j, \theta) =
      \begin{bmatrix}  1  & \cdots &    0  & \cdots &    0  & \cdots &    0  \\
                      \vdots & \ddots & \vdots &        & \vdots &        & \vdots \\
                        0  & \cdots &    c  & \cdots &    -s  & \cdots &    0  \\
                      \vdots &        & \vdots & \ddots & \vdots &        & \vdots \\
                        0  & \cdots &  s  & \cdots &    c  & \cdots &    0  \\
                      \vdots &        & \vdots &        & \vdots & \ddots & \vdots \\
                        0  & \cdots &    0  & \cdots &    0  & \cdots &    1
      \end{bmatrix}</math>
 
where ''c'' = cos(''θ'') and ''s'' = sin(''θ'') appear at the intersections ''i''th and ''j''th rows and columns. That is, the non-zero elements of Givens matrix is given by:
:<math>\begin{align}
g_{k\, k} &{}= 1 \qquad \text{for} \ k \ne i,\,j\\
g_{i\, i} &{}= c \\
g_{j\, j} &{}= c \\
g_{j\, i} &{}= -s \\
g_{i\, j} &{}= s \qquad \text{for} \    i > j
\end{align}</math> (sign of sine switches for j > i)
 
The product ''G''(''i'',''j'',θ)'''x''' represents a counterclockwise rotation
of the vector '''x''' in the (''i'',''j'') plane of θ radians, hence the name Givens rotation.
 
The main use of Givens rotations in [[numerical linear algebra]] is to introduce zeros in vectors or matrices.
This effect can, for example, be employed for computing the [[QR decomposition]] of a matrix. One advantage over [[Householder transformation]]s is that they can easily be parallelised, and another is that often for very sparse matrices they have a lower operation count.
 
== Stable calculation ==
When a Givens rotation matrix, ''G''(''i'',''j'',θ), multiplies another matrix, ''A'', from the left, ''GA'', only rows ''i'' and ''j'' of ''A'' are affected. Thus we restrict attention to the following problem. Given ''a'' and ''b'', find ''c''&nbsp;= cos&nbsp;θ and ''s''&nbsp;= sin&nbsp;θ such that
:<math> \begin{bmatrix} c & -s \\ s & c \end{bmatrix} \begin{bmatrix} a \\ b \end{bmatrix} = \begin{bmatrix} r \\ 0 \end{bmatrix} . </math>
Explicit calculation of θ is rarely necessary or desirable. Instead we directly seek ''c'', ''s'', and ''r''. An obvious solution would be
:<math>\begin{align}
r &{}\larr \sqrt{a^2 + b^2} \\
c &{}\larr a / r \\
s &{}\larr -b / r.
\end{align}</math>
 
However, the computation for ''r'' may [[arithmetic overflow|overflow]] or underflow. An alternative formulation avoiding this problem {{harv|Golub|Van Loan|1996|loc=§5.1.8}} is implemented as the [[hypot]] function in many programming languages .
 
Furthermore, as {{harvtxt|Anderson|2000}} discovered in improving [[LAPACK]], a previously overlooked numerical consideration is continuity. To achieve this, we require ''r'' to be positive.
 
  if (b = 0) then {c ← copysign(1,a); s ← 0; r ← abs(a)}
else if (a = 0) then {c ← 0; s ← -copysign(1,b); r ← abs(b)}
else if (abs(b) > abs(a)) then
  t ← a/b
  u ← copysign(sqrt(1+t*t),b)
  s ← -1/u
  c ← -s*t
  r ← b*u
else
  t ← b/a
  u ← copysign(sqrt(1+t*t),a)
  c ← 1/u
  s ← -c*t
  r ← a*u
 
This is written in terms of the [[IEEE 754]] <tt>copysign(x,y)</tt> function, which provides a safe and cheap way to copy the sign of <tt>y</tt> to <tt>x</tt>. If that is not available, <tt>|x|*sgn(y)</tt>, using the [[sign function]], is an alternative.
 
== Triangularization ==
Given the following 3x3 Matrix, perform two iterations of the Given's Rotation to bring the matrix to an upper [[Triangular matrix]] in order to compute the [[QR decomposition]].
 
:<math> A =
      \begin{bmatrix}  6    &    5    &    0  \\
                        5    &    1    &    4    \\
                        0    &    4    &    3    \\
      \end{bmatrix}</math>
 
In order to form the desired matrix, we must zero elements (2,1) and (3,2). We first select element (2,1) to zero. Using a rotation matrix of:
:<math>G_{1} =
      \begin{bmatrix}  c    &    -s    &    0  \\
                        s  &    c    &    0    \\
                        0    &    0    &    1    \\
      \end{bmatrix}</math>
 
We have the following matrix multiplication:
:<math>\begin{bmatrix}  c    &    -s    &    0  \\
                        s  &    c    &    0    \\
                        0    &    0    &    1    \\
      \end{bmatrix}
      \begin{bmatrix}  6    &    5    &    0  \\
                        5    &    1    &    4    \\
                        0    &    4    &    3    \\
      \end{bmatrix}</math>
Where:
:<math>\begin{align}
r &{}= \sqrt{6^2 + 5^2} = 7.8102 \\
c &{}= 6 / r = 0.7682\\
s &{}= -5 / r = -0.6402
\end{align}
</math>
 
Plugging in these values for c and s and performing the matrix multiplication above yields a new A of:
:<math>A =\begin{bmatrix}  7.8102    &    4.4813    &    2.5607  \\
                                0    &    -2.4327    &    3.0729  \\
                                0    &          4    &        3  \\
      \end{bmatrix}</math>
 
We now want to zero element (3,2) to finish off the process. Using the same idea as before, we have a rotation matrix of:
:<math>G_{2} =
      \begin{bmatrix}  1    &    0    &    0  \\
                        0  &    c    &    -s    \\
                        0    &    s  &    c    \\
      \end{bmatrix}</math>
 
We are presented with the following matrix multiplication:
:<math>\begin{bmatrix}  1    &    0    &    0  \\
                        0  &    c    &    -s    \\
                        0    &    s  &    c    \\
      \end{bmatrix}
      \begin{bmatrix}  7.8102    &    4.4813    &    2.5607  \\
                        0  &    -2.4327    &    3.0729    \\
                        0    &    4    &    3    \\
      \end{bmatrix}</math>
 
Where:
:<math>\begin{align}
r &{}= \sqrt{(-2.4327)^2 + 4^2} = 4.6817 \\
c &{}= -2.4327 / r = -0.5196 \\
s &{}= -4 / r = -0.8544
\end{align}
</math>
Plugging in these values for c and s and performing the multiplications gives us a new matrix of:
:<math>R =
      \begin{bmatrix}  7.8102    &    4.4813    &    2.5607  \\
                        0  &    4.6817    &    0.9664    \\
                        0    &    0    &    -4.1843    \\
      \end{bmatrix}</math>
 
This new matrix R is the upper triangular matrix needed to perform an iteration of the [[QR decomposition]].  Q is now formed using the transpose of the rotation matrices in the following manner:
 
:<math>Q = G_{1}^T * G_{2}^T
</math>
 
Performing this matrix multiplication yields:
:<math>Q =
      \begin{bmatrix}  0.7682    &  0.3327    &    0.5470  \\
                        0.6402  &    -0.3992    &    -0.6564    \\
                        0    &    0.8544    &    -0.5196    \\
      \end{bmatrix}</math>
 
This completes two iterations of the Givens Rotation and calculating the [[QR decomposition]] can now be done.
 
==Givens rotations in Clifford Algebras==
 
In [[Clifford algebras]] and its child structures like [[geometric algebra]] rotations are represented by bivectors. Givens rotations are represented by the external product of the basis vectors. Given any pair of basis vectors <math>e_i, e_j</math> Givens rotations bivectors are:
 
<math>B_{ij}=e_i\wedge e_j</math>
 
Their action on any vector is written  :
 
<math>v=e^{-(\theta/2)(e_i \wedge e_j)}u e^{(\theta/2)(e_i \wedge e_j)}</math>
 
where :
 
<math>e^{(\theta/2)(e_i \wedge e_j)}= \cos(\theta/2)+  \sin(\theta/2) e_i \wedge e_j</math>
 
==Dimension 3==
:See also [[Euler angles]]
 
There are three Givens rotations in dimension 3:
 
:<math>\begin{align} \\
R_X(\theta) =
\begin{bmatrix}
1 & 0 & 0 \\
0 & \cos \theta & -\sin \theta \\
0 & \sin \theta & \cos \theta
\end{bmatrix}
\end{align}
</math>
 
Note: The <math>R_Y(\theta)</math> matrix immediately below is __not__ a Givens rotation. The <math>R_Y(\theta)</math> matrix immediately below respects the right-hand rule ... and is this usual matrix one sees in Computer Graphics; however, a Givens rotation is simply a matrix as defined in the [[#Matrix_representation|Matrix representation]] section above and does not necessarily respect the right-hand rule. This section should be considered suspect.
 
:<math>\begin{align} \\
R_Y(\theta) =
\begin{bmatrix}
\cos \theta & 0 & \sin \theta \\
0 & 1 & 0  \\
-\sin \theta & 0 & \cos \theta
\end{bmatrix}
\end{align}
</math>
 
Note: The actual Givens rotation matrix for <math>R_Y(\theta)</math> would be:
 
:<math>\begin{align} \\
R_Y(\theta) =
\begin{bmatrix}
\cos \theta & 0 & -\sin \theta \\
0 & 1 & 0  \\
\sin \theta & 0 & \cos \theta
\end{bmatrix}
\end{align}
</math>
 
:<math>\begin{align} \\
R_Z(\theta) =
\begin{bmatrix}
\cos \theta & -\sin \theta & 0 \\
\sin \theta & \cos \theta & 0 \\
0 & 0 & 1
\end{bmatrix}
\end{align}
</math>
 
Given that they are [[endomorphism]]s they can be composed with each other as many times as desired, keeping in mind that ''g'' ∘ ''f'' ≠ ''f'' ∘ ''g''.
 
These three '''Givens rotations''' [[Function composition#Rotation composition|composed]] can generate any rotation matrix. This means that they can  [[transformation (geometry)|transform]] the basis of the space to any other [[Cartesian coordinate system|frame]] in the space.
 
When rotations are performed in the right order, the values of the rotation angles of the final frame will be equal to the [[Euler angles]] of the final frame in the corresponding convention. For example, an operator <math>R = R_Y(\theta_3).R_X(\theta_2).R_Z(\theta_1)</math> transforms the basis of the space into a frame with angles roll, pitch and yaw <math>YPR = (\theta_3,\theta_2,\theta_1)</math> in the [[Euler angles#Tait–Bryan angles|Tait-Bryan convention]] z-x-y (convention in which the line of nodes is perpendicular to z and Y axes, also named Y-X’-Z’’).
 
For the same reason, any [[rotation matrix]] in 3D can be decomposed in a product of three of these [[Rotation operator (vector space)|rotations]].
 
The meaning of the composition of two Givens rotations g∘f is an operator that transforms vectors first by f and then by g, being f and g rotations about one axis of basis of the space. This is similar to the [[Euler angles#Euler angles as composition of extrinsic rotations|extrinsic rotation equivalence]] for Euler angles.
 
===Table of composed rotations===
 
The following table shows the three Givens rotations equivalent to the different Euler angles conventions using extrinsic composition (composition of rotations about the basis axes) of [[Active and passive transformation|active rotations]] and the right-handed rule for the positive sign of the angles.
 
The notation has been simplified in such a way that c1 means cos(θ<sub>1</sub>) and s2 means sin(θ<sub>2</sub>). The subindexes of the angles are the order in which they are applied using '''extrinsic''' composition (1 for intrinsic rotation, 2 for nutation, 3 for precession)
 
As rotations are applied just in the opposite order of the [[Euler angles#Table of composed rotations|Euler angles table of rotations]], this table is the same but swapping indexes 1 and 3 in the angles associated with the corresponding entry. An entry like zxy means to apply first the y rotation, then x, and finally z, in the basis axes.
 
All the compositions assume the right hand convention for the matrices that are multiplied, yielding the following results<ref>[http://www.aeroengineering.info/eulermatrix.html Rotation matrix multiplication tool]</ref>
 
:{| class="wikitable" style="background-color:white;font-weight:bold"
|-
!xzx
|<math>\begin{bmatrix}
c_2 & - c_1 s_2 & s_1 s_2 \\
c_3 s_2  & c_3 c_2 c_1 - s_3 s_1  & - c_2 c_3 s_1 - c_1 s_3 \\
s_2 s_3  & c_3 s_1 + c_1 c_2 s_3  & c_3 c_1 - c_2 s_3 s_1
\end{bmatrix}</math>
!xzy
|<math>\begin{bmatrix}
c_2 c_3    & - c_3 s_2 c_1 + s_3 s_1  &  c_3 s_2 s_1 + s_3 c_1 \\
s_2        & c_1 c_2                  & - c_2 s_1 \\
- s_3 c_2  & s_3 s_2 c_1+c_3 s_1    & -s_3 s_2 s_1 + c_3 c_1
\end{bmatrix}</math>
|-
!xyx
|<math>\begin{bmatrix}
c_2      & s_1 s_2    & c_1 s_2 \\
s_2 s_3  & c_3 c_1 - c_2 s_3 s_1 & - c_3 s_1 - c_1 c_2 s_3 \\
-c_3 s_2  & c_3 c_2 s_1 + c_1 s_3 & c_3 c_2 c_1 - s_3 s_1
\end{bmatrix}</math>
!xyz
|<math>\begin{bmatrix}
c_3 c_2 & -s_3 c_1 + c_3 s_2 s_1 & s_3 s_1 + c_3 s_2 c_1 \\
s_3 c_2 & c_3 c_1 + s_3 s_2 s_1 & -c_3 s_1 + s_3 s_2 c_1 \\
-s_2 & c_2 s_1 & c_2 c_1
\end{bmatrix}</math>
|-
!yxy
|<math>\begin{bmatrix}
c_3 c_1 - c_2 s_3 s_1 & s_2 s_3 & c_3 s_1 + s_3 c_2 c_1 \\
s_1 s_2 & c_2 & - c_1 s_2 \\
-c_2 c_3 s_1 - c_1 s_3 & c_3 s_2 & c_3 c_2 c_1 - s_3 s_1
\end{bmatrix}</math>
!yxz
|<math>\begin{bmatrix}
c_3 c_1-s_3 s_2 s_1 & -s_3 c_2 & c_3 s_1+s_3 s_2 c_1 \\
s_3 c_1+c_3 s_2 s_1 & c_3 c_2 & s_3 s_1-c_3 s_2 c_1 \\
-c_2 s_1 & s_2 & c_2 c_1
\end{bmatrix}</math>
|-
!yxy
|<math>\begin{bmatrix}
c_3 c_2 c_1 - s_3 s_1 & - c_3 s_2 & c_2 c_3 s_1 + c_1 s_3 \\
c_1 s_2 & c_2 & s_1 s_2 \\
-c_3 s_1 - c_1 c_2 s_3 & s_2 s_3 & c_3 c_1 - c_2 s_3 s_1
\end{bmatrix}</math>
!yzx
|<math>\begin{bmatrix}
c_2 c_1 & -s_2 & c_2 s_1 \\
c_3 s_2 c_1+s_3 s_1 & c_3 c_2 & c_3 s_2 s_1-s_3 c_1 \\
s_3 s_2 c_1-c_3 s_1 & s_3 c_2 & s_3 s_2 s_1+c_3 c_1
\end{bmatrix}</math>
|-
!zyz
|<math>\begin{bmatrix}
c_3 c_2 c_1 - s_3 s_1  & - c_2 s_1 c_3 - c_1 s_3 & c_3 s_2 \\
c_3 s_1 + c_1 c_2 s_3  &  c_3 c_1 - c_2 s_3 s_1 & s_2 s_3 \\
-c_1 s_2 & s_1 s_2 & c_2
\end{bmatrix}</math>
!zyx
|<math>\begin{bmatrix}
c_2 c_1     &          -c_2 s_1    &  s_2 \\
s_3 s_2 c_1+c_3 s_1 & -s_3 s_2 s_1+c_3 c_1 & -s_3 c_2 \\
-c_3 s_2 c_1+s_3 s_1 & c_3 s_2 s_1+s_3 c_1 & c_3 c_2
\end{bmatrix}</math>
|-
!zxz
|<math>\begin{bmatrix}
c_3 c_1 - c_2 s_1 s_3 & - c_3 s_1 - c_1 c_2 s_3 & s_2 s_3 \\
c_2 c_3 s_1 + c_1 s_3 & c_3 c_2 c_1 - s_3 s_1 & - c_3 s_2 \\
s_1 s_2 & c_1 s_2 & c_2
\end{bmatrix}</math>
!zxy
|<math>\begin{bmatrix}
c_3 c_1+s_3 s_2 s_1 & -c_3 s_1+s_3 s_2 c_1 & s_3 c_2 \\
c_2 s_1          & c_2 c_1   &      -s_2 \\
-s_3 c_1+c_3 s_2 s_1 & s_3 s_1+c_3 s_2 c_1  &  c_3 c_2
\end{bmatrix}</math>
|}
 
== See also ==
* [[Jacobi rotation]]
* [[Plane of rotation]]
* [[Householder transformation]]
 
== Notes ==
<references/>
 
== References ==
 
* {{Citation | last1=Anderson | first1=Edward | url=http://www.netlib.org/lapack/lawns/downloads/ | title=Discontinuous Plane Rotations and the Symmetric Eigenvalue Problem | year=2000 }}. LAPACK Working Note 150, University of Tennessee, UT-CS-00-454, December 4, 2000.
* D. Bindel, J. Demmel, W. Kahan, O. Marques. (2001) ''[http://www.netlib.org/lapack/lawns/downloads/ On Computing Givens rotations reliably and efficiently]''. LAPACK Working Note 148, University of Tennessee, UT-CS-00-449, January 31, 2001.<!-- The paper itself says January 2001, but the LAWN site says October 2000. -->
* {{Citation
  | last = Cybenko
  | first = George
  | title = Reducing Quantum Computations to Elementary Unitary Operations
  | journal = Computing in Science and Engineering
  | volume = 3
  | issue = 2
  | pages = 27–32
  | date = March–April 2001
  | doi = 10.1109/5992.908999
  | url = http://vlsicad.eecs.umich.edu/Quantum/papers/QC-Unitary.pdf
}}
* {{Citation | last1=Golub | first1=Gene H. | author1-link=Gene H. Golub | last2=Van Loan | first2=Charles F. | author2-link=Charles F. Van Loan | title=Matrix Computations | publisher=Johns Hopkins | edition=3rd | isbn=978-0-8018-5414-9 | year=1996}}.
*{{Citation | last1=Press | first1=WH | last2=Teukolsky | first2=SA | last3=Vetterling | first3=WT | last4=Flannery | first4=BP | year=2007 | title=Numerical Recipes: The Art of Scientific Computing | edition=3rd | publisher=Cambridge University Press |  publication-place=New York | isbn=978-0-521-88068-8 | chapter=Section 11.3.1. Givens Method | chapter-url=http://apps.nrbook.com/empanel/index.html#pg=578}}
 
{{Numerical linear algebra}}
 
[[Category:Numerical linear algebra]]
[[Category:Matrices]]

Revision as of 20:35, 24 February 2014

May get download from the underneath hyperlink, if you're hunting for clash of families totally gems, elixir and magic. You'll get the greatest secret text to get accessibility of assets and endless diamonds by downloading from the subsequent links.

In the role of explained in the last Clash of Clans' Tribe Wars overview, anniversary romantic relationship war is breach ascending into a couple phases: Alertness Day and Entertainment Day. Anniversary overall look lasts 24 hours as well as means that you can accomplish altered things.

Judgements There are a lot of Apple fans who use the above game all on the planet. This generation has just been the JRPG's best; in fact it's been for a while unanimously its worst. Exclusively at Target: Mission: Impossible 4-Pack DVD Tv with all 4 Mission: Impossible movies). Although it is a special day of grand gifts and gestures, one Valentines Day will blend into another increasingly easily. Here's more regarding clash of clans hack deutsch have a look at our web site. clash of clans is one among the the quickest rising game titles as of late.

The acceptable abatement for the absence best stretches of capability is essential. Who have'nt experienced it prices would bound emerge as prohibitive and cipher would purchase them.

Think about true, you've landed at the correct spot! Truly, we have produced once lengthy hrs of research, perform and screening, a response for thr Clash of most Clans Cheat totally undetected and operates perfectly. And due to the time and effort of our teams, this never-ending hrs of enjoyment in your iPhone, ipad or iPod Touch watching Clash of Clans our own cheat code Clash pointing to Clans produced especially you may want!

Family wars can alone automatically be started by market commandant or co-leaders. Once started, the bold would chase to have any adversary association of agnate durability. Backbone isnt bent because of a cardinal of trophies, but instead by anniversary members paying ability (troops, army troubled capacity, spells clash related to clans Cheats and heroes) in addition to arresting backbone (security buildings, walls, accessories and heroes).

An individual are are playing a exhibiting activity, and you perhaps don't possess knowledge including it, establish the ailment stage to rookie. This should help a person will pick-up in the confidential options that come with the game and discover nearer round the field. Should you set which it more than that, you'll likely get frustrated and suggests possess fun.