A fast analysis-based discrete Hankel transform using asymptotic expansions Alex Townsend MIT IMA Leslie Fox Prize Meeting, 22nd June, 2015 Based on: T., “A fast analysis-based discrete Hankel transform using asymptotic expansions”, to appear in SINUM. Introduction The fast Fourier transform The FFT computes the DFT in OpN log N q operations: ř Xk “ nN“´01 xn ¨ e ´2πink {N , 0 ď k ď N ´ 1. sinp ´2π t q Imag axis e ´2πit Top 10 algorithm cos p´2 James Cooley t Alex Townsend @ MIT πt q John Tukey xis al a Re 1/26 Introduction A circularly symmetric 2D Fourier transform Let f px, y q be a circularly symmetric function. Then, the finite Hankel transform is " ż1 1 ´i pω1 x `ω2 y q H0 pωq “ f px, y qe dx dy “ f pr qJ0 prωqr dr, ω2 “ ω21 `ω22 2π 2 2 0 x `y ď1 Discrete analogue: H0 pj0,k q « Alex Townsend @ MIT 1 2 j0,N `1 N ÿ 2 f pj0,n {j0,N `1 qJ0 pj0,k j0,n {j0,N `1 q. 2 J p j q 0,n n “1 1 2/26 Introduction A circularly symmetric 2D Fourier transform Let f px, y q be a circularly symmetric function. Then, the finite Hankel transform is " ż1 1 ´i pω1 x `ω2 y q H0 pωq “ f px, y qe dx dy “ f pr qJ0 prωqr dr, ω2 “ ω21 `ω22 2π 2 2 0 x `y ď1 Discrete analogue: H0 pj0,k q « 1 1 2 j0,N `1 N ÿ 2 f pj0,n {j0,N `1 qJ0 pj0,k j0,n {j0,N `1 q. 2 J p j q 0,n n “1 1 j0,k “ Bessel roots J0 pz q “ 40 ´1 Alex Townsend @ MIT Bessel function H. Fisk Johnson 2/26 Introduction A circularly symmetric 2D Fourier transform Let f px, y q be a circularly symmetric function. Then, the finite Hankel transform is " ż1 1 ´i pω1 x `ω2 y q H0 pωq “ f px, y qe dx dy “ f pr qJ0 prωqr dr, ω2 “ ω21 `ω22 2π 0 x 2 `y 2 ď1 Discrete analogue: H0 pj0,k q « 1 2 j0,N `1 N ÿ 2 f pj0,n {j0,N `1 qJ0 pj0,k j0,n {j0,N `1 q. 2 J p j q 0,n n “1 1 The discrete Hankel transform of order 0 (DHT) [Johnson, 86]: ř Xk “ N 1 ď k ď N. n“1 xn J0 p j0,k j0,n {j0,N `1 q, H. Fisk Johnson Alex Townsend @ MIT 2/26 Introduction A circularly symmetric 2D Fourier transform Let f px, y q be a circularly symmetric function. Then, the finite Hankel transform is " ż1 1 ´i pω1 x `ω2 y q H0 pωq “ f px, y qe dx dy “ f pr qJ0 prωqr dr, ω2 “ ω21 `ω22 2π 0 x 2 `y 2 ď1 Discrete analogue: H0 pj0,k q « 1 2 j0,N `1 N ÿ 2 f pj0,n {j0,N `1 qJ0 pj0,k j0,n {j0,N `1 q. 2 J p j q 0,n n “1 1 The discrete Hankel transform of order 0 (DHT) [Johnson, 86]: | X “ J0 p j 0 j 0 {j0,N `1 q x. Independently rediscovered by [Yu et al., 89] and [Guizar-Sicairos & Gutiérrez-Vega, 04]. Alex Townsend @ MIT H. Fisk Johnson 2/26 Introduction A circularly symmetric 2D Fourier transform Let f px, y q be a circularly symmetric function. Then, the finite Hankel transform is " ż1 1 ´i pω1 x `ω2 y q H0 pωq “ f px, y qe dx dy “ f pr qJ0 prωqr dr, ω2 “ ω21 `ω22 2π 0 x 2 `y 2 ď1 Discrete analogue: H0 pj0,k q « 1 2 j0,N `1 N ÿ 2 f pj0,n {j0,N `1 qJ0 pj0,k j0,n {j0,N `1 q. 2 J p j q 0,n n “1 1 The discrete Hankel transform of order 0 (DHT) [Johnson, 86]: | X “ J0 p j 0 j 0 {j0,N `1 q x. Independently rediscovered by [Yu et al., 89] and [Guizar-Sicairos & Gutiérrez-Vega, 04]. Alex Townsend @ MIT H. Fisk Johnson 2/26 Introduction Many applications Optics, electromagnetics, imaging, and the numerical solution of PDEs: [Siegman, 77], [Oppenheim, 78], [Nachamkin & Maggiore, 80], [Candel, 81], [Gopalan & Chen, 83], [Johnson, 86], [Johnson, 87], [Higgins & Munson, 88], [Yu et al., 89], [Vittorio et al., 92], [Sharafeddin et al., 92], [Agnesi et al., 93], [Zhao & Halling, 93], [Cree & Bones, 94], [Barakat, 96], [Ferrari, 99], [Secada, 99], [Wieder, 99], [Knockaert, 00], [Zhang et al., 02], [Markham & Conchello, 03], [Perciante & Ferrari, 04], [Guizar-Sicairos & Gutiérrez-Vega, 04], [Cerjan, 07], [Poularikas, 10] Compton camera: Hankel transform is useful for image reconstruction [Cree & Bones, 94]. Used in nuclear medical imaging and radioactive waste detection. Alex Townsend @ MIT 3/26 Introduction Two existing methods 1. “Direct” approach: Naively computes Butterfly scheme (state-of-the-art) t(!) os ec | in OpN 2 q operations [Amos, 86]. 2. Butterfly scheme: Online cost “ OpN log N q Offline cost “ OpN 2 q [O’Neil, Woolfe, & Rokhlin, 10]. Alex Townsend @ MIT in Offl Execution time X “ J0 p j 0 j 0 {j0,N `1 qx ect cost Dir e n i l On 103 105 N Timings from [O’Neil, Woolfe, & Rokhlin, 10]. 4/26 Introduction Three challenging differences between the DFT and DHT The discrete Hankel transform of order 0 (DHT) [Johnson, 86]: | X “ J0 p j 0 j 0 {j0,N `1 q x. 1. Kernel. J0 pz q does not have constant amplitude. 2. Frequencies. j0,1 , . . . , j0,N are not equispaced. 3. Time samples. j0,1 {j0,N `1 , . . . , j0,N {j0,N `1 are not equispaced. Alex Townsend @ MIT 5/26 Introduction Three challenging differences between the DFT and DHT The discrete Hankel transform of order 0 (DHT) [Johnson, 86]: | X “ J0 p j 0 j 0 {j0,N `1 q x. 1. Kernel. J0 pz q does not have constant amplitude. 2. Frequencies. j0,1 , . . . , j0,N are not equispaced. 3. Time samples. j0,1 {j0,N `1 , . . . , j0,N {j0,N `1 are not equispaced. Alex Townsend @ MIT 5/26 Introduction Three challenging differences between the DFT and DHT The discrete Hankel transform of order 0 (DHT) [Johnson, 86]: | X “ J0 p j 0 j 0 {j0,N `1 q x. 1. Kernel. J0 pz q does not have constant amplitude. 2. Frequencies. j0,1 , . . . , j0,N are not equispaced. 3. Time samples. j0,1 {j0,N `1 , . . . , j0,N {j0,N `1 are not equispaced. Alex Townsend @ MIT 5/26 Introduction Three challenging differences between the DFT and DHT The discrete Hankel transform of order 0 (DHT) [Johnson, 86]: | X “ J0 p j 0 j 0 {j0,N `1 q x. 1. Kernel. J0 pz q does not have constant amplitude. 2. Frequencies. j0,1 , . . . , j0,N are not equispaced. 3. Time samples. j0,1 {j0,N `1 , . . . , j0,N {j0,N `1 are not equispaced. Alex Townsend @ MIT 5/26 Introduction Three challenging differences between the DFT and DHT The discrete Hankel transform of order 0 (DHT) [Johnson, 86]: | X “ J0 p j 0 j 0 {j0,N `1 q x. 1 1. Kernel. J0 pz q does not have constant amplitude. ? zJ0 pz q 40 ´1 2. Frequencies. j0,1 , . . . , j0,N are not equispaced. 3. Time samples. j0,1 {j0,N `1 , . . . , j0,N {j0,N `1 are not equispaced. Alex Townsend @ MIT 5/26 Introduction Three challenging differences between the DFT and DHT The discrete Hankel transform of order 0 (DHT) [Johnson, 86]: | X “ J0 p j 0 j 0 {j0,N `1 q x. 1 1. Kernel. J0 pz q does not have constant amplitude. ? zJ0 pz q 40 ´1 2. Frequencies. j0,1 , . . . , j0,N are not equispaced. 0 40 3. Time samples. j0,1 {j0,N `1 , . . . , j0,N {j0,N `1 are not equispaced. Alex Townsend @ MIT 5/26 Introduction Three challenging differences between the DFT and DHT The discrete Hankel transform of order 0 (DHT) [Johnson, 86]: | X “ J0 p j 0 j 0 {j0,N `1 q x. 1 1. Kernel. J0 pz q does not have constant amplitude. ? zJ0 pz q 40 ´1 2. Frequencies. j0,1 , . . . , j0,N are not equispaced. 0 40 0 1 3. Time samples. j0,1 {j0,N `1 , . . . , j0,N {j0,N `1 are not equispaced. Alex Townsend @ MIT 5/26 Introduction Overview of talk Increasingly nonuniform FFT Evaluation of Schlömilch expansions Evaluation of Fourier–Bessel expansions DFT J0 p r ω| q J0 p r j 0 q rk “ k {N, ωn “ nπ, | DHT | J0 p j 0 j 0 {j0,N `1 q j0,n “ Bessel roots. Goal: FFT-based and analysis-based fast transforms with zero offline cost. Alex Townsend @ MIT 6/26 Introduction Overview of talk Increasingly nonuniform FFT Evaluation of Schlömilch expansions Evaluation of Fourier–Bessel expansions DFT J0 p r ω| q J0 p r j 0 q rk “ k {N, ωn “ nπ, | DHT | J0 p j 0 j 0 {j0,N `1 q j0,n “ Bessel roots Goal: FFT-based and analysis-based fast transforms with zero offline cost. Alex Townsend @ MIT 6/26 Fast evaluation of Schlömilch expansions Setup Schlömilch expansion of f : r0, 1s Ñ C is [Schlömilch, 1846]: f pr q “ N ÿ xn J0 pnπr q. n “1 Oscar Schlömilch Aim: A fast algorithm for evaluating f pr q at rk “ k {N for 1 ď k ď N. Equivalent to the following matrix-vector product: ˛¨ ˛ ¨ J0 pr1 ω1 q . . . J0 pr1 ωN q x1 ‹ ˚ ˚ .. .. .. ‹ ... ‹ ˚ ‹ J0 pr ωT qx “ ˚ . . ˝ ‚˝ . ‚, J0 prN ω1 q . . . J0 prN ωN q xN Alex Townsend @ MIT rk “ k {N, ωn “ nπ. 7/26 Fast evaluation of Schlömilch expansions Bessel functions are trigonometric-like for large argument For fixed M ě 1 and real z Ñ 8: ¸ c ˜ Mÿ ´1 Mÿ ´1 m m p´ 1 q a p´ 1 q a 2 2m 2m ` 1 cospz ´ π4 q J0 p z q „ ´ sinpz ´ π4 q . 2m πz z z 2m`1 m“0 m “0 J0 pz q Fraunhofer regime Hermann Hankel Peter A. Hansen A 19th century hobby: [Poisson, 1823], [Kummer, 1837], [Jacobi, 1843], [Lipschitz, 1859], [Hamilton, 1907] Alex Townsend @ MIT 8/26 Fast evaluation of Schlömilch expansions Numerical pitfalls of an asymptotic expansionist c J0 pz q “ ˜ ¸ Mÿ ´1 Mÿ ´1 m m p´ 1 q a p´ 1 q a 2 2m 2m`1 cospz ´ π4 q ´ sinpz ´ π4 q ` RM pz q 2m 2m ` 1 πz z z m “0 m “0 10 0 M“2 M M “ 10 “7 M“3 M“ 4 M“ 5 10 -5 |RM p10q| |RM pz q| M“1 10 -10 10 -15 10 -20 0 10 20 30 40 M z Fix M. Where is the asymptotic expansion accurate? Alex Townsend @ MIT 9/26 Fast evaluation of Schlömilch expansions Recap Evaluation of a Schlömilch expansion is equivalent to the following matrix-vector product: ¨ ˛¨ ˛ J0 pr1 ω1 q . . . J0 pr1 ωN q x1 ˚ ‹ ˚ ‹ .. .. ... ‹ ˚ ... ‹ , rk “ k {N, ωn “ nπ. J0 p r ωT q x “ ˚ . . ˝ ‚˝ ‚ J0 prN ω1 q . . . J0 prN ωN q xN Alex Townsend @ MIT 10/26 Fast evaluation of Schlömilch expansions Asymptotic expansions as a matrix decomposition The asymptotic expansion gives a matrix decomposition: ¸ c ˜ Mÿ ´1 Mÿ ´1 m m p´ 1 q a p´ 1 q a 2 2m 2m`1 J0 prk ωn q “ `RM prk ωn q cosprk ωn ´ π4 q ´ sinprk ωn ´ π4 q 1 2m ` 2m ` 32 π 2 m“0prk ωn q m“0 prk ωn q which is a sum of diagonally scaled DCTs and DSTs when rk “ Nk and ωn “ nπ: ˙ „ Mÿ ´1 ˆ SN ´1 0 T T J0 pr ω q “ D 2 ` RM . Dum1 P CN `1 PDum2 ` Dvm1 0 0 vm m “0 J0 Alex Townsend @ MIT “ JASY 0 ` RM 11/26 Fast evaluation of Schlömilch expansions Asymptotic expansions as a matrix decomposition The asymptotic expansion gives a matrix decomposition: ¸ c ˜ Mÿ ´1 Mÿ ´1 m m p´ 1 q a p´ 1 q a 2 2m 2m`1 J0 prk ωn q “ `RM prk ωn q cosprk ωn ´ π4 q ´ sinprk ωn ´ π4 q 1 2m ` 2m ` 32 π 2 m“0prk ωn q m“0 prk ωn q which is a sum of diagonally scaled DCTs and DSTs when rk “ Nk and ωn “ nπ: ˙ „ Mÿ ´1 ˆ SN ´1 0 T T J0 pr ω q “ D 2 ` RM . Dum1 P CN `1 PDum2 ` Dvm1 0 0 vm m “0 J0 Alex Townsend @ MIT “ JASY 0 ` RM 11/26 Fast evaluation of Schlömilch expansions Asymptotic expansions as a matrix decomposition The asymptotic expansion gives a matrix decomposition: ¸ c ˜ Mÿ ´1 Mÿ ´1 m m p´ 1 q a p´ 1 q a 2 2m 2m`1 J0 prk ωn q “ `RM prk ωn q cosprk ωn ´ π4 q ´ sinprk ωn ´ π4 q 1 2m ` 2m ` 32 π 2 m“0prk ωn q m“0 prk ωn q which is a sum of diagonally scaled DCTs and DSTs when rk “ Nk and ωn “ nπ: ˙ „ Mÿ ´1 ˆ SN ´1 0 T T J0 pr ω q “ D 2 ` RM . Dum1 P CN `1 PDum2 ` Dvm1 0 0 vm m “0 J0 Alex Townsend @ MIT “ JASY 0 ` RM 11/26 Fast evaluation of Schlömilch expansions Be careful and stay safe Error curve: |RM prk ωn q| “ Fix M. Where is the asymptotic expansion accurate? RM p r ω| q “ nk ď N s0,M pq π ùñ |RM prk ωn q| ă Computed by a fixed-point iteration Alex Townsend @ MIT 12/26 Fast evaluation of Schlömilch expansions AL pr ω| q Partitioning and balancing competing costs 0 J EV Theorem JASY p r ω| q 0,M The matrix-vector product X “ J0 pr ωT qx can be computed in OpN plog N q2 { loglog N q operations. How many partitions? JEVAL x 0 N JASY x 0 Alex Townsend @ MIT 13/26 Fast evaluation of Schlömilch expansions AL pr ω| q Partitioning and balancing competing costs 0 J EV Theorem JASY p r ω| q 0,M The matrix-vector product X “ J0 pr ωT qx can be computed in OpN plog N q2 { loglog N q operations. How many partitions? JEVAL x 0 N JASY x 0 Alex Townsend @ MIT 13/26 Fast evaluation of Schlömilch expansions AL pr ω| q Partitioning and balancing competing costs 0 J EV Theorem JASY p r ω| q 0,M The matrix-vector product X “ J0 pr ωT qx can be computed in OpN plog N q2 { loglog N q operations. How many partitions? JEVAL x 0 N JASY x 0 Alex Townsend @ MIT 13/26 Fast evaluation of Schlömilch expansions AL Theorem 0 J EV 1 rαN 2 s pr ω| q Partitioning and balancing competing costs JASY p r ω| q 0,M The matrix-vector product X “ J0 pr ωT qx can be computed in OpN plog N q2 { loglog N q operations. Too few partitions JEVAL x 0 N OpN 3{2 q JASY x 0 OpN log N q Alex Townsend @ MIT 13/26 Fast evaluation of Schlömilch expansions AL Theorem 0 J EV 1 rαN 2 s pr ω| q Partitioning and balancing competing costs JASY p r ω| q 0,M The matrix-vector product X “ J0 pr ωT qx can be computed in OpN plog N q2 { loglog N q operations. JASY x 0 Too many partitions N OpN 2 log N q x JEVAL 0 OpN log N q Alex Townsend @ MIT 13/26 Fast evaluation of Schlömilch expansions AL Theorem 0 J EV 1 rαN 2 s pr ω| q Partitioning and balancing competing costs JASY p r ω| q 0,M The matrix-vector product X “ J0 pr ωT qx can be computed in OpN plog N q2 { loglog N q operations. Oplog N { log log N q partitions N JASY x 0 OpN plog N q2 { loglog N q Alex Townsend @ MIT JEVAL x 0 OpN plog N q2 { loglog N q 13/26 Fast evaluation of Schlömilch expansions Fix M. But, what M should we pick? Pick the working tolerance: ą 0: N “ 1,000 0.5 2 “ M Execution time 5 M RM pr ω| q “ “ M “ 10 0.45 0.4 0.3 0.25 “1 0 ´9 0.2 0.15 For computational efficiency: “ 10 ´15 0.35 0.1 “ 10´3 5 10 15 20 M M “ maxpt0.3 logp1{qu, 3q Other algorithmic parameters are decided upon by precise error bounds. Alex Townsend @ MIT 14/26 Fast evaluation of Schlömilch expansions Dir ec Op t N2 q A handful of FFTs Zero offline cost Analysis-based Ñ guaranteed accuracy Execution time Analysis-based algorithmic parameters q w Ne og N l og l 2{ q N g N Op plo N Parameter M sν,M pq α β P Alex Townsend @ MIT Short description Formula Number of terms in asy maxpt0.3 logp1{qu, 3q z ě sν,M pq ñ |Rν,M pz q| ď [Table 4.1, T., 15] Partitioning parameter psν,M pq{πq1{2 Refining parameter minp3{ log N, 1q Number of partitions rlogp30α´1 N ´1{2 q{ log βs 15/26 Fast evaluation of Fourier–Bessel expansions Overview of talk Increasingly nonuniform FFT Evaluation of Schlömilch expansions Evaluation of Fourier–Bessel expansions DFT J0 p r ω| q J0 p r j 0 q rk “ k {N, ωn “ nπ, | DHT | J0 p j 0 j 0 {j0,N `1 q j0,n “ Bessel roots Goal: FFT-based and analysis-based fast transforms with zero offline cost. Alex Townsend @ MIT 16/26 Fast evaluation of Fourier–Bessel expansions Setup Fourier–Bessel expansion of f : r0, 1s Ñ C is: f pr q “ N ÿ xn J0 pj0,n r q. n “1 Aim: A fast algorithm for evaluating f pr q at rk “ k {N for 1 ď k ď N. Equivalent to the following matrix-vector product: ¨ ˛¨ ˛ J0 pr1 j0,1 q . . . J0 pr1 j0,N q x1 ˚ ‹ ˚ ‹ | .. .. ... ‹ ˚ ... ‹ , J0 pr j 0 qx “ ˚ . . ˝ ‚˝ ‚ J0 prN j0,1 q . . . J0 prN j0,N q xN Alex Townsend @ MIT rk “ k {N, J0 pj0,n q “ 0. 17/26 Fast evaluation of Fourier–Bessel expansions Bessel roots as a perturbation of an equispaced grid Idea: Bessel roots are nearly equispaced. Lemma (Theorem 3 in [Hethcote, 70].) Let j0,n denote the nth positive root of J0 pz q. Then, ˇ ˆ ˙ ˇ ˇ ˇ 1 1 ˇj0,n ´ n ´ ˇď π . ˇ ˇ 4 8pn ´ 41 qπ We can write: j0,n “ looooomooooon pn ´ 1{4qπ `bn , ω̃n Alex Townsend @ MIT | bn | ď 1 . 8pn ´ 14 qπ 0 40 18/26 Fast evaluation of Fourier–Bessel expansions A matrix decomposition Theorem For integers K ě 1 and T ě 1 we have | J0 p r j 0 q “ J0 p r ω̃| ` r b | q “ Kÿ ´1 Tÿ ´1 s “´K `1 t “0 diag-weighted Schlömilch hkkkkkkkkkkkkikkkkkkkkkkkkj p´1qt 2´2t `s 2t ´s Dr Js p r ω̃| qDb2t ´s `EK ,T . t!pt ´ s q! Proof. Neumann addition formula and Taylor expansion of J0 pz q about z “ 0. | J0 p r j 0 q Alex Townsend @ MIT “ A ` p1q EK ,T A low-rank correction used for this 19/26 Fast evaluation of Fourier–Bessel expansions Numerical results Looks like “33 But, after rearranging sum: Fourier-Bessel “ looooooomooooooon p2T ` K ´ 2q ˆ Schlömilch “10 xn J0 pj0,n k {N q, 1 ď k ď N. n“1 10 Fourier-Bessel “ looooomooooon p2K ´ 1qT ˆ Schlömilch Alex Townsend @ MIT Xk “ N2 q T “ 3. N ÿ 1 Op K “ 6, Fourier–Bessel expansions: Execution time Rearrange computation: For “ 10´15 , T and K are: Np Op 10 0 log log og 2 {l Nq 10 -1 Direct ǫ=10 -15 ǫ=10 -8 ǫ=10 -3 10 -2 10 2 Nq 10 3 N 10 4 10 5 20/26 The discrete Hankel transform Overview of talk Increasingly nonuniform FFT Evaluation of Schlömilch expansions Evaluation of Fourier–Bessel expansions DFT J0 p r ω| q J0 p r j 0 q rk “ k {N, ωn “ nπ, | DHT | J0 p j 0 j 0 {j0,N `1 q j0,n “ Bessel roots Goal: FFT-based and analysis-based fast transforms with zero offline cost. Alex Townsend @ MIT 21/26 The discrete Hankel transform Discrete Hankel transform Let j0,k denote the nth positive root of J0 pz q. The ratios are nearly equispaced: j0,k {j0,N `1 ˇ ˇ 1ˇ ˇ j k ´ 1 ˇ 0,k 4ˇ ´ . ˇ ˇď 0 1 3 3 ˇ j0,N `1 N ` ˇ 8pN ` qpk ´ 1 qπ2 4 4 4 In a similar manner to the Fourier–Bessel case, we have | J0 p j 0 j 0 {j0,N `1 q Alex Townsend @ MIT “ B ` p2q EK ,T A low-rank correction used for this 22/26 The discrete Hankel transform Numerical results Discrete Hankel transform For “ 10´15 , we select: K “ 6, T “ 3. xn J0 pj0,n j0,k {j0,N `1 q, 1 ď k ď N. n “1 10 2 “10 10 1 2 10 0 and 2 DHT “ loooooooomoooooooon p2T ` K ´ 2q ˆSchlömilch “100 Execution time DHT “ looooooomooooooon p2T ` K ´ 2q ˆFourier–Bessel O pN 2 q We have Alex Townsend @ MIT Xk “ N ÿ N Op g plo Nq { log log Direct ǫ=10 -15 ǫ=10 -8 ǫ=10 -3 10 -1 10 -2 2 10 Nq 10 3 N 10 4 23/26 The discrete Hankel transform Errors in practice versus theory c “ vector with N p0, 1q entries }f ´ f quad }8 10 0 10 Theoretical bound › › 10´3 ›c ›1 -5 10 ´8 Near-optimal complexity in N and ą 0: › › ›c › 1 OpN plog N q2 logp1{qp { loglog N q, 10 -10 › › 10´15 ›c ›1 where -15 ǫ=10 ǫ=10 ǫ=10 10 -15 1000 2000 N Alex Townsend @ MIT 3000 -8 -3 4000 Transform Schlömilch Fourier–Bessel DHT p 1 2 3 24/26 Conclusion FFT Evaluation of Schlömilch expansions Evaluation of Fourier–Bessel expansions DFT J0 p r ω| q J0 p r j 0 q | DHT | J0 p j 0 j 0 {j0,N `1 q Novel features of our algorithm for the DHT: 1. Zero offline cost. 2. Implementation adapts to individual computer architecture. 3. Guaranteed error control (no heuristics). 4. No hierarchical data structures. Alex Townsend @ MIT 25/26 Thank you Thank you More information in: T., “A fast analysis-based discrete Hankel transform using asymptotic expansions”, to appear in SINUM. Code publicly available from: https://github.com/ajt60gaibb/FastAsyTransforms Alex Townsend @ MIT 26/26 References M. J. Cree and P. J. Bones, Algorithms to numerically evaluate the Hankel transform, J. Franklin Institute, 1983. H. F. Johnson, An improved method for computing a discrete Hankel transform, Computer Physics Communications, 1987. N. Hale and A. Townsend, A fast, simple, and stable Chebyshev–Legendre transform using an asymptotic formula, SISC, 2014. M. O’Neil, F. Woolfe, and V. Rokhlin, An algorithm for the rapid evaluation of special function transforms, Appl. Comput. Harm. Anal., 2010. A. Townsend, The race to compute high-order Gauss quadrature, SIAM News, 2015. A. Townsend, A fast analysis-based discrete Hankel transform using asymptotics expansions, to appear in SINUM, 2015. M. Tygert, Fast algorithms for spherical harmonic expansions, II, J. Comput. Phys., 2008. Alex Townsend @ MIT 26/26 Extra slides Direct approach [Amos, 86] Compute Jν pzq : Lots going on! Alex Townsend @ MIT 26/26 Extra slides Many special functions are trigonometric-like Trigonometric functions cospωx q, sinpωx q Chebyshev polynomials Tn px q Legendre polynomials Pn px q Bessel functions Jν pz q Airy functions Ai px q Also, Jacobi polynomials, Hermite polynomials, cylinder functions, etc. Alex Townsend @ MIT 26/26 Extra slides Many special functions are trigonometric-like Trigonometric functions cospωx q, sinpωx q Chebyshev polynomials Tn px q Legendre polynomials Pn px q Bessel functions Jν pz q Airy functions Ai px q Also, Jacobi polynomials, Hermite polynomials, cylinder functions, etc. Alex Townsend @ MIT 26/26 Extra slides Many special functions are trigonometric-like Trigonometric functions cospωx q, sinpωx q Chebyshev polynomials Tn px q Legendre polynomials Pn px q Bessel functions Jν pz q Airy functions Ai px q Also, Jacobi polynomials, Hermite polynomials, cylinder functions, etc. Alex Townsend @ MIT 26/26 Extra slides Many special functions are trigonometric-like Trigonometric functions cospωx q, sinpωx q Chebyshev polynomials Tn px q Legendre polynomials Pn px q Bessel functions Jν pz q Airy functions Ai px q Also, Jacobi polynomials, Hermite polynomials, cylinder functions, etc. Alex Townsend @ MIT 26/26 Extra slides Many special functions are trigonometric-like Trigonometric functions cospωx q, sinpωx q Chebyshev polynomials Tn px q Legendre polynomials Pn px q Bessel functions Jν pz q Airy functions Ai px q Also, Jacobi polynomials, Hermite polynomials, cylinder functions, etc. Alex Townsend @ MIT 26/26 Extra slides Many special functions are trigonometric-like Trigonometric functions cospωx q, sinpωx q Chebyshev polynomials Tn px q Legendre polynomials Pn px q Bessel functions Jν pz q Airy functions Ai px q Also, Jacobi polynomials, Hermite polynomials, cylinder functions, etc. Alex Townsend @ MIT 26/26