$30 off During Our Annual Pro Sale. View Details »

Ian Sloan 80th Birthday

Ian Sloan 80th Birthday

Presentation on lattice rules at a conference to honor Ian Sloan on the occasion of his 80th birthday

Fred J. Hickernell

June 19, 2018
Tweet

More Decks by Fred J. Hickernell

Other Decks in Research

Transcript

  1. The Advantages of Sampling with Integration Lattices
    Fred J. Hickernell
    Department of Applied Mathematics
    Center for Interdisciplinary Scientific Computation
    Illinois Institute of Technology
    [email protected] mypages.iit.edu/~hickernell
    Happy Birthday and Congratulations to Ian!
    Thanks to the organizers, the GAIL team, NSF-DMS-1522687 and NSF-DMS-1638521 (SAMSI)
    Ian Sloan’s 80th Birthday Conference, June 18–19, 2018

    View Slide

  2. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    The Advantages of Integration Lattices
    They fill space better than IID
    They provide superior approximations to the high dimensional
    integrals when the coordinates decrease in importance
    We have ways to choose the sample size adaptively
    2/19

    View Slide

  3. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    Integration in One Dimension
    In calculus we learn that the rectangle rule satisfies
    1
    0
    f(x) dx −
    1
    n
    n−1
    i=0
    f
    i
    n

    2

    3n
    f
    2
    We might have missed that
    1
    0
    f(x) dx −
    1
    n
    n−1
    i=0
    f
    i
    n
    2 ζ(2r)
    (2πn)r
    f(r)
    2
    ,
    provided f, f , . . . , f(r−1) are continuous and periodic
    What can be done for
    [0,1)d
    f(x) dx for d = 2, 6, 12, 100, 1000?
    3/19

    View Slide

  4. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    d = 6, n = 64, Grid
    4/19

    View Slide

  5. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    d = 6, n = 64, Near Orthogonal Array of Strength 3 Resembles Grid in 3-D
    5/19

    View Slide

  6. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    d = 6, n = 64, Near Orthogonal Array of Strength 2 Resembles a Grid in 2-D
    6/19

    View Slide

  7. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    d = 6, n = 64, Good Lattice Point Set Resembles a Grid in 1-D
    7/19

    View Slide

  8. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    d = 6, n = 64, The Competition: IID
    8/19

    View Slide

  9. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    The Sloan-Kachoyan Unification
    Rank s lattice sets take the form {iC ∩ [0, 1)d : i ∈ Zs}, C is s × d
    Grid (Strength d OA) C =
    1
    2
    Id
    Sloan, I. H. & Kachoyan, P. J. Lattice Methods for Multiple Integration: Theory, Error Analysis and Examples.
    SIAM J. Numer. Anal. 24, 116–128 (1987), Sloan, I. H. & Joe, S. Lattice Methods for Multiple Integration. (Oxford
    University Press, Oxford, 1994). 9/19

    View Slide

  10. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    The Sloan-Kachoyan Unification
    Rank s lattice sets take the form {iC ∩ [0, 1)d : i ∈ Zs}, C is s × d
    Grid (Strength d OA) C =
    1
    2
    Id
    Strength 3 Near OA C =
    1
    4


    1 0 0 1 2 3
    0 1 0 2 3 1
    0 0 1 3 1 2


    Sloan, I. H. & Kachoyan, P. J. Lattice Methods for Multiple Integration: Theory, Error Analysis and Examples.
    SIAM J. Numer. Anal. 24, 116–128 (1987), Sloan, I. H. & Joe, S. Lattice Methods for Multiple Integration. (Oxford
    University Press, Oxford, 1994). 9/19

    View Slide

  11. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    The Sloan-Kachoyan Unification
    Rank s lattice sets take the form {iC ∩ [0, 1)d : i ∈ Zs}, C is s × d
    Grid (Strength d OA) C =
    1
    2
    Id
    Strength 3 Near OA C =
    1
    4


    1 0 0 1 2 3
    0 1 0 2 3 1
    0 0 1 3 1 2


    Strength 2 Near OA C =
    1
    8
    1 0 1 3 2 3
    0 1 1 2 3 1
    Sloan, I. H. & Kachoyan, P. J. Lattice Methods for Multiple Integration: Theory, Error Analysis and Examples.
    SIAM J. Numer. Anal. 24, 116–128 (1987), Sloan, I. H. & Joe, S. Lattice Methods for Multiple Integration. (Oxford
    University Press, Oxford, 1994). 9/19

    View Slide

  12. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    The Sloan-Kachoyan Unification
    Rank s lattice sets take the form {iC ∩ [0, 1)d : i ∈ Zs}, C is s × d
    Grid (Strength d OA) C =
    1
    2
    Id
    Strength 3 Near OA C =
    1
    4


    1 0 0 1 2 3
    0 1 0 2 3 1
    0 0 1 3 1 2


    Strength 2 Near OA C =
    1
    8
    1 0 1 3 2 3
    0 1 1 2 3 1
    Good Lattice Point Set C =
    1
    64
    31 11 23 3 19 13
    Sloan, I. H. & Kachoyan, P. J. Lattice Methods for Multiple Integration: Theory, Error Analysis and Examples.
    SIAM J. Numer. Anal. 24, 116–128 (1987), Sloan, I. H. & Joe, S. Lattice Methods for Multiple Integration. (Oxford
    University Press, Oxford, 1994). 9/19

    View Slide

  13. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    The Sloan-Kachoyan Unification
    Rank s lattice sets take the form {iC ∩ [0, 1)d : i ∈ Zs}, C is s × d
    Grid (Strength d OA) C =
    1
    2
    Id
    Strength 3 Near OA C =
    1
    4


    1 0 0 1 2 3
    0 1 0 2 3 1
    0 0 1 3 1 2


    Strength 2 Near OA C =
    1
    8
    1 0 1 3 2 3
    0 1 1 2 3 1
    Good Lattice Point Set C =
    1
    64
    31 11 23 3 19 13
    How do we decide which kind of lattice is best?
    Sloan, I. H. & Kachoyan, P. J. Lattice Methods for Multiple Integration: Theory, Error Analysis and Examples.
    SIAM J. Numer. Anal. 24, 116–128 (1987), Sloan, I. H. & Joe, S. Lattice Methods for Multiple Integration. (Oxford
    University Press, Oxford, 1994). 9/19

    View Slide

  14. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    An Ian Story
    My first interaction with Ian was when he acted as editor
    for my first quasi-Monte Carlo manuscript .
    Ian is always quite encouraging,
    H., F. J. Quadrature Error Bounds with Applications to Lattice Rules. SIAM J. Numer. Anal. 33. corrected
    printing of Sections 3-6 in ibid., 34 (1997), 853–866, 1995–2016 (1996). 10/19

    View Slide

  15. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    An Ian Story
    My first interaction with Ian was when he acted as editor
    for my first quasi-Monte Carlo manuscript .
    Ian is always quite encouraging,
    and his feedback included page after page of encourage-
    ment,
    H., F. J. Quadrature Error Bounds with Applications to Lattice Rules. SIAM J. Numer. Anal. 33. corrected
    printing of Sections 3-6 in ibid., 34 (1997), 853–866, 1995–2016 (1996). 10/19

    View Slide

  16. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    An Ian Story
    My first interaction with Ian was when he acted as editor
    for my first quasi-Monte Carlo manuscript .
    Ian is always quite encouraging,
    and his feedback included page after page of encourage-
    ment,
    which led to a much better paper. Thank you, Ian.
    H., F. J. Quadrature Error Bounds with Applications to Lattice Rules. SIAM J. Numer. Anal. 33. corrected
    printing of Sections 3-6 in ibid., 34 (1997), 853–866, 1995–2016 (1996). 10/19

    View Slide

  17. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    Cubature Error For Lattice Sets
    f(x) =
    k∈Zd
    f(k)e2π

    −1k·x for f(k) =
    [0,1)d
    f(x)e−2π

    −1k·x
    If {xi}n−1
    i=0
    is a lattice set, B2(x) = x2 − x + 1/6 is the quadratic Bernoulli polynomial, and
    w(k1, . . . , kd) :=
    kj=0
    kj , e.g., w(0, −3, 5, 0) = 15, ∂uf :=
    [0,1)u
    ∂uf
    ∂xu
    dxu ∀u ∈ {1, . . . , d}
    then via Fourier or reproducing kernel Hilbert space analysis
    [0,1]d
    f(x) −
    1
    n
    n−1
    i=0
    f(xi)

















    −1 +
    1
    n
    n−1
    i=0
    d
    j=1
    [1 + 2π2B2(xij)] f(k)w(k)
    k 2
    Korobov
    −1 +
    1
    n
    n−1
    i=0
    d
    j=1
    1 +
    1
    2
    B2(xij) ∂uf 2 u 2
    Sobolev
    H., F. J. Quadrature Error Bounds with Applications to Lattice Rules. SIAM J. Numer. Anal. 33. corrected
    printing of Sections 3-6 in ibid., 34 (1997), 853–866, 1995–2016 (1996). 11/19

    View Slide

  18. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    Cubature Error For Lattice Sets
    f(x) =
    k∈Zd
    f(k)e2π

    −1k·x for f(k) =
    [0,1)d
    f(x)e−2π

    −1k·x
    If {xi}n−1
    i=0
    is a lattice set, B2(x) = x2 − x + 1/6 is the quadratic Bernoulli polynomial, and
    w(k1, . . . , kd) :=
    kj=0
    kj , e.g., w(0, −3, 5, 0) = 15, ∂uf :=
    [0,1)u
    ∂uf
    ∂xu
    dxu ∀u ∈ {1, . . . , d}
    then via Fourier or reproducing kernel Hilbert space analysis
    [0,1]d
    f(x) −
    1
    n
    n−1
    i=0
    f(xi) −1 +
    1
    n
    n−1
    i=0
    d
    j=1
    1 +
    γ2
    2
    B2(xij)
    O(n−1+δ)
    ∂uf 2
    γ|u|
    u 2
    Should γ = 1 or 2π or ...?
    H., F. J. Quadrature Error Bounds with Applications to Lattice Rules. SIAM J. Numer. Anal. 33. corrected
    printing of Sections 3-6 in ibid., 34 (1997), 853–866, 1995–2016 (1996). 12/19

    View Slide

  19. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    The Choice of Lattice Points Depends on γ
    [0,1]d
    f(x) −
    1
    n
    n−1
    i=0
    f(xi) −1 +
    1
    n
    n−1
    i=0
    d
    j=1
    1 +
    γ2
    2
    B2(xij)
    ∂uf 2
    γ|u|
    u 2
    Korobov γ = 2π
    Sobolev γ = 1
    13/19

    View Slide

  20. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    [0,1]d
    f(x) −
    1
    n
    n−1
    i=0
    f(xi) −1 +
    1
    n
    n−1
    i=0
    d
    j=1
    1 +
    γ2
    2
    B2(xij)
    ∂uf 2
    γ|u|
    u 2
    14/19

    View Slide

  21. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    Sloan-Woźniakowski Discovery of Coordinate Weights
    [0,1]d
    f(x) −
    1
    n
    n−1
    i=0
    f(xi) −1 +
    1
    n
    n−1
    i=0
    d
    j=1
    1 +
    γ2
    j
    2
    B2(xij)
    ∂uf 2
    j∈u
    γj
    u 2
    Sloan, I. H. & Woźniakowski, H. When Are Quasi-Monte Carlo Algorithms Efficient for High Dimensional
    Integrals? J. Complexity 14, 1–33 (1998). 14/19

    View Slide

  22. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    Sloan-Woźniakowski Discovery of Coordinate Weights
    [0,1]d
    f(x) −
    1
    n
    n−1
    i=0
    f(xi) −1 +
    1
    n
    n−1
    i=0
    d
    j=1
    1 +
    γ2
    j
    2
    B2(xij)
    ∂uf 2
    j∈u
    γj
    u 2
    An idea that launched 1000 papers
    Sloan, I. H. & Woźniakowski, H. When Are Quasi-Monte Carlo Algorithms Efficient for High Dimensional
    Integrals? J. Complexity 14, 1–33 (1998). 14/19

    View Slide

  23. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    A Few of Those 1000 Papers
    Thank you, Ian, for our fruitful collaboration.
    H., F. J., Sloan, I. H. & Wasilkowski, G. W. On Tractability of Weighted Integration over Bounded and
    Unbounded Regions in Rs. Math. Comp. 73, 1885–1901 (2004), H., F. J., Sloan, I. H. & Wasilkowski, G. W. On
    Tractability of Weighted Integration for Certain Banach Spaces of Functions. in Monte Carlo and Quasi-Monte Carlo
    Methods 2002 (ed Niederreiter, H.) (Springer-Verlag, Berlin, 2004), 51–71, H., F. J., Sloan, I. H. &
    Wasilkowski, G. W. On Strong Tractability of Weighted Multivariate Integration. Math. Comp. 73, 1903–1911
    (2004), H., F. J., Sloan, I. H. & Wasilkowski, G. W. A Piece-Wise Constant Algorithm for Weighted L1
    Approximation
    over Bounded or Unbounded Regions. SIAM J. Numer. Anal. 43, 1003–1020 (2005), H., F. J., Sloan, I. H. &
    Wasilkowski, G. W. The Strong Tractability of Multivariate Integration Using Lattice Rules. in Monte Carlo and
    Quasi-Monte Carlo Methods 2002 (ed Niederreiter, H.) (Springer-Verlag, Berlin, 2004), 259–273. 15/19

    View Slide

  24. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    A Few of Those 1000 Papers
    Thank you, Ian, for our fruitful collaboration.
    Ian’s friend: “Ian collaborates with everybody!”
    H., F. J., Sloan, I. H. & Wasilkowski, G. W. On Tractability of Weighted Integration over Bounded and
    Unbounded Regions in Rs. Math. Comp. 73, 1885–1901 (2004), H., F. J., Sloan, I. H. & Wasilkowski, G. W. On
    Tractability of Weighted Integration for Certain Banach Spaces of Functions. in Monte Carlo and Quasi-Monte Carlo
    Methods 2002 (ed Niederreiter, H.) (Springer-Verlag, Berlin, 2004), 51–71, H., F. J., Sloan, I. H. &
    Wasilkowski, G. W. On Strong Tractability of Weighted Multivariate Integration. Math. Comp. 73, 1903–1911
    (2004), H., F. J., Sloan, I. H. & Wasilkowski, G. W. A Piece-Wise Constant Algorithm for Weighted L1
    Approximation
    over Bounded or Unbounded Regions. SIAM J. Numer. Anal. 43, 1003–1020 (2005), H., F. J., Sloan, I. H. &
    Wasilkowski, G. W. The Strong Tractability of Multivariate Integration Using Lattice Rules. in Monte Carlo and
    Quasi-Monte Carlo Methods 2002 (ed Niederreiter, H.) (Springer-Verlag, Berlin, 2004), 259–273. 15/19

    View Slide

  25. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    A Few of Those 1000 Papers
    Thank you, Ian, for our fruitful collaboration.
    Ian’s friend: “Ian collaborates with everybody!”
    Ian’s UNSW colleague: “Ian does the work of ten.”
    H., F. J., Sloan, I. H. & Wasilkowski, G. W. On Tractability of Weighted Integration over Bounded and
    Unbounded Regions in Rs. Math. Comp. 73, 1885–1901 (2004), H., F. J., Sloan, I. H. & Wasilkowski, G. W. On
    Tractability of Weighted Integration for Certain Banach Spaces of Functions. in Monte Carlo and Quasi-Monte Carlo
    Methods 2002 (ed Niederreiter, H.) (Springer-Verlag, Berlin, 2004), 51–71, H., F. J., Sloan, I. H. &
    Wasilkowski, G. W. On Strong Tractability of Weighted Multivariate Integration. Math. Comp. 73, 1903–1911
    (2004), H., F. J., Sloan, I. H. & Wasilkowski, G. W. A Piece-Wise Constant Algorithm for Weighted L1
    Approximation
    over Bounded or Unbounded Regions. SIAM J. Numer. Anal. 43, 1003–1020 (2005), H., F. J., Sloan, I. H. &
    Wasilkowski, G. W. The Strong Tractability of Multivariate Integration Using Lattice Rules. in Monte Carlo and
    Quasi-Monte Carlo Methods 2002 (ed Niederreiter, H.) (Springer-Verlag, Berlin, 2004), 259–273. 15/19

    View Slide

  26. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    In Practice, How Large Should n Be?
    [0,1]d
    f(x) −
    1
    n
    n−1
    i=0
    f(xi) −1 +
    1
    n
    n−1
    i=0
    d
    j=1
    1 +
    γ2
    j
    2
    B2(xij)
    ∂uf 2
    j∈u
    γj
    u 2
    ε
    H., F. J., Jiménez Rugama, Ll. A. & Li, D. Adaptive Quasi-Monte Carlo Methods for Cubature. in Contemporary
    Computational Mathematics — a celebration of the 80th birthday of Ian Sloan (eds Dick, J., Kuo, F. Y. &
    Woźniakowski, H.) (Springer-Verlag, 2018), 597–619. doi:10.1007/978-3-319-72456-0, Jagadeeswaran, R. &
    H., F. J. Automatic Bayesian Cubature. in preparation. 2018+. 16/19

    View Slide

  27. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    In Practice, How Large Should n Be?
    [0,1]d
    f(x) −
    1
    n
    n−1
    i=0
    f(xi) −1 +
    1
    n
    n−1
    i=0
    d
    j=1
    1 +
    γ2
    j
    2
    B2(xij)
    ∂uf 2
    j∈u
    γj
    u 2
    ε
    Look at the discrete Fourier coefficients (O(n log n) additional cost) and infer the decay rate of
    true coefficients assuming that the integrand lies in a cone C of nice functions.
    H., F. J., Jiménez Rugama, Ll. A. & Li, D. Adaptive Quasi-Monte Carlo Methods for Cubature. in Contemporary
    Computational Mathematics — a celebration of the 80th birthday of Ian Sloan (eds Dick, J., Kuo, F. Y. &
    Woźniakowski, H.) (Springer-Verlag, 2018), 597–619. doi:10.1007/978-3-319-72456-0, Jagadeeswaran, R. &
    H., F. J. Automatic Bayesian Cubature. in preparation. 2018+. 16/19

    View Slide

  28. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    Option Pricing
    fair price =
    Rd
    e−rT max


    1
    d
    d
    j=1
    Sj − K, 0


    e−zTz/2
    (2π)d/2
    dz ≈ $13.12
    Sj = S0e(r−σ2/2)jT/d+σxj = stock price at time jT/d,
    x = Az, AAT = Σ = min(i, j)T/d
    d
    i,j=1
    , T = 1/4, d = 13 here
    Error Median Worst 10% Worst 10%
    Tolerance Method Error Accuracy n Time (s)
    1E−2 IID diff 2E−3 100% 6.1E7 33.000
    1E−2 Sh. Latt. PCA 1E−3 100% 1.6E4 0.041
    1E−2 Bayes. Latt. PCA 2E−3 99% 1.6E4 0.051
    Choi, S.-C. T., Ding, Y., H., F. J., Jiang, L., Ll . A. Jiménez Rugama, Li, D., Jagadeeswaran, R., Tong, X.,
    Zhang, K., et al. GAIL: Guaranteed Automatic Integration Library (Versions 1.0–2.2). MATLAB software.
    2013–2017. http://gailgithub.github.io/GAIL_Dev/. 17/19

    View Slide

  29. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    The Advantages of Integration Lattices
    They fill space better than IID
    They provide superior approximations to the high dimensional
    integrals when the coordinates decrease in importance
    We have ways to choose the sample size adaptively
    18/19

    View Slide

  30. Thank you
    Slides available on SpeakerDeck at
    speakerdeck.com/fjhickernell/ian-sloan-80th-birthday

    View Slide

  31. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    Sloan, I. H. & Kachoyan, P. J. Lattice Methods for Multiple Integration: Theory, Error
    Analysis and Examples. SIAM J. Numer. Anal. 24, 116–128 (1987).
    Sloan, I. H. & Joe, S. Lattice Methods for Multiple Integration. (Oxford University Press,
    Oxford, 1994).
    H., F. J. Quadrature Error Bounds with Applications to Lattice Rules. SIAM J. Numer.
    Anal. 33. corrected printing of Sections 3-6 in ibid., 34 (1997), 853–866, 1995–2016
    (1996).
    Sloan, I. H. & Woźniakowski, H. When Are Quasi-Monte Carlo Algorithms Efficient for
    High Dimensional Integrals? J. Complexity 14, 1–33 (1998).
    H., F. J., Sloan, I. H. & Wasilkowski, G. W. On Tractability of Weighted Integration over
    Bounded and Unbounded Regions in Rs. Math. Comp. 73, 1885–1901 (2004).
    19/19

    View Slide

  32. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    H., F. J., Sloan, I. H. & Wasilkowski, G. W. On Tractability of Weighted Integration for
    Certain Banach Spaces of Functions. in Monte Carlo and Quasi-Monte Carlo Methods
    2002 (ed Niederreiter, H.) (Springer-Verlag, Berlin, 2004), 51–71.
    H., F. J., Sloan, I. H. & Wasilkowski, G. W. On Strong Tractability of Weighted Multivariate
    Integration. Math. Comp. 73, 1903–1911 (2004).
    H., F. J., Sloan, I. H. & Wasilkowski, G. W. A Piece-Wise Constant Algorithm for
    Weighted L1
    Approximation over Bounded or Unbounded Regions. SIAM J. Numer. Anal.
    43, 1003–1020 (2005).
    H., F. J., Sloan, I. H. & Wasilkowski, G. W. The Strong Tractability of Multivariate
    Integration Using Lattice Rules. in Monte Carlo and Quasi-Monte Carlo Methods 2002
    (ed Niederreiter, H.) (Springer-Verlag, Berlin, 2004), 259–273.
    H., F. J., Jiménez Rugama, Ll. A. & Li, D. Adaptive Quasi-Monte Carlo Methods for
    Cubature. in Contemporary Computational Mathematics — a celebration of the 80th
    19/19

    View Slide

  33. Points in a Cube Error Analysis Coordinate Weights When to Stop Summary References
    birthday of Ian Sloan (eds Dick, J., Kuo, F. Y. & Woźniakowski, H.) (Springer-Verlag,
    2018), 597–619. doi:10.1007/978-3-319-72456-0.
    Jagadeeswaran, R. & H., F. J. Automatic Bayesian Cubature. in preparation. 2018+.
    Choi, S.-C. T. et al. GAIL: Guaranteed Automatic Integration Library (Versions 1.0–2.2).
    MATLAB software. 2013–2017. http://gailgithub.github.io/GAIL_Dev/.
    (ed Niederreiter, H.) Monte Carlo and Quasi-Monte Carlo Methods 2002.
    (Springer-Verlag, Berlin, 2004).
    19/19

    View Slide