15.11.2014 Views

AD Tutorial at the TU Berlin

AD Tutorial at the TU Berlin

AD Tutorial at the TU Berlin

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Algorithm: Forward UTPM of Symmetric Eigenvalue Decomposition<br />

input : [A] D = [A 0 , . . . , A D− 1], where A d ∈ R N×N symmetric positive definite, d = 0, . . . , D − 1<br />

output: [˜Λ] D = [˜Λ 0 , . . . , ˜Λ D− 1], where Λ 0 ∈ R N×N diagonal and Λ d ∈ R N×N block diagonal<br />

d = 1, . . . , D − 1.<br />

output: b ∈ N N b+1 , array of integers defining <strong>the</strong> blocks. The integer N B is <strong>the</strong> number of blocks. Each<br />

block has <strong>the</strong> size of <strong>the</strong> multiplicity of an eigenvalue λ nb of Λ 0 s.t. for sl = b[n b ] : b[n b + 1] one<br />

has (Q 0 [:, sl ]) T A 0 Q 0 [:, sl ] = λ nb I.<br />

Λ 0 , Q 0 = eigh (A 0 )<br />

E ij = (Λ 0 ) jj − (Λ 0 ) ii<br />

H = P B ◦ (1/E)<br />

for d = 1 to D − 1 do<br />

S = − 1 2<br />

end<br />

P d−1<br />

k=1 QT d−k Q k<br />

K = ∆F + ˜Q T 0 A d ˜Q 0 + SΛ 0 + Λ 0 S<br />

˜Q d = Q 0 (S + H ◦ K)<br />

˜Λ d = ¯P B ◦ K<br />

for <strong>the</strong> special case of distinct eigenvalues, this algorithm suffices<br />

for repe<strong>at</strong>ed eigenvalues this algorithm is one step in a little more involved algorithm<br />

Sebastian F. Walter, HU <strong>Berlin</strong> () Not So Short <strong>Tutorial</strong> OnAlgorithmic Differenti<strong>at</strong>ion Wednesday, 04.06.2010 30 / 39

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!