MAX PLANCK INSTITUTE FOR DYNAMICS OF COMPLEX TECHNICAL SYSTEMS MAGDEBURG 83rd GAMM Annual Scientific Conference Darmstadt, 28 March 2012 ADI for Tensor Structured Equations Thomas Mach and Jens Saak Max Planck Institute for Dynamics of Complex Technical Systems Computational Methods in Systems and Control Theory Max Planck Institute Magdeburg Thomas Mach, Jens Saak, Tensor-ADI 1/24
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
MAX PLANCK INSTITUTE
FOR DYNAMICS OF COMPLEX
TECHNICAL SYSTEMS
MAGDEBURG
83rd GAMM Annual Scientific ConferenceDarmstadt, 28 March 2012
ADI for Tensor Structured Equations
Thomas Mach and Jens Saak
Max Planck Institute for Dynamics of Complex Technical SystemsComputational Methods in Systems and Control Theory
Max Planck Institute Magdeburg Thomas Mach, Jens Saak, Tensor-ADI 1/24
ADI ADI for Tensors Numerical Results and Shifts Conclusions
Classic ADI [Peaceman/Rachford ’55]
Developed to solve linear systems related to Poisson problems
−∆u = f in Ω ⊂ Rd , d = 1, 2
u = 0 on ∂Ω.
uniform grid size h, centered differences, d = 1,
⇒ ∆1,hu = h2 f
∆1,h =
2 −1−1 2 −1
. . .. . .
. . .
−1 2 −1−1 2
.
Max Planck Institute Magdeburg Thomas Mach, Jens Saak, Tensor-ADI 2/24
ADI ADI for Tensors Numerical Results and Shifts Conclusions
Classic ADI [Peaceman/Rachford ’55]
Developed to solve linear systems related to Poisson problems
−∆u = f in Ω ⊂ Rd , d = 1, 2
u = 0 on ∂Ω.
uniform grid size h, 5-point difference star, d = 2,
⇒ ∆2,hu = h2 f
∆2,h =
K −I−I K −I
. . .. . .
. . .
−I K −I−I K
and K =
4 −1−1 4 −1
. . .. . .
. . .
−1 4 −1−1 4
.
Max Planck Institute Magdeburg Thomas Mach, Jens Saak, Tensor-ADI 2/24
ADI ADI for Tensors Numerical Results and Shifts Conclusions
Classic ADI [Peaceman/Rachford ’55]
Observation
∆2,h = (∆1,h ⊗ I )︸ ︷︷ ︸=:H
+ (I ⊗∆1,h)︸ ︷︷ ︸=:V
.
Solve ∆2,hu = h2 f =: f exploiting structure in H and V .
For certain shift parameters perform
(H + pi I ) ui+ 12
= (pi I − V ) ui + f ,
(V + pi I ) ui+1 = (pi I − H) ui+ 12
+ f ,
until ui is good enough.
Max Planck Institute Magdeburg Thomas Mach, Jens Saak, Tensor-ADI 3/24
ADI ADI for Tensors Numerical Results and Shifts Conclusions
Classic ADI [Peaceman/Rachford ’55]
Observation
∆2,h = (∆1,h ⊗ I )︸ ︷︷ ︸=:H
+ (I ⊗∆1,h)︸ ︷︷ ︸=:V
.
Solve ∆2,hu = h2 f =: f exploiting structure in H and V .
For certain shift parameters perform
(H + pi I ) ui+ 12
= (pi I − V ) ui + f ,
(V + pi I ) ui+1 = (pi I − H) ui+ 12
+ f ,
until ui is good enough.
Max Planck Institute Magdeburg Thomas Mach, Jens Saak, Tensor-ADI 3/24
ADI ADI for Tensors Numerical Results and Shifts Conclusions
Classic ADI [Peaceman/Rachford ’55]
Observation
∆2,h = (∆1,h ⊗ I )︸ ︷︷ ︸=:H
+ (I ⊗∆1,h)︸ ︷︷ ︸=:V
.
Solve ∆2,hu = h2 f =: f exploiting structure in H and V .
For certain shift parameters perform
(H + pi I ) ui+ 12
= (pi I − V ) ui + f ,
(V + pi I ) ui+1 = (pi I − H) ui+ 12
+ f ,
until ui is good enough.
Max Planck Institute Magdeburg Thomas Mach, Jens Saak, Tensor-ADI 3/24
ADI ADI for Tensors Numerical Results and Shifts Conclusions
ADI and Lyapunov Equations [Wachspress ’88]
Lyapunov Equation
FX + XFT = −GGT
Vectorized Lyapunov Equation[(I ⊗ F )︸ ︷︷ ︸
=:HF
+ (F ⊗ I )︸ ︷︷ ︸=:VF
]vec(X ) = −vec(GGT )
Same structure ⇒ apply ADI
(F + pi I )Xi+ 12
= −GGT − Xi
(FT − pi I
)(F + pi I )Xi+1 = −GGT − XT
i+ 12
(FT − pi I
)
Max Planck Institute Magdeburg Thomas Mach, Jens Saak, Tensor-ADI 4/24
ADI ADI for Tensors Numerical Results and Shifts Conclusions
ADI and Lyapunov Equations [Wachspress ’88]
Lyapunov Equation
FX + XFT = −GGT
Vectorized Lyapunov Equation[(I ⊗ F )︸ ︷︷ ︸
=:HF
+ (F ⊗ I )︸ ︷︷ ︸=:VF
]vec(X ) = −vec(GGT )
Same structure ⇒ apply ADI
(F + pi I )Xi+ 12
= −GGT − Xi
(FT − pi I
)(F + pi I )Xi+1 = −GGT − XT
i+ 12
(FT − pi I
)
Max Planck Institute Magdeburg Thomas Mach, Jens Saak, Tensor-ADI 4/24
ADI ADI for Tensors Numerical Results and Shifts Conclusions
ADI and Lyapunov Equations [Wachspress ’88]
Lyapunov Equation
FX + XFT = −GGT
Vectorized Lyapunov Equation[(I ⊗ F )︸ ︷︷ ︸
=:HF
+ (F ⊗ I )︸ ︷︷ ︸=:VF
]vec(X ) = −vec(GGT )
Same structure ⇒ apply ADI
(F + pi I )Xi+ 12
= −GGT − Xi
(FT − pi I
)(F + pi I )Xi+1 = −GGT − XT
i+ 12
(FT − pi I
)Max Planck Institute Magdeburg Thomas Mach, Jens Saak, Tensor-ADI 4/24
ADI ADI for Tensors Numerical Results and Shifts Conclusions
Generalizing Matrix Equations
∆2,hvec(X ) = vec(B)(
I ⊗ I ⊗
I ⊗ ∆1,h︸ ︷︷ ︸=H
+
I ⊗ I ⊗
∆1,h ⊗ I︸ ︷︷ ︸=V
+ I ⊗ ∆1,h ⊗ I ⊗ I︸ ︷︷ ︸=R
+ ∆1,h ⊗ I ⊗ I ⊗ I︸ ︷︷ ︸=Q
)vec(X )︸ ︷︷ ︸
=u
= vec(B)︸ ︷︷ ︸=f
Xa
b
c
d Xa
b
c
d
Xa
b
c
d Xabcd
a∆µa
b∆µb
c ∆µc
d ∆µd
+
+
+ = Ba
b
c
d
Max Planck Institute Magdeburg Thomas Mach, Jens Saak, Tensor-ADI 5/24
ADI ADI for Tensors Numerical Results and Shifts Conclusions
Generalizing Matrix Equations
∆4,hvec(X ) = vec(B)(I ⊗ I ⊗ I ⊗ ∆1,h︸ ︷︷ ︸
=H
+ I ⊗ I ⊗ ∆1,h ⊗ I︸ ︷︷ ︸=V
+ I ⊗ ∆1,h ⊗ I ⊗ I︸ ︷︷ ︸=R
+ ∆1,h ⊗ I ⊗ I ⊗ I︸ ︷︷ ︸=Q
)vec(X )︸ ︷︷ ︸
=u
= vec(B)︸ ︷︷ ︸=f
Xabcd Xabcd
Xabcd Xabcd
a∆µa
b∆µb
c ∆µc
d ∆µd
+
+
+ = Babcd
Max Planck Institute Magdeburg Thomas Mach, Jens Saak, Tensor-ADI 5/24
ADI ADI for Tensors Numerical Results and Shifts Conclusions
Generalizing ADI
(I ⊗ ∆1,h︸ ︷︷ ︸
=H
+ ∆1,h ⊗ I︸ ︷︷ ︸=V
)vec(X )︸ ︷︷ ︸
=u
= vec(B)︸ ︷︷ ︸=f
(H + I ⊗ pi ,1I )Xi+ 12
= (pi ,1I − V )Xi + B
(V + pi ,2I ⊗ I )Xi+ 12
= (pi ,2I − H)Xi+ 12
+ B
(I ⊗ I ⊗ I ⊗ ∆1,h︸ ︷︷ ︸
=H
+ I ⊗ I ⊗ ∆1,h ⊗ I︸ ︷︷ ︸=V
+ I ⊗ ∆1,h ⊗ I ⊗ I︸ ︷︷ ︸=R
+ ∆1,h ⊗ I ⊗ I ⊗ I︸ ︷︷ ︸=Q
)vec(X )︸ ︷︷ ︸
=u
= vec(B)︸ ︷︷ ︸=f
(H + I ⊗ I ⊗ I ⊗ pi ,1I )Xi+ 14
= (pi ,1I − V − R − Q)Xi + B
(V + I ⊗ I ⊗ pi ,2I ⊗ I )Xi+ 12
= (pi ,2I − H − R − Q)Xi+ 14
+ B
(R + I ⊗ pi ,3I ⊗ I ⊗ I )Xi+ 34
= (pi ,3I − H − V − Q)Xi+ 12
+ B
(Q + pi ,4I ⊗ I ⊗ I ⊗ I )Xi+1 = (pi ,4I − H − V − R)Xi+ 34
+ B
Max Planck Institute Magdeburg Thomas Mach, Jens Saak, Tensor-ADI 6/24
ADI ADI for Tensors Numerical Results and Shifts Conclusions
Generalizing ADI
(I ⊗ ∆1,h︸ ︷︷ ︸
=H
+ ∆1,h ⊗ I︸ ︷︷ ︸=V
)vec(X )︸ ︷︷ ︸
=u
= vec(B)︸ ︷︷ ︸=f
(H + I ⊗ pi ,1I )Xi+ 12
= (pi ,1I − V )Xi + B
(V + pi ,2I ⊗ I )Xi+ 12
= (pi ,2I − H)Xi+ 12
+ B
(I ⊗ I ⊗ I ⊗ ∆1,h︸ ︷︷ ︸
=H
+ I ⊗ I ⊗ ∆1,h ⊗ I︸ ︷︷ ︸=V
+ I ⊗ ∆1,h ⊗ I ⊗ I︸ ︷︷ ︸=R
+ ∆1,h ⊗ I ⊗ I ⊗ I︸ ︷︷ ︸=Q
)vec(X )︸ ︷︷ ︸
=u
= vec(B)︸ ︷︷ ︸=f
(H + I ⊗ I ⊗ I ⊗ pi ,1I )Xi+ 14
= (pi ,1I − V − R − Q)Xi + B
(V + I ⊗ I ⊗ pi ,2I ⊗ I )Xi+ 12
= (pi ,2I − H − R − Q)Xi+ 14
+ B
(R + I ⊗ pi ,3I ⊗ I ⊗ I )Xi+ 34
= (pi ,3I − H − V − Q)Xi+ 12
+ B
(Q + pi ,4I ⊗ I ⊗ I ⊗ I )Xi+1 = (pi ,4I − H − V − R)Xi+ 34
+ B
Max Planck Institute Magdeburg Thomas Mach, Jens Saak, Tensor-ADI 6/24
ADI ADI for Tensors Numerical Results and Shifts Conclusions
Goal
Solve AX = B
A = I ⊗ I ⊗ · · · ⊗ I ⊗ I ⊗ A1 +
I ⊗ I ⊗ · · · ⊗ I ⊗ A2 ⊗ I +
. . . +
Ad ⊗ I ⊗ · · · ⊗ I ⊗ I ⊗ I
B is given in tensor train decomposition⇒ X is sought in tensor train decomposition.
Max Planck Institute Magdeburg Thomas Mach, Jens Saak, Tensor-ADI 7/24
ADI ADI for Tensors Numerical Results and Shifts Conclusions