Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport...

69
HAL Id: inria-00070267 https://hal.inria.fr/inria-00070267 Submitted on 19 May 2006 HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés. Multipole-to-local operator in the Fast Multipole Method: comparison of FFT, rotations and BLAS improvements Pierre Fortin To cite this version: Pierre Fortin. Multipole-to-local operator in the Fast Multipole Method: comparison of FFT, rotations and BLAS improvements. RR-5752, INRIA. 2005, pp.65. inria-00070267

Transcript of Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport...

Page 1: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

HAL Id: inria-00070267https://hal.inria.fr/inria-00070267

Submitted on 19 May 2006

HAL is a multi-disciplinary open accessarchive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come fromteaching and research institutions in France orabroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, estdestinée au dépôt et à la diffusion de documentsscientifiques de niveau recherche, publiés ou non,émanant des établissements d’enseignement et derecherche français ou étrangers, des laboratoirespublics ou privés.

Multipole-to-local operator in the Fast MultipoleMethod: comparison of FFT, rotations and BLAS

improvementsPierre Fortin

To cite this version:Pierre Fortin. Multipole-to-local operator in the Fast Multipole Method: comparison of FFT, rotationsand BLAS improvements. RR-5752, INRIA. 2005, pp.65. �inria-00070267�

Page 2: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

ISS

N 0

249-

6399

ISR

N IN

RIA

/RR

--57

52--

FR

+E

NG

ap por t de r ech er ch e

Thème NUM

INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

Multipole-to-local operator in the Fast MultipoleMethod: comparison of FFT, rotations and BLAS

improvements

Pierre Fortin

N° 5752

Novembre 2005

Page 3: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE
Page 4: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

Unité de recherche INRIA FutursParc Club Orsay Université, ZAC des Vignes,

4, rue Jacques Monod, 91893 ORSAY Cedex (France)Téléphone : +33 1 72 92 59 00 — Télécopie : +33 1 72 92 59 ??

����������� ������������������� �������������������� ��!��#"$� %&�'����������� ���(������!���)+*���-,.�� ����%�� �/�-01"1"32'4��������5�����-�$%'�-�$)7698+:<;=�>,.��?�A@ �A,B�C�D��%

E�FHGJIKILGNMPOQI>RSFUTV�W�X>Y[Z�\^]^_<`=a�bdcfegXLY[ZLcChdijY[k>lnmpoJi�ZLcqrlnsutvZ�ewajx>yAzpyA{�{jz|m|}

~^�u{j{�s�lge^��Z5lgZKx�WjZ>l�x�WjZ�hQ�?�J�u�J��`�\As��JZ>Y-��lgZ��u�J�J��`���� {��u��ZKc

�����L�>���j������� h�enWjZ����Jcve _�ijz|egm {�s�z Z�_�Z�enWjs��&¡�Y[s�cve�su¢�egW�Z[¢£�ul5¤�ZLz �+x�sJY[{ji�en�uegm s�h�m c��jijZ[egs�egW�Z�Y-ijz|egm {�sJz|Z>¥Uensu¥¦z|s�xL�uz§M2L ¨ s�{�Z>l���ens�lK© � h$egW�m cClnZ>{�s�lgeCª�Z���mpcfegm hj��ijmpcgW�evª�s���m¬«QZ>lnZ>h�eCZ�}�{jlnZLcncgm|sJh�c�¢­s�l�egWjmpcCsJ{�ZLln�uegs�lK®�ªCWjm|z Z�egWjZ5¤�lncfeCs�hjZ5mpch��uegijl��uz��uh��¯Z�°�x�m Z>h�eL¡&��h��±egWdi�c�x�sJY[Y²sJhjz b$i�cgZL�³¡�enWjZDcgZLx>s�h��±sJhjZ�¡�ijhjz m ´�Z enWjZ ¤�lncfeL¡QlnZLcg{�ZKxencw��cgW��uln{�Z>lnlns�lA��s�ijh��&¡ªCWjmpx�W+m c5{�lgs��JZ>h¯WjZLlgZJ©�Vµª�s�cgx�WjZLY[ZLcL¡QegW��ue lgZK��i�x�Z²enWjZ[s�{�Z>l���egm s�h+x�sJijh�e�su¢¶enWjZ

M2Ls�{�Z>l���egsJlL¡³��lgZ���Z>en��m|z ZL�&®�enWjZ§ �jz|s�x�´ ¨ ����cfew�jsJijlgm Z>l�Vµl��uh�cv¢­sJlgY���h���egW�Z-lnsuen�uegm s�h�cL©�·NZ�enWjZ>h�{jlgZKcfZLh�e^��Y���eglnm|}��u{�{jlgs���x�W�egW���e^i�cgZLcw¸�¹µywa § ¸���cgm x¹µm|hjZK�ul�yAz ��ZL�jl��$adij��{jlgsJ��l��uY�c ¨ lns�i�enm|hjZKcwegs±cf{�Z>ZK��ij{�egWjZ M2L

x�sJY²{�i�en�uegm s�h³© � h�s�l���ZLl^ens$i�cgZ²egWjZ²Y[s�lnZDZ>°�x�m Z>h�ez Z>�JZ>z�º^¸�¹µy�a § ¢­s�l�Y���eglnm|} {jlgs���i�xenc ¨ ¡�ª�Z�lgZKoJi�m|lnZ¶lnZLx>s�{jm ZLcL¡S�ji�e�egWjmpcP���j�jm¬enm|sJh��uzdx�s�cve?x>�uhD��ZC�S�Js�mp��ZL��enW��uhj´�c�egs5cg{�ZKx�mp�uz�j�uen��cvens�l��u�JZLcL©w��m|h��uz z|b��uz z�egWjZKcfZ[cnx�WjZ>Y[ZLc��ulnZ-x>s�Y[{��ulnZL�³¡�enWjZ>sJlgmpx>��z|z b±�uh���{jln�Jxenm xL�uz z|b�ªCm¬enWNi�hjm¬¢­sJlgY»��mpcfeglnm|�jijegm s�h�cL¡ªCWjmpx�W±���uz m �j�uegZKc�s�ijlA¸�¹µy�a��JZ>l�cfm s�hµ©¼�½�¾Q¿gÀDÁ ��Â���� ���JcveD_¯ijz¬enm|{�s�z Z�_�Z>egWjs��&¡?ijh�m¬¢­sJlgYÃ��mpcvenlgm �ji�enm|sJh³¡�ZLlglns�l���s�i�h��&¡P���JcveD��s�ijlnm Z>l V�ln��h�cv¢­sJlgY±¡�lgs�en��enm|sJh³¡¸�¹µy�a

Page 5: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

8��v������������C������,(��������N� ���������5�j�>����� ��� )�� ��%'��� ,�����!���)$�#,(�������� ���C%�?��±��)$�C%�*����-,.±�����-��%µ� � )��C% �-,��C����� ���5����� ��% �A@ �C� "1"32'4��?�5��������� ��% ��� 6 8+:<;�� �� �� � ��� �uh�c5zp�$Y²k>egWjs���Z[YDijz¬enm|{���z ZLc5l��u{�m ��ZKc>¡&zp��Y���tvZ>i�lgZ²{��ulgegm Z[��i�enZ>Y[{�c���Z�xL�uzpx�ijzP��i x�W���Y²{Nz|sJm|h�e��um h�ZLcfe��i�Z��[z�� sJ{�kLln�uegZ>i�l��SY-i�z¬enm|{�s�z Z�¥Hegs�¥Hz s�x>�uz�� §

M2L ¨ © � �uh�cwx�Z l��u{j{�s�lgeL¡�hjs�i�cA��mpcvenm|hj�Jijs�h�c^��ZLi�}�Z>}�{jlgZKcgcgm s�h�cC��m|«Qk>lnZ>h�egZKc{�s�ijlwx�Z�eAsJ{�kLln�uegZLijlL®r��z|sJlnc�o�ijZ�zp�[{jlnZ>Y[m|XLlgZ5ZKcveAh��uegijlnZ>z z Z�Z�eAZ�°�xL��x�ZJ¡jZ�e^�js�h�x�x>s�ijl��uY[Y[Z>h�eCi�egm z m cgk>ZJ¡jhjs�i�cC{jlns�ij�Js�h�cmpx�m^o�ijZ�zp�+cfZKx�sJh�� lnZLcg{�ZLxenZ�¡���z �+��m|«�kLlgZLh�x�Z¯�jZ�z ��{jlnZ>Y[m X>lnZ�¡¶i�hjZ���sJlgh�Z±��� ZLlglnZ>ijl�{�lgkKx�mpcfZJ© � Z>ij} Y[k�enWjs���ZLc�cgs�h�e��� �u��s�l����jk�en��m|z z k>ZLc�{�s�ijl�lgkK��ijm lgZ�zp�-x�sJY[{jz|Z>}�m¬enk���Z�z�� sJ{�kLln�uegZ>i�lM2L®�zp�²Vµl��uh�cf¢­s�lnY[k>Z^~^�u{jmp��Z5��Z���s�ijlnm Z>l¶{��ul��jz|s�xLcZ>e�z ZLc�lgs�en�uegm s�h�cL©�\^s�i�c�{jlnkLcgZ>h�egsJh�crZLh�cgijm¬enZwi�hjZw��{j{jlnsdx�W�Z^��m|«�kLlgZLhJenZw{�s�i�l��Jx>x�kLz|kLlgZLlrz Z�xL�uzpx�ijzQ��Zwx>Z�e�s�{�k>l���enZ>ijl���l ��x�Z

�±z�� ijegm z|mpcg�uegm s�h ��Z�lns�i�enm|h�ZLc�¸�¹µy�a § ¸���cgm x[¹³m hjZK�ul yAz ��ZL�jl��±a�ij�j{jlns��Jln��Y[c ¨ ©�yA¤�h ��� ��{j{�Z>z Z>l z ZLc�¸�¹µy�a���Z�hjm ��ZL��i ºj¡o�ijm¶x>s�lnlgZKcf{�s�h���Z>h�e��ui�}�{jlgs���i�m¬e�c�Y���eglnmpx�m Z>zpc>¡³Z>e-o�ijm¶cgs�h�e�{jz|i�c�Z�°�x>�Jx�ZKc>¡�hjs�i�c��S�Js�h�c�lnZLx>s�ijl�c!����ZLc�lnZLx>s�{jm ZLcL¡³Y��umpcx>Z�cfi�lnx>s#"�e�{�Z>i�e%$>eglnZ�k>�dm|egk¯�Jl&�Jx�Z'�+ijhjZ¯sJlg���uhjmpcg�uegm s�h1�u{j{jlns�{�lgm k>Z±��ZLc$��s�h�hjk>ZKc[Z>h Y[k>Y[s�m lnZ�©)(rhj¤�h³¡�egsJi�egZKc�x>ZLc��Y²kLz|m s�l���enm|sJh�cAcgs�h�ewx>s�Y[{��ulnk>ZKc>¡�cfi�l^ijh¯{�z ��h�egWjkLs�lnm o�ijZ�Z>e�cgijl�ijh¯{jzp�uh�{jl���enm o�ijZD�S��ZLx-��ZLcw��m cfeglnm �ji�egm s�h�c^ijh�m¬¢­sJlgY[ZLcL©* ZKcAx�sJY²{��ul��umpcfsJh�c¶����z|mp��Z>h�eChjs�eglnZ5��{j{jlns�x�WjZwY��ueglnm x>m|ZLz|z Z5����cgk>Z�cgijlCz �²�jm �jz m|s�egWjXKo�ijZ ¸�¹µywa&©+�Á �L� ¿ �-, � �²� Y[k�enWjs���ZAY-i�z¬enm|{���z ZAl��u{jmp��Z�¡J��m cfeglnm �ji�egm s�h�i�hjm¬¢­sJlgY[ZJ¡���s�lnhjZA��� Z>lnlgZLijlL¡JVµl��uh�cf¢­s�lnY[k>Z�~A�u{�m ��Zw��ZA�jsJijlgm Z>lK¡lnsue���egm s�hµ¡j¸�¹�ywa

Page 6: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 º

4 � �D���C�D��%576'8 �L� Á  ��u�:9 Á 8 ;

< © < �?_¯_#{jlnZLcgZ>h�e���egm s�h.©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© �< © ��V�W�Z�ZLlglns�l���s�ijh��$m h�egWjZ ����cfeA_�ijz|egm {�sJz|Z _�Z>egWjs�� ©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© �

< © �j© < ��s�lnY-ijzp�uZ�¢­sJl�egWjZ ����cfeC_¯ijz¬enm|{�s�z Z _�Z>egWjs�� ©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© �< © �j© � (¶lglns�lC��s�ijh��$��h��uz b�cfmpc²©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© =< © �j© º _¯Z>Y[s�lnb�lnZLo�ijm lgZLY²ZLh�enc<©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© < º< © �j© >

M2LsJ{�ZLln�uegsJl�x>s�Y[{jz Z�}�m¬evb ©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© < º

?A@ �j�>� @ Á ���9 ½ �CB¶��� 8 �:D Á ��� 5FE�j© < � mpcgx>lgZ>egZ��jsJijlgm Z>lAV�l��uh�cf¢­s�lnY egWjZLs�lnb��u{j{�z|m ZL�$egsM2LsJ{�ZLln�uegs�l$©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© < >�j© < © <

M2LsJ{�ZLln�uegsJl��dm Z>ª�ZL����cC�

2Dx�sJh��Js�z i�egm s�h ©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© < >�j© < © � ]wcfZ�s�¢�cgbdY²Y[Z>eglnb�{jlns�{�Z>lgegm ZLc ©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© < ��j© ������cfeA�js�i�lgm Z>lAV�ln��h�cf¢­s�lnY ªCm¬enW���z|s�x�´�c�©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© < ��j© �j© < \^ijY[Z>lnm xL�uz&m h�cfen�u��m|z m¬evb ©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© < ��j© �j© � ¸�z s�x�´���ZLx>s�Y[{�sJcgm¬enm|sJh ©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© < ��j© º � Y[{jz Z>Y[ZLhJe���enm|sJh���Z>en��m|zpc[©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© < ��j© º�© < · m|egW�s�i�e^��z|s�x�´�c+©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© <HG�j© º�© � · m|egW���z|s�x�´�c�©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©»�u�

�j© > * sJY[{jz|Z>}�m¬evb ©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©»� <�j© >�© < · m|egW�s�i�e^��z|s�x�´�c+©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©»� <�j© >�© � · m|egW���z|s�x�´�c�©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©»����j© ��_¯Z>Y[s�lnb�lgZKo�ijm|lnZ>Y[ZLhJe�cB©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©»����j© � ~AZ>Y��um hjm hj�[m|h�cfen���jm z|m|evb�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©»�uº�j© � * sJY[{��ulnm cgs�h$ªCm¬enW � q¶_�V�y�x>s���ZN©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©»��>�j© G ����cfeA�js�i�lgm Z>lAV�ln��h�cf¢­s�lnY ¢­s�lA��sJij�jz Z�W�Z>m ��W�e

M2L´�Z>lnhjZLz ©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©»��>

�j© = * sJY[{��ulnm cgs�h$��Z>evª�ZLZ>h±cfm hj�Jz|Z��uh��$��sJij�jz Z�WjZ>m ��W�eC´�ZLlgh�Z>zpc�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©»���I $Á �K���H9 Á 8 � ?�Jº�© < ��s�lnY-ijzp�uZ ©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©»�J�º�© < © < _¯Z�egW�sd�js�z s���b=©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©»�J�º�© < © � * sJY[{ji�egm hj�[enWjZ�lgs�en�uegm s�h$x>sdZ�°�x�m Z>h�encw©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©»�-=

º�© < © º * sJY[{jz|Z>}�m¬evbé�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© ºJ�º�© ��_¯Z>Y[s�lnb�lgZKo�ijm|lnZ>Y[ZLhJe�cB©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© º�ºº�© º ¸�¹�ywa�i�cg����Z�cfegi���b=©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© º�ºº�© º�© < � s�i��jz|Z�W�Z>m ��W�eC´�Z>lnhjZLz�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© º�ºº�© º�© � a�m|hj�Jz|Z�W�Z>m ��W�eC´�Z>lnhjZLz ©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© º->

º�© > \^ijY[Z>lnm xL�uz³cfen���jm|z m|evb9©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© º->EK6 �ML�, ½ � ½ 8 �K���H9 Á 8 À 9£�HNPO�Q¶�3R I�S

>�© <M2LsJ{�ZLln�uegs�l��dm Z>ª�ZL����cC�²Y���eglnm|}�¥¦��ZKxens�l�{jlgs���i�xe�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© º��

>�© ��¹µZ>�JZ>z2¸�¹µywa ©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© º��

>�© �j© < � s�i��jz|Z�W�Z>m ��W�eM2L´�Z>lnhjZLz�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© º��

>�© �j© � a�m|hj�Jz|Z�W�Z>m ��W�eM2L´JZ>lnhjZ>z ©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© º G

>�© º ¹µZ>�JZ>z3¸�¹µywa ©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©T>��

>�© º�© < * sJY[{ji�egm hj�[enWjZ�z|s�xL�uz&Z�}�{���h�cgm|sJh�c�su¢�x>Z>z z cAªCm¬enW�m h�x>s�Y[{jz Z�egZ5m h�egZ>l���x�egm s�h�z|mpcfe<©�©�©5©�©5©�©�©�©5©T>Jº>�© º�© � * sJY[{ji�egm hj�[enWjZ�z|s�xL�uz&Z�}�{���h�cgm|sJh�c�su¢�x>Z>z z cAªCm¬enW±x>s�Y[{jz Z�enZ�m h�egZLln�Jxegm s�h�z m cfe ©5©�©�©5©�©5©�©�©�©5©T>U>>�© º�© º � Y[{jz Z>Y[ZLhJe���enm|sJh�ªCm|egW±z Z>�JZ>z

3¸�¹µywa�xL�uz z c9©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©T>d�

>�© > V�ZLcfencC��h���x�s�Y[{���lgmpcgs�h�c ©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©T> G>�© >�© < � ZLx>s�Y[{�sJcgm¬enm|sJh$¢­sJlAcfm hj�Jz|Z5WjZLm|�JWJe

M2L´�ZLlgh�Z>zr©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©T> G

>�© >�© � ~AZLx�sJ{jm ZLcC�uh���cg{�ZLx�mp�uz³����en�[cfegsJln����ZLc ©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©»�u�>�© ��_¯Z>Y[s�lnb�lgZKo�ijm|lnZ>Y[ZLhJe�cB©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©»� <>�© � adegi���b$su¢�lgZKx�s�{�m|ZKcC�uh���cf{�ZLx>m ��z³�j��e��[cvens�l��u��ZKc�¢­s�lCsuenWjZ>l

M2Lm Y[{jlgs��JZ>Y[Z>h�e�c>© ©5©�©5©�©�©5©�©5©�©�©�©5©»�uº

V�VXW-Y�Z'[\Z^]

Page 7: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

> ���������^��!�

;�� Á � L��j� 9U� Á 8 Á D��:N ½M2L

9 �ML�� Á���½ � ½ 8 �K� ;�E�j© < _¯Z>Y[s�lnb�lgZKo�ijm|lnZ>Y[ZLhJe�cB©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©»��>�j© � * q�] egm Y²ZKc�¢­s�lAcgm hj��z Z5WjZ>m ��W�eM2L´�ZLlghjZLz�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©»��>�j© º * q�] egm Y²ZKc�¢­s�lA�js�ij�jz Z5WjZ>m ��W�e

M2L´�ZLlgh�Z>z ©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©»��>�j© > * sJY[{ji�en�uegm s�h���z&Z�°�x�m Z>h�x�b+©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©»����j© � a�m|hj�Jz|Z5�JZ>l�cfi�c���sJij�jz Z�WjZ>m ��W�eC´�ZLlgh�Z>zpc9©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©»�u�

S � Á 8 �-, ��H9 Á 8 ;��

��� L�L ½ 8 Â�9P�,R�L�N ½ ��9£�J� , N������ Á 8 9£��� S��y-© < ywcgcgs�x�mp��enZL��¹³Z>�JZ>h��jlgZw¢­ijh�x�egm s�h�cL© ©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© ���y-© � a�{jWjZ>lnmpx>�uz&W��ulnY²sJhjmpx>cL©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© � <O�� L�L ½ 8 Â�9P�� 9£�K�u� ½ � ½ @ Á ���9 ½ � B���� 8 �:D Á ��� �HN ½�Á � ¾ S$?¸�© < * sJhd��s�z i�enm|sJh ©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© �J�¸�© � � �?V5® � m cnx�lnZ�enZ5��s�ijlnm Z>lAV�ln��h�cv¢­sJlgY ©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© �J�¸�© º.¸ � �?V5®�¸���x�´dª���ln� � mpcgx>lgZ>egZ��jsJijlnm|ZLlAVµl��uh�cf¢­s�lnY ©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© �J�¸�© >BV�W�ZwenWjZ>sJlgZLY'su¢ � m cnx�lnZ�enZ * sJhd��s�z i�enm|sJh ©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© �J�¸�© � V�W�ZwenWjZ>sJlgZLY'su¢

2D� mpcnx�lnZ�egZ * sJh��Js�z i�egm s�h$©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© ��º¸�© �.\^s�h�¥¦{�Z>lnm|s���mpx�m|evb��uh����LZ>lnsu¥¦{����j�jm|hj� ©5©�©5©�©�©5©�©5©�©�©�©5©�©�©5©�©5©�©5©�©�©�©�©5©�©5©�©�©5©�©5©�©�©�©5© ��º

����V����

Page 8: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 �

� � �D�µ�?��)��$�¶����� ������ ���� ��� ��� ��������������

V�WjZN¥¦��sd�jb�{jlgsJ�jz Z>Y m h$hdijY[Z>lnmpx>�uz&cgm|YDijzp��egm s�h�c��jZLcnx�lnm|��ZLc�egW�Z5x>s�Y[{ji�e���enm|sJh�su¢?�uz zQ{��um lgªCmpcgZ^m hJenZ>l���x�egm s�h�c��uY[sJhj�

N��s���m|ZKc>©�V�WjZ$����cfeD_�i�z¬enm|{�s�z Z$_�Z>egWjs�� § ��_�_ ¨ cgs�z ��ZKc�egWjmpc N¥¦��sd�jbN{jlns���z|ZLY�¢­s�l²�uhdb��Jm|�JZ>h+{jlnZLx>m cgm|sJh+ªCm¬enW O(N)lnijh�egm Y[Z5x>s�Y[{jz Z�}�m|evb��u�J��m|h�cve O(N2)

¢­s�l�enWjZ���m|lnZLx�eAx�s�Y[{jijen��enm|sJh³©PV�Wjmpc�Y[Z>egWjs��$W���c���Z>Z>h±��ZL��Z>z s�{�ZL���db���lgZLZ>hj���ul��� ~CsJ´dWjz|m h m h �!�5~ G �#"�¢­sJlDm|enc

2Di�hjm¬¢­sJlgY(�JZ>l�cfm s�hµ¡�m h$�!�5~ G G "�¢­s�l²m¬e�c

3Dijhjm|¢­s�lnY#�JZ>l�cfm s�hµ¡?��h�� m h$� * �5~ G G "�¢­s�lm|encC�J�j�u{�enm|�JZw�JZ>l�cfm s�hµ©���m lncfeCm|h�eglns���i�x>ZL��¢­sJl���l��S��m|en�uegm s�h���z�{�suenZ>h�egmp�uzpc�m|h±��cfeglns���bdh��uY[mpx>c�s�l�Z>z ZLx�eglnsJcfen�uegmpx § x�s�i�z|sJY-�jmpx ¨{�suenZ>h�egmp�uzpc�m|h Y²sJz|ZKx�ijzp�ul���bdh��uY[mpx>c%� �5~ G �&"¦¡^m|e�W���c�egWjZLh ��Z>ZLh Z�}denZ>h���ZK� ªCm|egW ��m¬«QZ>lnZ>h�e�Y[�uegWjZLY���egmpx>��z5����cgZLc�egsZLz|ZKxeglns�Y�����hjZ>egmpcfY'� � ��l = =#"H¡)(w¹�a � xL�u{��Jx�m|en�uh�x�Z*� \^· = < "¦¡ul�����m sJcgm¬evb�� a�+wV + =J�#"¦¡�sJ��tvZLx�e�Y[s���Z>z m hj�,� * ¸ * + � < "��uh��DY��uhdbY[s�lnZ�®?ª�Z�ªCm|z z³x�sJh�cgm ��ZLlCWjZ>lnZ5��l��S�dm¬e���egm s�h��uzQ�uh��$Z>z ZLx�eglnsJcfen��enm x�{�suenZ>h�egmp�uzpc>©

��s�lPenWjZLcgZC{�s�egZLhJenm ��z cPegWjZ3D�?_¯_ W��Jc?egW�Z^��l��SªC����x�´5ens�{jlgZKcfZLh�e¶�wz m hjZL��l¶x�sJY²{�z|Z>}dm|evb-ªCm|egW���h²i�h���Z>lnz b�m hj�5¢£�JxegsJlm h O(P 4)

ªCWjZ>lnZPmpcCegW�Z-Y���}�m Y-ijY ��Z>�JlgZLZ�m|h±enWjZ-Z>}�{��uh�cgm s�h�cL© � hNx�s�h�enln��lgb�enWjZ

2D�?_¯_ x�s�h�cve��uh�eAm c^m|h O(P 2)

©ywc^enWjmpc^z m|Y[m|enc^egWjZ²i�cgZ-s�¢¶��_�_(m|h3Dcgm|YDijz �uegm s�h�cL¡QcfsJY²Z²cgx�W�Z>Y[ZLc^W��S��Z ��Z>ZLh�m h�eglnsd�ji�x�ZK�±m|hNs�l���Z>lCens�lnZL��i�x�Z enWjmpcx>sJcfe-cfi�x�W��Jc>®D����cfe-�jsJijlnm|ZLl-Vµl��uh�cv¢­sJlgY § �?��V ¨ m|h-� (¶¸ =��."¦¡�lgs�en��enm|sJh�c�m h/� · +*��=��0"��uh���Y[s�lnZ�lnZLx�ZLh�egz b�{jzp�uhjZ�ª��S��ZZ>}d{��uh�cgm|sJh�c�m h%�!�5~#=��."µ�uh���m h1� * �5~#= =."¦©ryAz z&egWjZKcfZ�cnx�WjZ>Y[ZKc�lgZK��i�x�Z�enWjZ O(P 4)

¢£�Jxens�l�egs�� O(P 3)s�l O(P 2)

©·�Z5{jlgsJ{�s�cfZwWjZ>lnZ��D�jm¬«QZ>lnZ>h�eA�u{j{�lgs���x�W³®�ª�Z�ªCm|z z&i�cgZ5Wjm|�JWjz b�Z�°�x�m Z>h�eCm|Y[{jz Z>Y[ZLhJe���enm|sJh�egZKx�Wjhjmpo�ijZLcCcgi�x�W$�Jc�¸�¹�ywa§ ¸��JcfmpxA¹µm|hjZK�ulry^z|�JZ>�jl�� adij�j{�lgsJ��l��uY�c ¨ � ¹�+�232-��=."�� � * +4+ GUG "�� � * + � =��5"�ens�m|Y[{jlns���Z�enWjZAlnijh�egm Y²Z^su¢³�?_¯_ ©JV�W��uhj´�cens$sJ{�egm Y��uz�i�cfZDsu¢renWjZ[��m¬«QZ>lnZ>h�e�z �SbJZ>l�cAsu¢PenWjZ²Wjm|ZLln��lnx�W�m xL�uz³Y[Z>Y[sJlgb±su¢PenWjZ[x�s�Y[{jijegZ>lK¡&cfs�egW��uewenWjZ-{�m|{�Z>z m|h�ZLc�su¢renWjZ

6 s���enm|hj�5{�s�m h�e?i�hjm¬e�cr�ulnZ�¤�z|z ZL�²��eP��ZLcfeL¡�egWjZLb m|h���Z>ZK�Ds�«�ZLlrcfi���cve��uh�egmp�uzdlnijh�egm Y[Z�cg{�Z>ZL�jij{[s�h[cfij{�Z>l�cnx>�uzp�ul?�ul�x�Wjm|egZKxegi�lgZKc>©V�Wjmpc¶cg{�Z>ZL�jij{�s�hjz bD�u«�ZKxe�c?egWjZwx�s�h�cve��uh�ePm|h[enWjZ O(P 4)hjsue���egm s�h���h��²ª�ZA´JZ>ZL{-enWjZ O(P 4)

s�{�Z>l���enm|sJh²x>s�ijh�er�ji�e�cfm h�x�ZJ¡m hNY[sJz|ZKx�ijzp�ul���bdh���Y²mpx[cfm Y-i�z �uegm s�h�c^¢­s�l�Z>}���Y[{jz|ZJ¡Pi�cgi���z|z b�ln��hj��ZKcA¢­lns�Y

3egs

15¡&ªCWjmpx�WNmpc5oJi�m¬enZ�z|s�ª�m hNegZ>lnY�c�su¢sJ{�ZLln�uegm s�h±x�s�i�hJeK¡degWjZ cg{�Z>ZL�jij{±s���e��um hjZL�$ªCm¬enW�¸�¹�ywa�x>��h$Z>}jx�Z>ZK��enWjZ�s�h�Z�sJ��en��m|h�ZL��ªCm¬enW��Dz s�ª�Z>l�s�{�Z>l���enm|sJh$x�sJijh�eL©

·�Z¯�uzpcfs ��mpcfegm hj��ijmpcgW evª�s ��m|«�ZLlgZLhJe�Z>}d{�lgZKcgcgm|sJh�c²su¢�egWjZM2LsJ{�ZLln�uegsJlL© � h���ZLZL�&¡�egW�Z�Z>lnlgsJl²��s�i�h��1su¢�egWjZ¯º ��?_¯_(W���cA��Z>ZLh¯Wjmpcvens�lnm xL�uz z|b § �!�5~ G �&"7�!��lnZ GUG " ¨ {jlgZKcfZLh�egZL�$¢­sJl^enWjZ-ZL�S��z|i���egm s�h±s�¢r{�s�egZ>h�enm ��zµªCm|egW¯ZLm¬enWjZ>lw¤�hjm|egZDY-ijz|egm|¥{�s�z ZDZ>}�{��uh�cgm s�h�c^s�lw¤�hjm|egZ²z|s�x>��z�Z>}�{��uh�cgm s�h�cL©w¸�i�eK¡³��cwY²ZLh�egm s�hjZK���db±cgZ>�JZ>l��uz��ui�enWjs�l�c § � adq�=��#"¦¡�� · +���=->5" ¨ ¡&ª�ZDW��S��Z��z cgs�egs�x�sJh�cfmp��ZLlL¡?ªCWjZLh�m|Y[{jz Z>Y[ZLhJenm|h��¯egW�Z$�?_¯_ ¡�egW���e-enWjZ

M2Ls�{�Z>l���ens�l-�Jxenc-s�h ¤�hjm¬enZ�YDijz¬enm|{�s�z Z�Z>}�{��uh�cgm s�h�cL¡ªCWjmpx�W+Y[ZL�uh�c�egW��ue ��s�egW+Y-ijz|egm {�s�z Z[��h���z|s�xL�uzPZ�}�{���h�cgm|sJh�c5�ulnZD¤�hjm¬enZ�©�· WjZLh ��Z>hjs�egm hj�

PenWjZ[Y���}�m|YDijY<�jZ>��lnZ>Z²su¢enWjZ�Z�}�{���h�cgm|sJh�c>¡��uh��

n§ lnZLcg{�ZKxegm ��ZLz|b

j ¨ egWjZ��jZ>��lnZ>ZKc�su¢�egWjZ�YDijz|egm {�sJz|Z § lgZKcf{�ZLx�egm ��Z>z b�z s�x>��z ¨ Z>}d{��uh�cgm|sJh�enZ>lnY�c>¡µevª�s��m|«QZ>lnZ>h�e^´dm|h��jcCsu¢M2LZ�}�{jlnZLcncgm|sJh�cCx>��h$enWjZ>h±��Z i�cgZL�&© � h�egWjZ�¤�lncfeAs�hjZJ¡j��suegW

n�uh��

j¢­ijz z|b$ln��hj��Z5��Z�evª�Z>ZLh

0��h��

P¡�ªCWjZ>lnZL�JcPm h[egWjZ^cgZLx>s�h��

M2LZ>}�{jlgZKcgcgm s�h²ª�ZAi�cfZCsJhjz|bDegZLlgY�cPªCm|egWµ®

n+ j ≤ P©?· Wjm z|ZAegWjZC¤�lncfe¶s�h�ZAm crh���enijln��z��uh��x>s�Y[Y[s�hjz b±i�cfZK� § � q�aja1=J�."¦¡8� a�q�=��."H¡8� · +���=->9" ¨ ¡Qhjs$cgW��uln{¯ZLlglns�lA��s�i�h��¯W��JcAbJZ�ew��Z>ZLh¯¢­sJijh��&¡�egs�s�i�l^´dhjs�ªCz ZL���JZ�¡�¢­s�lenWjZ�x>s�lnlgZKcf{�s�h���m|h��5cgijY[Y���enm|sJh�c>©?·�Z^ªCm z|z�{jlns���Z�enW���e�egWjZ�cfZKx�s�h���s�hjZJ¡�enWjs�i���W���ZLhjZ>l��uz z b-z ZLcnc¶Z>°�x>m|ZLh�eL¡�lgZKcf{�ZLx�enc�cfi�x�WcgW��uln{¯ZLlglns�lw��sJijh��&© ��s�l�egWjZKcfZ-evª�s�Z�}�{jlnZLcncgm|sJh�c>¡�ª�Z²ªCm z|z?{jlnZLcgZ>h�e^enWjZ[{jlnm|h�x>m|{�z|ZKcw��h���enWjZDm Y[{jz Z>Y[Z>h�en�uegm s�h�¢­ZL��enijlnZLc¢­sJl�evª�s-m Y[{jlns���Z>Y[ZLhJe�crs�¢³egWjZ

M2Ls�{�Z>l���egsJlL¡Jh��uY[ZLz|b��?�?V �uh���lnsuen�uegm s�h�cL¡d��c�ª�ZLz|z&��c¶¢­s�l�s�i�l�¸�¹µy�a���{j{jlnsJ��x�Wµ©�·�ZªCm z|z�enWjZ>h¯{�lgsJ{�s�cfZ-�$��Z�e��um z|ZK�¯x�sJY[{��ul��umpcfsJh$s�¢PegWjZ²Y[Z>Y[s�lnb�lgZKoJi�m|lnZ>Y[Z>h�e�c>¡�hdijY[Z>lnm xL�uzµ{�lgZKx�mpcfm s�h�c^�uh���lnijh�egm Y[ZLcL¡�¢­s�lijh�m¬¢­sJlgY �jm cfeglnm|��i�egm s�h�c�cgZLo�ijZLh�egmp�uz z|b�x�sJY[{ji�egZK�&¡³��Z�evª�Z>ZLh�enWjZLcgZ²egWjlnZ>Z�cnx�WjZ>Y[ZLc5��ZL{�ZLh���m hj�±s�h�egWjZ

M2LZ�}�{jlnZLcncfm s�hi�cgZL�³©

¸�Z�¢­sJlgZ5enW���eK¡�ª�Z WjZLlgZ���lgm Z 6 b±��ZKcgx>lgm ��Z egWjZ-�?_¯_�®�ª�Z lnZ�¢­Z>lAegWjZDlgZK����ZLl�egs�enWjZD��lfenm x>z|ZKcCsu¢���lnZ>Z>h��J�ul�� � ~As�´dWjz m|h¢­sJl-�±x�s�Y[{jz Z�enZ�{jlnZLcgZ>h�en�uegm s�h�su¢�egWjZ��?_¯_B�uh������jZ�¤�hjm|egm s�h+s�¢�enWjZ[¢­s�z z|s�ªCm hj��egZLlgY�cL©�V�WjZ��?_¯_.i�cgZLc���o�i��J�deglnZ>ZsJlw�uh�s�x�eglnZ>Z�m h¯s�l���Z>lAegs���m �dm �jZ�egWjZ²x�sJY²{�i�en�uegm s�h���zµcf{���x�ZJ©AV�WjZ {�suenZ>h�egmp�uzµ¤�Z>zp��m h�ZL��x�W�{�s�m h�e^mpcCegW�Z>h���ZKx�sJY²{�sJcgZL�m h���hjZL��l5¤�Z>zp� �uh�����¢£�ul5¤�Z>zp�+{��ulgeL®5enWjZ�hjZL��l5¤�Z>zp�+mpc���m|lnZLx�egz bNx>s�Y[{ji�enZL��ªCWjZ>lnZL�Jc�egWjZ[¢£��l�¤�ZLz ��mpc �u{j{�lgsS}�m Y[�uegZK�enW��uhj´�c^egs$Y-ijz|egm {�sJz|Z[�uh���z|s�xL�uz�Z�}�{��uh�cfm s�h�cL©wV�W�Z-Y-i�z¬enm|{�s�z ZDZ>}�{��uh�cgm s�h�cw�ulnZ �jijm z¬e���ewegWjZ²z ZL��¢rz Z>�JZ>z?�uh��¯ª�Z²��ZL��i�x�ZenWjZAz sdxL�uz�Z>}d{��uh�cgm|sJh�c?m h²ZK��x�W²z|ZK��¢&��¢ enZ>l¶��hDij{dª��ul��D��h��[����s�ªChdª���ln� {���cnc>© � ijlgm hj�5enWjZA��s�ªChdª���ln�-{���cncP�uz zjYDijz¬enm|{�s�z ZZ>}d{��uh�cgm|sJh�c�m|h�egWjZ��!�� &'� �9:)*���-�<; � �^Qsu¢��-��m ��Z>h$x�Z>z zc��lgZ�x�s�hd�JZ>lgegZL�²ensDz s�x>��z�Z>}d{��uh�cgm|sJh�cP¢­sJl

c®�enWjmpc�sJ{�ZLln�uegm s�h�mpc��S��z|mp�cgm|h�x�Z

cmpc�=�&>;?;A@ �)& "1�-��� &\�r¢­lns�Y ZK��x�W Y[ZLY-��Z>l?su¢�m|enc�m h�egZ>l���x�egm s�h z mpcveK©�·�Z�W�Z>lnZ¶i�cgZ¶enWjZ�cg��Y²Z���Z>¤�hjm|egm s�hD�Jc���lnZ>ZLhj�J��ln� �~CsJ´dWjz|m h<�!�5~#=��#"�¢­s�l¶egWjZwhjsuenm|sJh�su¢�=�&>;?;A@ �)& "�����- &)��&'�\�®?evª�s x>Z>z z c��ulnZAª�ZLz|z|¥ cfZL{��ul���enZL�Dm¬¢&enWjZ>b[��s hjs�e�cgW��ulnZA����s�ijh��j�ulnb{�s�m h�eL©P_�s�lnZ�{jlnZLx�mpcgZ>z b�¡uªCWjZLh���Z>hjs�egm hj�

wsenWjZCª�Z>z z¬¥ cfZL{��ul���enZ>hjZKcgc�x�lnm|egZ>lnm s�h³¡uªCm|egW

ws = 1sJhjz|b egWjZAh�ZL�ulnZLcfePhjZ>m ��Wd��s�l�c��lgZAx>s�h�cgm �jZ>lnZL�²��c?hjs�erª�ZLz|z|¥¦cgZ>{��ul���egZK�-ªCW�m|z ZCªCm¬enW

ws = 2��s�egW[hjZL��lgZKcverh�Z>m ��Wd��sJlncP��h��[cfZKx�sJh��-h�ZL�ulnZLcfePhjZ>m ��Wd��s�l�cP�ulnZx>s�h�cgm �jZ>lnZL�±��c^hjsue^ª�Z>z z|¥¦cgZ>{���ln�uegZK�&©¶·�Z i�cgZ

ws = 1m|h¯egWjmpcA{���{�ZLl^ªCWjmpx�W±m|Y[{jz m ZLc

189Y[Z>YD��ZLlnc^m|h�ZK��x�W±m|h�enZ>l���xenm|sJhz m cfeL©

·�Z²�jZ>hjs�egZ²��bP2MenWjZ[s�{�Z>l���ens�lAenW���e���Z>egZ>lnY[m|h�ZLc^egWjZ[Y-i�z¬enm|{�s�z ZDZ>}�{��uh�cgm s�h¯s�¢¶��z ZL�u¢���ijZDegs$egWjZ²{���lfenm x>z|ZKc^m|ex>s�h�en��m|h�cL©

M2M�jZ>hjs�egZLcregWjZAegl��uh�cgz �uegm s�h[su¢³��YDijz|egm {�sJz|ZwZ�}�{��uh�cfm s�h³¡

M2LegWjZ�x�sJh��JZ>l�cfm s�h²su¢³��YDijz|egm {�sJz|ZAZ>}�{��uh�cgm s�hm h�egs¯��z|s�xL�uzrZ>}d{��uh�cgm|sJh³¡µ��h��

L2LegWjZ[enln��h�cgz �uegm s�h�su¢��±z s�x>��zPZ�}�{��uh�cfm s�h³©[·�Z�x�sJh�cgm ��ZLl�egWjZ�lnsdsue�su¢�egWjZ�sdx�eglnZ>Z § sJl

V�VXW-Y�Z'[\Z^]

Page 9: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

� ���������^��!�

:\�� "�� ��������$�0;��\��� ¨ egs���Z²�ue�z Z>�JZ>z 0 © V�WjZC/1&)��� /Frs�¢regWjZ²s�xenlgZLZDmpc5��Z�¤�h�ZL���Jc�m¬e�cwY��u}dm Y-i�Y»z|ZL��Z>zH®^��h�s�xenlgZLZDªCm|egWsJhjz|b�s�hjZ�lnsdsue�W��S��Z��²WjZ>m ��W�eCsu¢0¡Stvi�cveAz m|´JZ��uh±Z>Y[{�evb�s�x�eglnZ>Z�©·�ZC¢­s�x�i�crm|h[enWjm c¶{��u{�Z>l¶s�h[ijhjm|¢­s�lnY �jm cfeglnm|��i�egm s�h�c¶cfZKoJi�Z>h�egmp�uz z|b²x�sJY²{�i�egZK�&©�V�W�ZAijhjm|¢­s�lnY s�x�eglnZ>Z�W���cr��ZLZ>h�Y��um hjz bm Y[{jz|ZLY[Z>h�egZK�$�Jc�m h�enWjZ

DPMTA§ � mpcfeglnm|�jijegZL�$qP�ul��uz z|ZLz�_¯ijz¬enm|{�s�z Z�VµlnZ>Z�yAz ��sJlgm|egWjY ¨ x�s���Z § cgZ>Z,� (rz z =��#"³s�l*� ~^�uh�= =." ¨ ®ª�Z^i�cgZw_¯s�lgegs�h�sJln�jZ>lnm|hj� ¢­s�lrenWjZ�m|h��jZ�}�m|h��-su¢µx>Z>z z c��uh��&¡J�Jm|�JZ>h��Dx�Z>z z�m|h��jZ�}&¡��uz z�m h���Z>}dZKc¶s�¢&egWjZwm|h�enZ>l���xenm|sJh�z|mpcfe�s�¢&egWjmpcx>Z>z z�x>��h²��Z^o�ijmpx�´dz|b-x>s�Y[{ji�enZL�DegW��uhj´�c?ens��jm¬ersJ{�ZLln�uegm s�h�cL©�V�W�m cPmpcr��z cgs5�S��z|mp�D¢­s�l¶�Jx>x>ZLcncfZKcµens5egWjZA¢£��egW�Z>lPsu¢&��x�ZLz|zH¡uens�m¬e�cx�Wjm zp��lgZLh��uh��[egsDegWjZ5x�ZLz|zpc�z|s�x>�uegZK��m|h�egWjZ�hjZL��l¶¤�Z>zp��su¢��-z|ZK��¢v©P_�sJlgZLs���Z>lr�Jc¶m h

DPMTA�uz z

M2L�������0+'&'��+�� � :)*���-�1�§ cfZLZ^cfZKxenm|sJh < © �j© < ¨ �ulnZ�{�lgZKx�s�Y[{jijegZL�[�uerZL��x�W[z Z>�JZ>z���i�lgm hj�5egW�ZA��s�ªChdª���ln�D{���cncL®µªCWjZLh²ª�ZChjZLZL�Degs {�Z>lg¢­s�lnY9sJhjZ M2LsJ{�ZLln�uegm s�h�enWjZ x�sJlglnZLcg{�s�h���m hj�

M2Lenln��h�cf¢­Z>l�¢­ijh�x�egm s�h±m c�lnZ�enlgm Z>�JZL��¢­lgsJY'�uh±����ZKoJi���egZ��j�uen�²cvenlgi�xegi�lgZ�egW��uhj´�c�egs²enWjZx>s�lnlgZKcf{�s�h��jm|hj�

M2L��ZKxegsJlL©

V�WjZ�lnZLcfe�s�¢µegW�m c�{���{�ZLl�m c�s�ln�J��hjmpcfZK����c�¢­s�z z s�ªAc>®�m|h$egW�Z�lnZLcfe�su¢³enWjm cCcgZLx�egm s�h$ª�Z�ªCm|z z&m hJenlgs���i�x�ZwegWjZ�¢­s�lnY-i�z ��Z^i�cgZL�m h+s�ijl5m Y²{�z|ZLY²ZLh�en��enm|sJhNs�¢¶enWjZ���_�_ ©&·NZ�ªCm z zr�uzpcfs±��mpcgx>i�cgc�sJhjZ[Z>lnlgsJlw��s�ijh���mpcgcgijZ��uh��¯{jlnZLcgZ>h�e5egWjZ²evª�s��jm¬«QZ>lnZ>h�eZ>}d{�lgZKcgcgm|sJh�c�su¢�egWjZM2Ls�{�Z>l���ens�lK©D·�Z[ªCm|z zrZ>}d{�sJcgZ��uh�����mpcgx>i�cnc�egWjZ��?�?V9ZLhjW��uh�x�Z>Y[ZLhJe�m h cfZKxegm s�h �j¡&egWjZ�i�cfZ[su¢lnsue���egm s�h�c³m h cfZKxegm s�hDº�¡u�uh���enWjZ¶m h�eglns���i�xenm|sJh�su¢�¸�¹µy�a5m h cfZKxegm s�h�>j©�y^z|z�egW�ZLcgZrm|Y[{jlns���ZLY[Z>h�enc&W��S��Zr��Z>ZLh m|Y[{jz Z>Y[ZLhJenZL�m h���x�s���Z[h���Y[ZL���?_¯¸ ¢­s�l����Jcve _�ijz|egm {�s�z ZLc5ªCm|egW+¸�¹�ywa § s�l�����cfe�_¯ijz¬enm|{�s�z Z[m|h+¸�s�l���ZL��i�} ¨ enW�i�c��uz z|s�ªCm hj��{�lgZKx�mpcfZx>s�Y[{��ulnmpcfsJh�c��uY[s�hj�DegW�Z>Y �Jc�{jlnZLcgZ>h�egZK��m h�cfZKxegm s�h���©

��� � � ��� � ���3���4��� ��� ���4 � ���9� ����� ����3��� � ��� ���·�Zwm h�eglns���i�x�Z�WjZLlgZ^egWjZw¢­s�lnY-ijzp�uZwi�cgZL��m h�sJijl�m|Y[{jz Z>Y[Z>h�e���egm s�h�su¢³enWjZ�����cfe�_¯ijz¬enm|{�s�z Z5_�Z�enWjs��&©P·NZ�ZLcg{�ZLx�mp�uz z bD¢­s�x>i�csJh�egWjZ[x�sJhd��Z>l�cgm|sJh$s�¢¶��Y-i�z¬enm|{�s�z Z-Z>}d{��uh�cgm|sJh±egs���z sdxL�uz�Z�}�{��uh�cfm s�h §

M2Ls�{�Z>l���ens�l ¨ ¡�m¬e�c^evª�s���m|«QZ>lnZ>h�ewZ>}d{�lgZKcgcgm|sJh�c��h��$egWjZLm|lCm Y[{jz|mpx>�uegm s�h�c�sJh�egWjZ�ZLlglns�l���sJijh���su¢�egW�Z�Y²Z>egWjs��&©

5�� ?���5 @ Á � �� �,£� ½ D Á ���HN ½ @ �j�L� + �,­�H9�L Á , ½'+�½ �HN Á ÂV�WjZ�sJlgm ��m h��uzJ¢­s�lnY-i�z ��Z¶su¢�egWjZC���Jcver_�i�z¬enm|{�s�z ZC_�Z�enWjs���¢­s�l�enWjZ�Z>���uz i���enm|sJh-s�¢ * s�ijz s�YD�jmpx¶sJl��Jln�S�dm|en�uegm s�h���zum|h�enZ>l���xenm|sJh�cs�¢�{���lfenm x>z|ZKc�ªCm¬enW��uh�ijhjm|¢­s�lnY���mpcvenlgm �ji�enm|sJh�m h��

3Dcg{��Jx�Z5ª�ZLlgZ�¤�l�cfe��Jm|�JZ>h��db ��lgZLZ>hj���ul�� � ~Cs�´dWjz m|h�m h �!�5~ G G "¦©

+^s�ª�ZL��Z>lAcgm h�x�Z5enWjZM2LsJ{�ZLln�uegm s�h�cC��lgZ5enWjZ Y[sJcfeAegm Y[Z�¥ x�sJh�cfi�Y²m hj��{���lfeAs�¢?egWjZ�¢£��lC¤�ZLz ��x>s�Y[{ji�e���egm s�hµ¡�Y[s���m¬¤�¥xL��egm s�h�cCsu¢�egWjZ-s�lnm|�Jm|h���zQ¢­s�lnY-ijzp�uZ5W��S�JZ5��ZLZ>h�m hJenlgs���i�x�ZL��m h±s�l���Z>l�ens�cfm Y[{jz|m|¢­b$egWjZ

M2LsJ{�ZLln�uegsJlL®?ª�Z x>�uh±WjZLlgZ x>m¬enZ

(r{jegs�h � � Z>Y-���ulge � ( � =J�."¦¡&· Wjm|egZ � +AZK���d¥ ��s�l���sJh � · +*��=->5"¦¡³�uh��±egWjZ[ª�s�ln´�c^��sJhjZD�ue � ij´�Z[]Ah�m|�JZ>l�cfm|evb § cgZ>ZD¢­s�lZ>}���Y[{jz|Z � (rz|z =J�." ¨ ©��whjZ^m Y[{�sJlfe��uh�e�lnZLo�ijm lnZ>Y[Z>h�e¶m h�enWjZ5x�Wjs�mpx�Zwsu¢&egW�ZLcgZ^¢­sJlgYDijz ��Z^mpcrenWjZ�s���cgZ>ln���uh�x>Z^su¢&enWjZ5cfbdY[Y[Y²Z>¥enlgb�{�lgsJ{�ZLlfevb���Y²sJhj�DegWjZ5Y-i�z¬enm|{�s�z Z �uh���z|s�xL�uz&Z�}�{���h�cgm|sJh�egZLlgY�c�s�¢�s�{�{�s�cfm|egZ�s�l���Z>l § cfZLZ�ZKo�i���enm|sJh § y-© º ¨ m|h±�u{�{�ZLh���m|}y ¨ ®PWjZLh�x�Z5sJhjz|b�egZLlgY�c�ªCm|egW±{�s�cfm|egm ��Z5sJln��ZLlnc�hjZLZL�$egs[��Z x�sJY²{�i�egZK�&©·�Z�W��S��Z�x�WjsdsJcgZ>h enWjZ�¢­s�lnY-ijzp�uZ�su¢�(r{�egsJh � � ZLY-����lfeK¡uY��um hjz|b���ZLxL�ui�cgZ�su¢�enWjZCx�zp�ulnm¬evb5s�¢�egW�Z�i�h���Z>lnz b�m hj�wegWjZLs�lnZ>Y�c��h��$egWjZLm|lC{jlnsdsu¢£cL©@ + + Á L ½ ����� Á ��� � · m¬enWNenWjZ���cncfs�x>m �uegZL�N¹³ZL��Z>h���lgZ-¢­ijh�x�egm s�h�c

P ml

��h��¯enWjZ�cf{�WjZ>lnm xL�uz?W���lgY[s�h�m xLcY m

l

��Z�¤�h�ZL�Nm|h��{j{�ZLh���m|}1y-¡¶ª�Z±xL�uh3��ZLcnx�lnm ��Z�egW�Z�sJ{�ZLln�uegsJlnc-egW��ue�W��uh���z|Z�enWjZ±Y-ijz|egm {�sJz|Z¯��h�� z|s�x>��z�Z�}�{��uh�cfm s�h�cL© ¹µm|´JZ'(r{�egsJh �� Z>YD���ulge � ( � =��."¦¡�ª�Z�¤�l�cveAlnZLcg{�ZLxenm|�JZ>z b���Z�¤�hjZ5egWjZ���� &'���uh�� �^� ��&)�r¢­ijh�xegm s�h�cC�db�®

Oml (r, θ, φ) =

(−1)li|m|

Aml

Y ml (θ, φ)

1

rl+1∀ (l, m) ∈ N

2 with 0 ≤ |m| ≤ l,§ < © < ¨

��h��&®Iml (r, θ, φ) = i−|m|Am

l Y ml (θ, φ)rl ∀ (l, m) ∈ N

2 with 0 ≤ |m| ≤ l,§ < © � ¨ªCWjZLlgZJ®

Aml =

(−1)l

√(l −m)!(l + m)!

.

ywcP¢­s�l¶egWjZwcf{jW�Z>lnm xL�uzjW���lgY[sJhjm xLc>¡�ª�ZAZLY[{jW���cgm �>ZCenW���erenWjZOk

j

��h��Ikj

¢­ijh�xenm|sJh�c¶��lgZAx>s�h�cgmp��Z>lnZL�[��crm ��ZLh�egmpx>�uz z bDhdijz z¢­sJlj < 0sJl |k| > j

©PV�WjZ>b�x>�uh±�uzpcgsD��Z�ªClgm|efenZ>h���cL®

Oml (r, θ, φ) = i−|m|(l − |m|)!P |m|

l (cos θ)ei.m.φ 1

rl+1,

§ < © º ¨

Iml (r, θ, φ) =

(−1)li|m|

(l + |m|)!P|m|l (cos θ)ei.m.φrl.

§ < © > ¨����V����

Page 10: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 �

y^h��$egWjZ�lnZ>zp��enm|sJh�c��uY[s�hj�[sJ{j{�s�cfm|egZ5sJln��ZLlnc���lgZJ®O−m

l = (−1)mOm

l ,§ < © � ¨

I−ml = (−1)mI

m

l .§ < © � ¨¹µZ�efenm|h��

X�uh��

X′ ��Z�evª�sN{�s�cfm|egm s�h ��ZLx�egsJlnc-m|h 3Dcg{���x>Z�¡rª�Z�hjs�ª ��m ��Z�egWjZ±Y��um h�enWjZ>sJlgZLY[c-egW���e²egWjZ��?_¯_lnZLo�ijm lgZKc>®�enWjZ>m lC{jlns�s�¢�xL�uh���Z5¢­sJijh���m|h1� ( � =J�."¦©

B.N ½dÁ � ½ � 5�� � ,U�j�K�H9U��� ,��>��� 8 � ,U���H9 Á 8 �:N ½dÁ � ½ ��� ��� ���U&)� 0/1&�� �\� � #"$*���-� ‖X‖ > ‖X′‖ ��=�&�/���%�&��1

‖X−X′‖ =

+∞∑

n=0

n∑

l=−n

(−1)nI−ln (X′)Ol

n(X).

V�Wjmpcµ¢­s�lnY-ijzp��m c�s��jen�um hjZK�5��b��A�jZLx�sJY[{�s�cfm|egm s�h�s�¢�enWjZ�{�s�egZ>h�enm ��z�ªCm|egW-¹µZ>��ZLh���lnZr{�s�z b�h�s�Y[m ��z cµªCWjmpx�W �ulnZPegWjZLY�cfZLz|�JZLc��ZKx�sJY²{�sJcgZL��egW��uhj´�c�egs[enWjZ yC�j��m|egm s�h�V�WjZLs�lnZ>Y ¢­sJlAcf{jW�Z>lnm xL�uz&W���lgY[s�h�m xLc>©V�WjZ5hjZ>}deCegWjZLs�lnZ>Y'mpcCi�cgZL��egs�ZKcve��u�jz m cgWM2M

§ ��� &'� @ �0@ ��� &'� ¨ �uh�� M2L§ ��� &'� @ �0@ �'���$&'� ¨ s�{�Z>l���ens�l�c>©

B.N ½dÁ � ½ � ?��� �� ½ � ¿ � Á�¿ � µ� ½ �� � �� ½ � ¿ � Áj¿ 6'8 8 ½ �CQ¶�1L�,U�j� ½ �>��� 8 � ,U���H9 Á 8 �:N ½dÁ � ½ ��� � ��&'‖X‖ > ‖X′‖ � 0/1&)� �

Oln(X−X′) =

+∞∑

j=0

j∑

k=−j

(−1)jI−kj (X′)Ol+k

n+j(X) ∀ (n, l) ∈ N2 with 0 ≤ |l| ≤ n.

V�WjZ-z �JcveAenWjZ>sJlgZLY x>s�lnlgZKcf{�s�h��jc�egs�egWjZ��$/ �!��C� � ���!������ �$/1&\��� &' m h � ��lnZ G G "H¡Q�uh��±m¬e�m c^i�cfZK��¢­s�lL2L§ �^���$&'� @ �0@

�'����&)� ¨ s�{�Z>l���ens�lK®B.N ½dÁ � ½ � I�� 6'8�8 ½ � ¿ � Á�¿ 6)8�8 ½ � Q¶� L ,£��� ½ �L��� 8 ��,£�j�H9 Á 8 �HN ½dÁ � ½ ��� �

I ln(X−X′) =

n∑

j=0

j∑

k=−j

(−1)jIkj (X′)I l−k

n−j(X) ∀ (n, l) ∈ N2 with 0 ≤ |l| ≤ n.

·�Z¶hjs�ª+�Jm|�JZ?egWjZ�s�{�Z>l���egsJlncP2M¡M2M¡M2L�uh��

L2LegW��ue���lgZrh�Z>ZL�jZL�5¢­sJl³egW�Z��?_¯_ ¡S��cµZ�}�{jlnZLcncfZK�wm h � ( � =��."¦©·�Z �uzpcfs[�Jm|�JZ^enWjZ5¢­s�lnY-ijzp�uZ�enW���e^��lgZ�i�cgZL�$egs���ZK��i�x�Z5enWjZ�{�suegZLh�egmp�uz³�uh���enWjZ5¢­s�l�x�ZKc�¢­lgsJY egWjZ�z s�x>��z&Z�}�{��uh�cfm s�h�cL©

½�� 8 9­�:9 Á 8 5���5��P2M

Á L ½ ����� Á ��� ��� �!% &)�m:\/1�-� � &^�

(qi)i∈J1,mK; �&:\�� &\�M�!�

Qi = (ρi, αi, βi)=�/�� �)&��&>; ����!%�&

:\�:����-�!���� &'� �9: :\����-�!� � � ��:\&)�� &'�z0

���&��Qi − z0 = (ρ′i, α

′i, β

′i)��=�&��U&�� �$&��

Mkj = (−1)j

m∑

i=1

qiIkj (ρ′i, α

′i, β

′i) ∀ (j, k) ∈ N

2 with 0 ≤ |k| ≤ j.

V�WjZ5{�suenZ>h�egmp�uz³mpc�egW�Z>h±��m ��ZLh$�db�enWjZ5¢­s�z z|s�ªCm hj�[Y-i�z¬enm|{�s�z Z�Z�}�{���h�cfm s�hµ®

Φ(x) =

+∞∑

j=0

j∑

k=−j

Mkj O−k

j (x− z0).

Mkj

�ulnZ���Z>h�suegZK�±��c ��; �� "1�5; & & �'"����1�^���-� &'�^ �©¶V�WjZ-cgbdY[Y²Z>eglnb�{jlns�{�Z>lgevb § < © � ¨ �uY[s�h���s�{j{�sJcgm¬enZ5s�l���Z>l�c�m c^�uzpcfs���uz mp��¢­sJl�egWjZKcfZ�YDijz|egm {�sJz|Z5Z�}�{���h�cgm|sJh�enZ>lnY[cL®M−k

j = (−1)kMk

j .§ < © � ¨

½�� 8 9­�:9 Á 8 5 �!?��M2M

Á L ½ ����� Á ��� �M ′l

n � =,�!0/ n ≥ 0� |l| ≤ n � �\&)�!� � !/�&�+'���^ (&'�C ��; �� "1�5; &3& �'"������\���-� &)�^ ��\�=�/�� �)&,: &)�� &)��� �

z0

� =�&�/1�-% & +'��� 0/1&���&>=P ��; *� "��0; & & �'"1�-�1�^����� &)�^ ��\� =�/�� �)&,: &)�� &)��� �z1

Mkj =

j∑

n=0

n∑

l=−n,|k−l|≤j−n

M ′lnIk−l

j−n(ρ, α, β) ∀ (j, k) ∈ N2 with 0 ≤ |k| ≤ j

=�/�&'�&(ρ, α, β)

��� &�0/1& ��"1/1&)�^� :\�0;�:\�H�-����!�$�� &^� � +�!/�&.%�& :' �����z1 − z0

V�VXW-Y�Z'[\Z^]

Page 11: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

G ���������^��!�

½�� 8 9­�:9 Á 8P5 � I��M2LÁ L ½ ����� Á ��� �

M ln � =,�!0/ n ≥ 0

� |l| ≤ n � �\&)�!� � 0/1&� ��; �� "1�5; &.& �^"������^����� &'�^ �\��=�/�� �)& :\&)�� &'�� �z1

� =�&�/1��%�& +'��� 0/1& ; �#: �5; & �'"1�-�1�^����� &)�^ ��\� =�/�� �)& :\&)�� &'� � �z2

Lkj =

+∞∑

n=0

n∑

l=−n

M lnO−k−l

j+n (ρ, α, β) ∀ (j, k) ∈ N2 with 0 ≤ |k| ≤ j

=�/�&'�&(ρ, α, β)

��� &�0/1& ��"1/1&)�^� :\�0;�:\�H�-����!�$�� &^� � +�!/�&M2L

%�& :' �����z2 − z1

V�WjZ5{�suenZ>h�egmp�uz³mpc�hjs�ª ��m ��Z>h��db�egW�Z5¢­s�z z|s�ªCm hj�[z|s�xL�uz&Z�}�{���h�cgm|sJh³®

Φ(x) =

+∞∑

j=0

j∑

k=−j

Lkj Ik

j (x− z2).§ < © G ¨

Lkj

��lgZ���ZLhjsuenZL�±��c ; �&:\�5; & �^"������^������ &)�^ ��©�V�WjZ-cgb�Y[Y[Z�enlgb�{jlgsJ{�ZLlfevb § < © � ¨ �uY[s�hj�[sJ{j{�s�cfm|egZ�sJln�jZ>l�c�m cA��z cgs[���uz m �¢­sJl�egWjZKcfZ�z s�x>�uz&Z>}�{��uh�cgm s�h�enZ>lnY�c>®L−k

j = (−1)kLk

j .§ < © = ¨V�Wjmpc�x>�uh���ZD{jlgs��JZL���db�x�s�h�cfmp��Z>lnm hj�[egW��ue

Φ(x) ∈ R�uh���enW���ewegWjZ

Lkj

�ulnZ ijhjmpo�ijZ�©�V�WjZ>lnZ�¢­sJlgZ�sJhjz b$enWjZ enZ>lnY�c^ªCm|egW{�sJcgm¬enm|�JZ5s�l���Z>l�c��ulnZ5x>s�Y[{ji�enZL��ªCWjZLh$m Y[{jz|ZLY[Z>h�egm hj�M2L¡�ªCW�m x�W�cn�S��Z�W��uz|¢�s�¢µenWjZ x�sJY²{�i�en�uegm s�h³©

½�� 8 9­�:9 Á 8 5�� E �L2LÁ L ½ ����� Á ��� �

L′ln � =,�!0/ n ≥ 0

� |l| ≤ n � �\&)�!� � 0/1&�+'���^ (&)��; �#:\�0; & �'"����1�^���-� &)�^ ��\� =�/1� �)&:\&)�� &'� � �z2

� =�&�/���%�& +'���.0/1&.��&>=-; �&:\�5; & �^"������^����� &)�^ ��\� =�/1���)& :\&)�� &'� � �z3

Lkj =

+∞∑

n=j

n∑

l=−n,|l−k|≤n−j

L′lnI l−k

n−j(ρ, α, β) ∀ (j, k) ∈ N2 with 0 ≤ |k| ≤ j

=�/�&'�&(ρ, α, β)

���& 0/1&3��"�/1&)�^� : �5;*:\�:����-�!���� &'� � +3!/�& %�& :' �����z3 − z2

���C/1&)� � & �5; �!� � =,�!0/ � � �! & & �'"������\���-�1� � + (��� �! � � &�U�&\&

P��0/1& ; �&:\�5;�& �'"1�-�1�^������ &)�^ �.� +��U& �U�&\&��\��^� :) ;�� �U�&\�� &)�.!/����

P���& � ��;?; ����� 0/1& �!�������! & � � T� �

0/1&)� =,�^�!� &)� ��� � ∑Pn=j

· m|egWM2M¡M2L�uh��

L2Ls�{�Z>l���ens�l�cPª�Z5�uz ª��Sbdc¶x�s�hd�JZ>lgegZAsJl¶enln��h�cfzp��enZw��h�s�zp� § Y-ijz|egm {�sJz|Z�s�l�z sdxL�uz ¨ Z>}d{��uh�cgm|sJhens��[hjZ>ª § Y-ijz|egm {�sJz|ZDs�lAz s�x>��z ¨ Z>}d{��uh�cgm|sJh�egW���hj´�c�egs�cgs�Y[Z Ok

j

sJl^cgs�Y[ZIkj

©�V�WjZKcfZ-z �uefegZLlnc^�ulnZ�h��uY[ZL�M2M¡M2LsJl

L2L*� ���1�0+'&)� +�� � :)*���-�1�©

� � � , ����:9 Á 8 Á D�L Á � ½ 8 �:9£� ,r� 8  D Á ��� ½ � � ·NZw¤�l�cve�x�sJh�cfmp��ZLl¶enWjZwZL���uz i���enm|sJh�su¢&enWjZw{�suenZ>h�egmp�uzH©P�jsJl��-¤�hjm|egZ�z|s�xL�uzZ>}d{��uh�cgm|sJh�ªCm|egW�Y[�u}�m|YDijY'��Z>�JlgZLZP�Jm|�JZ>h��db

Lkj

¡0 ≤ j ≤ P

¡ |k| ≤ j¡�ª�Z5x>�uh$Z>���uz i��uegZAenWjZ5{�s�egZLhJenm ��z&��eC� {�s�m hJe

ZªCm|egW § < © G ¨ ®Φ(Z) =

P∑

j=0

j∑

k=−j

Lkj Ik

j (r, θ, φ).§ < © < � ¨

+^s�ª�ZL��Z>lP��i�Z�egs5egW�ZA{jlns�{�Z>lgegm ZLc § < © � ¨ �uh�� § < © = ¨ ¡�ª�ZCW��S��Z�® Lkj Ik

j +L−kj I−k

j = Lkj Ik

j +Lk

j Ik

j = 2 Re(Lkj Ik

j )¡�ªCWjZLlgZ

� &���Z>hjs�egZKc�egWjZ�lnZL��zQ{��ulgeCsu¢P�²x>s�Y[{jz Z�}�hdijYD��ZLlL©rV�W�Z�{�suenZ>h�egmp�uzµY[�Sb�egWdi�c���Z�Z>���uz i���enZL�$m|h�enWjm cC¢£��cfegZ>lCª��SbQ®

Φ(Z) =

P∑

j=0

[L0

jI0j (r, θ, φ) +

j∑

k=1

2 Re(Lkj Ik

j (r, θ, φ))

].

��s�l�egW�Z�Z>���uz i���enm|sJh$s�¢µenWjZ5¢­s�l�x�ZJ¡�ª�Z�cfen�ulgeCªCm¬enW±ZLo�i���enm|sJh § < © < � ¨ ¡��uh���ª�Z�ª���h�e�ens�x�s�Y[{jijegZ�®F(Z) = −grad Φ(Z),

enW���eAmpc�egs�cn�Sb�¡�m h�enWjZ�z sdxL�uz&���JcfZ5s�¢�enWjZ cf{�WjZ>lnm xL�uz&x�sdsJln��m h��uegZLcL®Fr(Z) = −∂Φ(Z)

∂r , Fθ(Z) = − 1r

∂Φ(Z)∂θ , Fφ(Z) = − 1

r sin θ∂Φ(P)

∂φ .

V�WjZ$��l�����m Z>h�e m h cg{jWjZ>lnmpx>�uz�x�sds�l���m h���enZLc § ªCm|egW�sJijlD����lnZ>Z>Y[ZLhJeDsu¢θ��Z>m hj�¯enWjZ$x>s�zp��enm¬eni���m h��uz�x�sds�l���m h���enZ��uh��

φ��Z>m hj�[egW�Z�z|sJhj��m|egi��jm|h���z³x�sds�l���m h���enZ ¨ x>��h$��Z�Z�}�{jlnZLcncgZL���Jc>®

gradf =∂f

∂rer +

1

r

∂f

∂θeθ +

1

r sin θ

∂f

∂φeφ

����V����

Page 12: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 =

ªCWjZLlgZ(er, eθ, eφ)

mpc$egWjZ�z|s�xL�uz�����cgZ�s�¢�egWjZ+cf{�WjZ>lnm xL�uz5x�sds�l���m h���enZLcL© V�Wjmpc�¢­s�lnY-ijzp��mpc$�jijZ�ens�enWjZ�¢£�Jxe�egW��ue$enWjZZLz|ZLY²ZLh�en�ulnb�Y[s���Z�m h±cg{jWjZLlgmpx>��z³x�sds�l���m h���enZLc�mpc>®dl = drer + rdθeθ + r sin θdφeφ

©¶adm h�x�ZJ®∂Ik

j (r,θ,φ)

∂r = jr Ik

j (r, θ, φ),∂Ik

j (r,θ,φ)

∂θ = i−|k|Akj rj ∂Y k

j (θ,φ)

∂θ ,∂Ik

j (r,θ,φ)

∂φ = ikIkj (r, θ, φ),

ª�Z�W��S��ZJ¡dm|h�egW�Z�z|s�x>��z&����cgZ5su¢�egWjZ cg{jWjZLlgmpx>��z³x�sds�l���m h���enZLcL®Fr(Z) = −

PX

j=1

jX

k=−j

j

rLk

j Ikj (r, θ, φ)

= −

1

r

0

@

PX

j=1

jL0

jI0

j (r, θ, φ) +

jX

k=1

2j Re“

Lkj Ik

j (r, θ, φ)”1

A

Fθ(Z) = −

1

r

PX

j=0

jX

k=−j

Lkj

∂Ikj (θ, φ)

∂θ

= −

1

r

0

@

PX

j=0

L0

j

∂I0

j (r, θ, φ)

∂θ+

jX

k=1

2 Re

Lkj

∂Ikj (r, θ, φ)

∂θ

!1

A

Fφ(Z) = −

1

r sin θ

PX

j=0

jX

k=−j

ikLkj Ik

j (r, θ, φ)

= −

1

r sin θ

PX

j=0

jX

k=1

(−2k) Im“

Lkj Ik

j (r, θ, φ)”

ªCWjZ>lnZ �^ 9�jZ>hjs�egZLc�enWjZ�m Y[����m h��ulnb�{���lfeCsu¢?�[x�s�Y[{jz Z�}$h�i�Y-��Z>lK©$½ � ����� 5 �*5 � �$/1& ∂Y k

j (θ,φ)

∂θ

�-�& : �- #" � &\�C!/�������� �C!/�& +'�5;?; �0=,�!� � &������������� � dP ml (cos θ)

dθ =l cos θP m

l (cos θ)−(l+m)P ml−1(cos θ)

sin θ

� ∀ l ≥ 1� ∀ |m| ≤ l − 1

� � �$� +'�-�m = l

� dP ll (cos θ)dθ =

l cos θP ll (cos θ)

sin θ

� �$/ � �,:\��� �\&"$���%�&\� =,�!!/ �

P m+1l (z) = (z2 − 1)−

12

((l −m) zP m

l (z)− (l + m) P ml−1(z)

) � �)&\&�������� � � :\/1�\"� &'��� � �\� � ���& � &)���-�&��� � :)*���-�1�\�$"���� &������ � �5�� ?�� ? � �S� Á ��� Á 8 Â1� 8 � , ¾ �H9U�ywcPZ�}�{�sJcgZL�Dm|hDegWjZCm h�eglns���i�xenm|sJh³¡�enWjZ

M2Ls�{�Z>l���egsJlPx�s�h�x�lnZ�egZLz|b�i�cfZKc�¤�hjm|egZCY-i�z¬enm|{�s�z ZCZ�}�{���h�cfm s�h-egs x>s�Y[{ji�enZ § ¤�hjm|egZ ¨z s�x>�uzwZ�}�{���h�cfm s�h�c>© · WjZ>h ��ZLhjsuenm|h��

P�Jc[egW�Z¯Y���}�m|YDijYB��Z>�JlgZLZ�s�¢5egWjZ¯Z>}�{��uh�cgm s�h�cL¡�ªCWjsJcgZ±egZLlgY�c�W��S�JZ¯��Z>�JlgZLZLcenWjZ>lnZ�¢­sJlgZ5l��uhj�Jm|hj�D¢­lns�Y

0egs

P¡devª�s���m¬«QZ>lnZ>h�eA´dm h��jc�su¢

M2LZ�}�{jlnZLcncfm s�h�c�xL�uh$egWjZLh±��Z�i�cgZL�³©V�WjZ�¤�l�cfe^�uh���egWjZ�Y[s�cveAx�sJY[Y²sJh

M2LZ>}�{jlgZKcgcgm s�h�mpcL®

Lkj =

P∑

n=0

n∑

l=−n

M lnO−k−l

j+n (ρ, α, β).

·�Z�i�cgZ�WjZ>lnZ��uz zQegWjZ�YDijz¬enm|{�s�z Z�Z�}�{���h�cgm|sJh�enZ>lnY[cM l

n

§ ªCWjm x�W±���uh�m cgW$sJi�encgmp��Z5egWjZ�l��uh���Zn ≥ 0¡ |l| ≤ n ¨ �uh��$ª�Z���z cgsi�cgZ

Okj

enZ>lnY�cCªCm¬enW¯��Z>�JlgZLZLcCi�{±egs2P© (r�JZ>h�m|¢¶cfsJY²Z�m h�egZLlgZKcvenm|hj��ª�s�ln´�c�W��S��Z���Z>ZLh¯��s�h�Z�egs�ZKcvenm|Y��uegZ5egW�Z-��Z>W��S�dm s�ls�¢regWjZDZ>lnlgsJlAm h���i�x>ZL�¯�db�cgi�x�W

M2LZ>}�{jlgZKcgcgm s�h § cgZ>Z � q�aja =��." � adq�=��#" ¨ ¡Qhjs�cfW��uln{�Z>lnlgsJl^��s�ijh��¯W���cw��ZLZ>h�¢­s�ijh��¯b�Z�eK©·�Z�h��uY[Z5enWjm c

M2LZ>}�{jlgZKcgcgm s�h 2����� &'�^�$& ; ��=,�!0/ � � � �>; & /1&)���:/ µs�l � " � �� ��©y cgZLx>s�h��

M2LZ�}�{jlnZLcncfm s�h$m cL®

Lkj =

P−j∑

n=0

n∑

l=−n

M lnO−k−l

j+n (ρ, α, β).

·�Z WjZLlgZ�z m|Y[m|eAegW�Z Y���}�m|YDijY �jZ>��lnZ>Z�s�¢�enWjZOk

j

i�cgZL��ensP®rª�Z�egWdi�cCh��uY[Z5egWjmpc

M2LZ>}�{jlgZKcgcgm s�h 2�����U&)�^��&>; =,�!0/

�^�!� �9; & /1&)��� /F�sJl � "���� ��©JV�WjmpcPW��Jc?��ZLZ>h[i�cgZL�D¢­s�lPZ>}j�uY[{jz ZCm|h²egW�Z � q¶_�V�y x>s���ZA��Z>�JZ>z s�{j{�ZL�²��e � ij´JZA]Ahjm ��ZLlncgm¬evb-�ji�eenWjZD{�lgsdsu¢Pm h¯enWjZ-ZLlglns�lA��s�i�h��¯�Jm|�JZ>h�m h � (¶z|z =J�0"�mpc^ªClns�h�����©w·NZ²Wjs�ª�Z>��ZLlAlnZLx�sJY[Y²ZLh���egW�ZDlnZL�J��m|h���su¢PenWjm c��u{�{�ZLh���m|}������ "!$#&%�'(#*) W�+ , � + -/. 0 W21 W�-43�165 *7 .�8:9 ;=<6<?>^Z&@BAC ���� D 0EGF +�HI16J^W�KMLA ]$NPO=1 WQ+ 3R3 W 7 1 STL�J UV9 ;=<6<?>^Z&@�16-XWD54J^W�YZ. 0[ + F - H �� �[ J$,\3(J$-I1 H416J^WQJ U 7 1 ] 5 W�H41?+ <(J$3 54+�H4J$54- 7 1 ] 5^-VU_54J$,`H �� 3�5^J 7�FR[ H

J UXH �� a7R 5^1 b$+�H41 b -&A

V�VXW-Y�Z'[\Z^]

Page 13: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

< � ���������^��!�

cgm|h�x�Z�m|e {jlgZKcfZLh�enc���ª�sJlncfe�x>��cgZ[Z>lnlgsJl��uh���z|b�cgm c5cgm|Y[m z ��l5egs±egW�Z�s�hjZ[i�cgZL��WjZLlgZK��¢ egZLlL© � h+{���lfenm x>ijz ��l5m¬e-cgWjs�ªAc�egW���e�hjs�J�j��m|egm s�h���z¶Z>lnlns�l mpc m h�eglnsd�ji�x�ZK�+��b�enWjZM2M

s�{�Z>l���enm|sJh³©¯y^c-Z�}�{jzp�um hjZL�+m h �!��lnZ GUG "�enWjZL2Ls�{�Z>l���enm|sJh+�js�ZKc hjs�em h�eglnsd�ji�x�Z��uhdb�ZLlglns�lC�ueC��z|zH©P·�Z x>�uh$egWdi�cC¢­sdx>i�c�s�h$egW�Z

M2Ls�{�Z>l���egm s�hµ©� h egWjZ$¢­s�z z|s�ªCm hj�Nª�Z�{jlns���Z�enW���e��uh

M2Ls�{�Z>l���ens�l²ªCm¬enW cgm|h���z Z�WjZLm|�JWJe[´�ZLlgh�Z>z�lgZKcf{�ZLx�enc²�NcgW��uln{�ZLlglns�lD��sJijh��§ cfm Y[m|zp�ul�ensDenWjZ�s�h�Z�{�lgZKcfZLhJenZL�$m|h � (rz|z =J�0" ¨ © � eAW���c�ens[��Z�hjs�egZK��enW���eCenWjm c�ZLlglns�l���s�ijh���¢­sJlAcfm hj��z Z5WjZ>m ��W�e M2L

´�ZLlghjZLzª���c��jlnm Z 6 b�{�lgZKcfZLhJenZL�$�db<� · +*��=->9"H¡j��i�eCegWjZLb�W��S�JZwi�cfZK���js�ij�jz Z5WjZ>m ��W�eC´�ZLlgh�Z>z&m h$enWjZ>m lCm Y²{�z|ZLY²ZLh�en��enm|sJh³©� h�sJln��ZLl�egs�{jlns���Z�enWjm c^Z>lnlgsJl���sJijh��&¡�ª�Z cfegi��jb�enWjZ {�suegZLh�egmp�uz³m h�{�sJm|h�e

Z��ijZ5ens�s�hjZ cgm hj��z Z�ijhjm|ewx�W���lg�JZ�z s�x>�uegZL�m h

Q��c�{jmpxenijlnZL�1m|h1¤��JijlnZ < © < © ·NZN��Z>hjs�egZ±�db B1

§ lgZKcf{�ZLx�egm ��Z>z b B2 ¨ egWjZ¯���uz zAx�Z>h�enZ>lnZL�1m|h X1

ªCm¬enW1l����jm|i�cr1

X

XX

X

r2

X2

X1Q

r1

Z

x

y

z α

��m|�JijlgZ < © < ® �wi�lC{jlgsJ�jz Z>Y�x>s�h�¤��Jijl���egm s�hµ©

§ lgZKcf{�ZLx�egm ��Z>z bX2�uh��

r2 ¨ © Z mpcAZ>h�x�z sJcgZL��m|h B1¡Qm|h B2©A_�s�lnZ>s��JZ>lK¡j��Z>hjs�egm hj�

R = ‖X1 −X2‖¡�ª�Z-��cncfi�Y²Z5enW���eK®

R > r1 + r2©

� Z>hjs�egm hj�αegWjZC�uh���z Z¶��Z�evª�Z>Z>h��v�JZLx�egs�l�c��

Q�uh��

Z¡r>

§ lnZLcg{�ZKxenm|�JZ>z br< ¨ egW�Z�Y��u}dm Y-i�Y § lnZLcg{�ZKxegm ��ZLz|b5Y[m hjm|YDijY ¨��Z�evª�Z>ZLh$enWjZ�hjsJlgY's�¢

Q��h���enWjZ�s�h�Z�s�¢

Z¡���h��

PnegWjZ ¹µZ>��ZLh���lnZ5{�sJz|bdhjsJY²mp�uzpcL¡�ª�Z�W��S�JZ�®

Φ(Z) =1

‖Z−Q‖ =+∞∑

n=0

rn<

rn+1>

Pn(cosα).§ < © <U< ¨

� Z�¤�h�m|hj�ΦP (Z)

enWjZ�{�suegZLh�egmp�uz&ªCm|egW�¤�hjm|egZ cgijY[Y���egm s�h±ij{$egsP¡�ª�Z�W��S�JZ�®

‖Φ(Z)− ΦP (Z)‖ =+∞∑

n=P+1

rn<

rn+1>

Pn(cosα).

ywc�¢­s�lA��z|zn ≥ 0

�uh���¢­sJlA�uz zx ∈ [−1, 1]

¡�ª�Z5W��S��Z |Pn(x)| ≤ 1¡jª�Z�x>��h$ªClnm¬enZ�®

‖Φ(Z)− ΦP (Z)‖ ≤+∞∑

n=P+1

rn<

rn+1>

=1

r> − r<

(r<

r>

)P+1

.§ < © < � ¨

V�Wjmpc�z ZL����c�egs[egW�Z5¢­s�z z|s�ªCm hj�²Z>lnlgsJl���s�i�h��&®� � Á L Á �:9­�:9 Á 8 5���5�� ∀ Q ∈ B1

������� ∀ Z ∈ B2� =�&�/1�-% &'��� �$�U&)� !/�& :\���$���!������

R > r1 + r2�

‖Φ(Z)− ΦP (Z)‖ ≤ 1

R − (r1 + r2)

(r1 + r2

R

)P+1

.

� � �H� +�©5adm h�x>Z�® ‖Z−Q‖ = ‖ ((Z−X2) + (X1 −Q)) + (X2 −X1) ‖ ¡�egWjmpc�lgZKcfi�z¬e�c^��m lgZKxenz|b�¢­lns�Y egWjZ²m|h�ZLo�i��uz m|evb§ < © < � ¨ ©·�Z-hjs�ª ��ZKx�s�Y[{�sJcgZ�egW�Z {�s�egZLhJenm ��z�m h±egW�ZDcn�uY[Z ª��Sb�egW�Z-�?_¯_ ��sdZLc^ªCWjm z|ZDY[��m|h�e��um hjm|h��[egWjmpc^ZLlglns�lC��s�i�h��&¡Q�uh��{jlns���ZwegW�Z5¢­s�z z|s�ªCm hj�²egWjZLs�lnZ>Y±©

B.N ½dÁ � ½ � E � ��/�&M2L

� "�&'� �� ���AÀ 9­�:N �H9 8�� , ½ N ½ 9 � NQ�M2L

� ½ � 8 ½ , �^*�^� :) ; �(�&^��"�& :'*� !/�& &)�^���� �\� � ���(�!�C"���\"1�5@�^�!�������� �� �

����V����

Page 14: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 <U<

� � �H� + � � h±s�l���ZLl�egs[{jlns���ZwegWjZLs�lnZ>Y >�¡jª�Z�x>s�h�cgm �jZ>lA�²Y-ijz|egm {�s�z Z�Z�}�{��uh�cfm s�h³¡jx>Z>h�egZLlgZK��m hX1

¡��uh��±�²z sdxL�uz&Z>}d{��uh�cgm|sJh³¡x>Z>h�egZLlgZK��m hX2

¡jegs[Z�}�{jlnZLcnc�egWjZ�{�suenZ>h�egmp�uz³�ueZ��ijZ5ens[egWjZ�{���lfenm x>z|Z5m h

Q©P·NZ cfen��lfeCªCm|egW³®

Φ(Z) =1

‖Z−Q‖ =1

‖ (X2 −X1)− ((Q−X1)− (Z−X2)) ‖ .

adm h�x>Z5egWjZ-x>s�h��jm¬enm|sJhR > r1 + r2

¡�ªCWjm x�W±�Ji��ul��uh�egZLZLc�egW�Z-x�sJh��JZ>ln��ZLh�x�Z�su¢?��s�egW±Y-i�z¬enm|{�s�z Z-�uh��$z s�x>��z&Z�}�{��uh�cfm s�h�cL¡m Y[{jz|m ZLc ‖(Q−X1)− (Z−X2)‖ < ‖X2−X1‖¡dª�Zwx>��h�ªClnm¬enZ^ªCm|egW�egWjZ�x�zp��cncgm xL�uzjenln��h�cgz �uegm s�h[egW�Z>s�lnZ>Y § egWjZLs�lnZ>Y < ¨ ®

Φ(Z) =

+∞∑

n=0

n∑

l=−n

(−1)nI−ln ((Q−X1)− (Z−X2)) Ol

n (X2 −X1) .

adm h�x>ZI ln(−X) = (−1)nI l

n(X)¡jª�Z�W��S��ZJ®

Φ(Z) =

+∞∑

n=0

n∑

l=−n

I−ln ((Z −X2)− (Q−X1))Ol

n(X2 −X1).

·�Z-enWjZ>hNi�cgZ-enWjZ � h�hjZ>lg¥Uensu¥ � hjhjZLlAegl��uh�cfzp��enm|sJh�egWjZLs�lnZ>Y § enWjZ>sJlgZLY�º ¨ ¡&ªCW�m x�W���sdZLcwhjsue5lgZKo�ijm|lnZD��hdb±x>s�h��jm¬enm|sJh¯s�hX��h��

X′ ¡��uh��$s��jen�um h³®

Φ(Z) =

+∞∑

n=0

n∑

l=−n

n∑

j=0

j∑

k=−j

(−1)jIkj (Q−X1)I−l−k

n−j (Z−X2)Oln(X2 −X1).

§ < © < º ¨·�Z�ZLY[{jW���cgm �>Z�WjZ>lnZrenW���e�egWjZ�ZKoJi���egm s�h § < © < º ¨ mpc�tvi�cveP�wlgZLªClgm|egm hj�^s�¢�ZLo�i��uegm s�h § < © <U< ¨ ®³enW���e�� c�ªCWdb5ªCWjZ>h-eglns�h�xL��egm hj�enWjZ cfZLlgm ZLc�m h±ZLo�i��uegm s�h § < © < º ¨ ¢­sJl n > P

ª�Z�s���e��um h�enWjZ cn�uY[Z5Z>lnlgsJl���s�ijh����Jc�m|h±{jlns�{�sJcgm|egm s�h § < © < ¨ ©rV�Wdi�c�ª�Z5W��S�JZ�®

ΦP (Z) =P∑

n=0

n∑

l=−n

n∑

j=0

j∑

k=−j

(−1)jIkj (Q−X1)I−l−k

n−j (Z−X2)Oln(X2 −X1).

·�Z x>��h$m hd��Z>l�cgZ^enWjZ5evª�s²¤�h�m¬enZ cfijY[Y���enm|sJh�c�s�h$egW�Z ��Z>�JlgZLZLcn��h��

jz m|´JZ�®

ΦP (Z) =

P∑

j=0

j∑

k=−j

P∑

n=j

n∑

l=−n

(−1)jIkj (Q−X1)I−l−k

n−j (Z−X2)Oln(X2 −X1).

·�Z5¤�l�cveCm hJenlgs���i�x�Zn′ = n− j

®

ΦP (Z) =

P∑

j=0

j∑

k=−j

P−j∑

n′=0

n′+j∑

l=−(n′+j)

(−1)jIkj (Q−X1)I−l−k

n′ (Z−X2)Oln′+j(X2 −X1),

��h��l′ = l + k

egs[s��jen�um h³®

ΦP (Z) =

P∑

j=0

j∑

k=−j

P−j∑

n′=0

n′+j+k∑

l′=−(n′+j)+k

(−1)jIkj (Q−X1)I−l′

n′ (Z−X2)Ol′−kn′+j(X2 −X1).

·�Z5lgZLY²ZLY-��Z>l�WjZLlgZwegW��ueI−l′

n′ (x)m Y[{�s�cfZKc>® −n′ ≤ l′ ≤ n′ © � h�enWjZ�cg��Y[Zwª��Sb�¡ Ik

j (x)m Y²{�sJcgZLcL® |k| ≤ j

¡�egW���eCm c�enscn�SbQ®j + k ≥ 0

¡j�uh��³®k − j ≤ 0

©P_�s�lnZ>s��JZ>lK®j + k ≥ 0 ⇒ n′ + j + k ≥ n′,k − j ≤ 0 ⇒ −(n′ + j) + k = −n′ + (k − j) ≤ −n′.

]^h���Z>l�enWjZLcgZ x�sJh���m|egm s�h�c�ª�Z5W��S��Z�enWjZ5¢­s�z z|s�ªCm hj�²ZLo�i���z|m|evbQ®n′+j+k∑

l′=−(n′+j)+k

=

n′∑

l′=−n′

.

V�VXW-Y�Z'[\Z^]

Page 15: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

< � ���������^��!�

· Wjmpx�W�Y[ZK�uh�c¶egW��ue�enWjZwcgZ�e�su¢&enWjZwegZ>lnY�c¶ªCW�m x�W���lgZwm|h���Z�}�ZL����b²enWjZ�cgijY[Y���enm|sJh�s�h�enWjZ�lgm ��W�e�cgmp��Z^mpc¶m h�x>z|i��jZL��m h�enWjZcgZ�e�su¢&egZLlgY�c¶ªCWjm x�W$�ulnZAm|h���Z�}�ZL����bDegW�ZwcgijY[Y[�uegm s�h�sJh[egWjZ�z Z�¢ e�cgmp��Z�¡d�uh����uz zjegW�Z^enZ>lnY[c¶{jlnZLcgZ>h�e¶s�h�egWjZwz|Z>¢ e�cgm ��ZJ¡d�ji�ehjs�eAs�h$egWjZ�lnm ��W�eAcfmp��Z�¡�����hjm cgW³©· m|egWl = −l′

�uh��n = n′ ¡jª�Zw¤�h��uz z|b$W��S��ZJ®

ΦP (Z) =

P∑

j=0

j∑

k=−j

P−j∑

n=0

n∑

l=−n

(−1)jIkj (Q−X1)I l

n(Z−X2)O−l−kn+j (X2 −X1).

¹µZ�e � c�lnZ>Y��uln´[egW��ueL®P∑

j=0

P−j∑

n=0

≡∑

|j|≤P|n|≤P,

0≤n+j≤P

≡P∑

n=0

P−n∑

j=0

.

·�Z�s���e��um h³®

ΦP (Z) =P∑

n=0

n∑

l=−n

P−n∑

j=0

j∑

k=−j

(−1)jIkj (Q−X1)O−l−k

n+j (X2 −X1)

I l

n(Z−X2).

��s�l±�uz zQ ∈ B1

¡^enWjZNYDijz|egm {�sJz|Z+Z�}�{���h�cgm|sJh�c�enZ>lnY�cMk

j

¡ ∀ (j, k) ∈ N2 ªCm|egW 0 ≤ |k| ≤ j¡���ZLm|hj�3��Z>¤�hjZL� �db�®

Mkj = (−1)jIk

j (Q−X1)¡jª�Z�W��S��ZwegWdi�cC{jlns���ZK��enW���eK®

ΦP (Z) =

P∑

n=0

n∑

l=−n

LlnI l

n(Z−X2),

ªCWjZLlgZ�enWjZLl

n

�jZ>hjs�egZ�egWjZ�z s�x>��z�Z>}�{��uh�cgm s�h�enZ>lnY�c>¡�x�Z>h�enZ>lnZL� m|hX2

¡���ijZ±ens�egWjZ±ijhjm|e�x�W���lg�JZ�z sdxL��enZL� m|hQ¡��uh��sJ��en��m|hjZK��enW��uh�´dc�ensDenWjZ

M2LsJ{�ZLln�uegsJl�ªCm|egW±cfm hj�Jz|Z�WjZ>m ��W�e

M2L´�Z>lnhjZLzQ��{j{jz m|ZK��ensDenWjZ5Y-ijz|egm {�s�z Z�Z>}�{��uh�cgm s�h�enZ>lnY�c

Mkj

��cL®Ll

n =

P−n∑

j=0

j∑

k=−j

Mkj O−l−k

n+j (X2 −X1)

� e W��Jc�egs±��Z�hjsuenZL�NegW��ue5egWjZ�x>s�h���m|egm s�h�su¢�ª�Z>z z¬¥ cfZL{��ul���enZ>hjZKcgcL¡QªCm¬enW+Z>m|egWjZLlws = 1

s�lws = 2

¡³mpc�m|hN¢£��x�e Y[s�lnZcfeglnm x�eCegW���hR > r1 + r2

m h$sJln��ZLl�egs[Z>h�cgijlnZ��-¢£�JcveCZLhjs�ij�JW�x>s�hd��ZLlg�JZ>h�x>Z�©�· m¬enWws = 1

¢­sJlCZ�}j�uY[{jz Z�¡�ª�Z5W��S��ZJ¡J¢­sJlA�x>Z>z z³su¢?cfmp��Z

r1 = r2 =√

32

�uh��R ≥ 2©PV�Wdi�cL®

‖Φ(Z)− ΦP (Z)‖ ≤ 1

R− (r1 + r2)

(√3

2

)P+1

=1

R − (r1 + r2)(0.866)

P+1.

· m|egWws = 2

¡ §R ≥ 3 ¨ ¡�ª�Z�s��jen�um h³®

‖Φ(Z)− ΦP (Z)‖ ≤ 1

R− (r1 + r2)

(√3

3

)P+1

=1

R − (r1 + r2)(0.577)

P+1.

V�Wjmpc&ZLlglns�l&��s�ijh��wmpc&ª�s�l�cve&enW��uh�enWjZrs�h�ZP{jlgZKcfZLh�egZL�wm h�� ��lnZ G G "�ªCWjmpx�W5z|sds�´�c&z m ´�Z ( r2

R−r1

)P+1 §ws = 1 ⇒ (0.764)P+1��h��

ws = 2 ⇒ (0.406)P+1 ¨ ©ywcD��z|lnZL�J��b�lnZ>Y��uln´�ZK� § cfZLZ �!�5~#=��#" ¨ egWjZ$Z>lnlgsJl-��ijZ�ens M2Lmpc-��z cgs¯Wjm ��W�Z>l enW��uh+enWjZ�ZLlglns�lD��ijZ�ens�egW�Z$cgm|Y[{jz Z

ZL�S��z|i���egm s�h su¢AenWjZ�{�s�egZ>h�enm ��z�ªCm|egW1Y-i�z¬enm|{�s�z Z$Z>}�{��uh�cgm s�h�cDªCWjmpx�W z s�sJ´�c-z m|´JZ ( r1

R′

)P+1 ªCWjZLlgZR′ ��Z>hjs�egZKc-enWjZ�Y²m hjm|¥Y��uzC��mpcfen�uh�x�Z���Z>evª�ZLZ>h�enWjZ±x�Z>h�enZ>l[su¢AenWjZ�Y-ijz|egm {�sJz|Z±Z>}d{��uh�cgm|sJh �uh�� egW�Z${�s�m h�e²ªCWjZLlgZ$egW�Z${�suenZ>h�egmp�uz�mpc²x>s�Y[{ji�enZL�§

ws = 1 ⇒ (0.577)P+1 ��h�� ws = 2 ⇒ (0.346)P+1 ¨ ©� h[x�sJh�x�z i�cgm|sJh³¡ucfm h�x>Z¶enWjZ�Z>lnlgsJl�m hD{�lgsJ{�s�cfm|egm s�h § < © < ¨ mpc?Wjm|�JWjZ>l�enW��uhDegWjZ�sJhjZ��jijZ�egs�egWjZ�YDijz¬enm|{�s�z Z�Z�}�{���h�cfm s�h-egZLlgY�c§ cfZLZ � �5~ =��#" ¨ ¡��uh���cgm h�x�Z h�s����j�jm¬enm|sJh��uz³ZLlglns�lCmpcAm h�eglns���i�x�ZK�±�db�egW�Z M2M

�uh��L2Ls�{�Z>l���ens�l�c>¡denWjZ-ZLlglns�lC��s�ijh��±su¢enWjZ �?_¯_#ªCm¬enW±��cgm hj��z Z5WjZ>m ��W�eC´�ZLlghjZLz

M2Ls�{�Z>l���egsJl�m c�enWjZ>lnZ�¢­sJlgZ�egW�Z cg��Y²Z��Jc�m h±{jlns�{�sJcgm¬enm|sJh § < © < ¨ ©

����V����

Page 16: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 < º

ywcC�-lnZLcgijz|eL¡degW�m c�ZLlglns�l���sJijh��±x>��h$cn��¢­Z>z b���Z�i�cfZK��m h�enWjZ�x>�JcfZ�su¢?cfm hj��z Z�WjZ>m ��W�e�´�Z>lnhjZLz�m h�s�l���Z>l�egs���Z>egZ>lnY[m|h�ZwenWjZ���uz ijZ�su¢P�Jx>x>s�l���m|h���egs-egWjZ�lgZKo�ijm|lnZL��{jlgZKx�mpcfm s�hµ©�_�sJlgZLs���ZLl¶cfm h�x>ZAegW�Z���sJij�jz Z^WjZLm|�JW�e�´JZ>lnhjZ>zH¡�x>s�Y[{���lgZK�²egsDegWjZ5cfm hj�Jz|ZWjZLm|�JW�e¶´�ZLlghjZLzU¡Js�hjz b[���j�jcPegZ>lnY�crm h�egW�Z

M2L¢­s�lnY-i�z ��¡�m|e¶lgZKcf{�ZLx�enc���e¶z ZL�JcvePenWjm c�Z>lnlns�lP��s�ijh��[��i�e�ZL��Z>h��J�j�jcP{�lgZKx�mpcfm s�hªCm|egW�������m¬enm|sJh��uz³x>sJcfe��ueClgijh�enm|Y[Z�©rV�W�Z�{�lgsJ�jz|ZLY'mpc�egW��ueAª�Z�x>��hjhjs�e�{jlnZL�jm x�e�enWjmpcC�J��m|h$m|h�egW�Z5�Jx>x>ijln�Jx�b�s�¢µegW�Z ��_�_ ¡��h��[egW�Z>lnZ�¢­s�lnZAª�ZwxL�uhjhjs�e�x>s�Y[{��ulnZAcgm|hj�Jz|Z��uh�����s�ij��z|ZwWjZ>m ��W�e¶´JZ>lnhjZ>zpc¶�Jx>x�sJln�jm|hj�5ens enWjZ^enln�J��Z>s�«$��Z�evª�Z>ZLh�egWjZLs�lnZ�enm xL�uz�Jx>x�i�ln�Jx�b¯�uh���lnijh�egm Y[Z�© �whjz|bNx�s�Y[{���lgmpcgs�h�cwªCm¬enWN{�ln�Jxegmpx>��zP��x>x>ijl���x�m ZLc�ªCm z|zP��Z[{�s�cgcgm �jz|Z��Jc���ZLcnx�lnm|��ZL��m|h cgZLx�egm s�h �d®cgZ>Z ��z cgs � (rz z =��." § cfZKxegm s�h * © ºj© < ¨ ¢­s�lA�²�jlnm Z�¢Px�s�Y[{���lgmpcgs�h�i�cgm hj�[egWjZLs�lnZ�enm xL�uzQs�{�Z>l���enm|sJh�x>s�ijh�eC��c>©P��xLx�ijl���x>b�©

5�� ?�� I +�½ � Á � ¾ � ½�� �9£� ½ � ½ 8 �K���s�l^x>s�Y[{��ulnmpcfsJh${ji�lg{�sJcgZ5ªCm¬enW±egWjZ s�egWjZLlAY[Z�enWjs��jcC{jlnZLcgZ>h�egZK����ZLz|s�ª�¡jª�Z ��Z>en�um zµW�Z>lnZwenWjZ Y[Z>Y[sJlgb$lgZKoJi�m|lnZ>Y[Z>h�e�c�¢­s�lenWjZ[s�lnm|�Jm|h���z�x>s�Y[{ji�e���enm|sJh�cgx�W�Z>Y[ZDs�¢

M2L¡Q��z cgs�h��uY[ZL�/: ; � �\�^� :

M2L©�·�ZDW�Z>lnZ-¢­s�x�i�cwsJhjz b�s�h¯enWjZ[Y[Z>Y[s�lnb±i�cfZK��db±egW�ZDZ>}d{��uh�cgm|sJh�cL©^·�Z²��ZLhjsuenZD�db

cenWjZ²cgm �>Z²su¢¶��x>s�Y[{jz Z�}�hdijY-��Z>lK¡Qm|h���s�i��jz|Z²{jlnZLx>m cgm|sJh�ª�Z²W��S�JZ�®

c = 16��b�enZLcL©ywc5ª�ZDs�hjz b�i�cgZDm h�enWjZ²Z�}�{��uh�cfm s�h�c^egZLlgY�c�ªCm|egW�{�s�cfm|egm ��Z²s�l�hdijz|z?sJln��ZLlncL¡�egWjZ[cgm �LZDs�¢���YDijz|egm {�sJz|Z §M ¨ s�l5z s�x>�uz § L ¨Z>}d{��uh�cgm|sJh��Jx>x>s�l���m|h��-ens

Pmpc § cgZ>Z���Z�¤�hjm¬enm|sJh�c < © < �uh�� < © º ¨ ®

M(P ) = L(P ) =P∑

j=0

j∑

k=0

c =(P + 1)(P + 2)

2c.

V�WjZ�hdijYD��ZLlCsu¢Px�ZLz|zpc N m h��uh�s�xeglnZ>Z5s�¢�WjZLm|�JW�e H mpc>®

N (H) =

H∑

l=0

8l =8H+1 − 1

7.

·�ZAhjZLZL�²hjs�ª egs Y[ZL�Jcfi�lgZ�egW�Z^cfm �>ZCs�¢QegWjZM2Lenln��h�cf¢­Z>lP¢­ijh�xegm s�h�crªCWjmpx�W��ulnZC{jlgZKx�sJY²{�i�egZK�-¢­sJlrZL�Jx�W[z|ZL��Z>zH©?V�WjZ>m lhdijYD��ZLl�x>s�lnlgZKcf{�s�h���cQegs^egWjZ�hdijY-��Z>l�su¢���z|zJ{�s�cgcgm|��z|ZM2L��ZKxens�l�c>¡LegW��ue�mpc³enswcn�Sb NT = (2(2ws+1)+1)3−(2ws+1)3

¡��h��$egWdi�c�ªCm|egWws = 1

®NT = 316.· m|egW[cfm hj�Jz|Z�WjZ>m ��W�e

M2L´�ZLlghjZLz�enWjZ�cfm �>Z�su¢�sJhjZ

M2Legl��uh�cf¢­Z>l�¢­ijh�x�egm s�h T ZLo�i���z c M ¡��ji�e?ªCm¬enWD��sJij�jz Z�WjZLm|�JW�e�´�ZLlgh�Z>zH¡ª�Z W��S�JZ�® T (P ) =M(2P )

©CV�WjZLlgZ>¢­s�lnZ�¡�enWjZ�egs�en��z³Y[Z>Y[s�lnb$lnZLo�ijm lnZ>Y[Z>h�encL¡ 2 &) D¡�¢­s�lAenWjZ-x>z �Jcgcgm xM2Lx>s�Y[{ji�e���enm|sJhmpc>®

Mem(P, H) = N (H). (M(P ) + L(P )) +NT .T (P ).��s�lAcgm|hj�Jz|Z5WjZLm|�JW�eA´�Z>lnhjZLz�enWjmpcC��m ��ZKc>®

MemSg(P, H) = N (H)(P + 1)(P + 2)c +NT(P + 1)(P + 2)

2c,

§ < © < > ¨��h��$¢­s�lA��sJij�jz Z�W�Z>m ��W�eA´�ZLlghjZLzU®

MemDb(P, H) = N (H)(P + 1)(P + 2)c +NT(2P + 1)(2P + 2)

2c.

§ < © < � ¨5�� ?�� E

M2LÁ L ½ ����� Á ��� Á � L , ½ �9­� ¾

ywcw��lnZ�¢­ZLlgZLh�x�Z5¢­sJlwx>s�Y[m|h���x�sJY²{��ulnm cgs�h�c�ª�Z-��z cgs�{jlnZLcgZ>h�eAenWjZ-��m|«�ZLlgZLh�x�ZDsu¢rx�sJY[{jz|Z>}�m¬evb���Z>evª�ZLZ>h¯cgm|h���z Z-�uh����js�ij�jz ZWjZLm|�JW�encM2L´JZ>lnhjZ>zH©r·�Z lgZKx>��z|zQenW���eAsJhjz|b$z|s�xL�uz³Z>}d{��uh�cgm|sJh�enZ>lnY�cCªCm¬enW±{�s�cfm|egm ��Z�sJlAhdijz|zµs�l���Z>l�cC�ulnZ�x�s�Y[{jijegZL�³©��jsJlcgm|h���z Z�W�Z>m ��W�eL¡jª�Z5W��S��ZwegWdi�cL®

M2L =1

12(P + 3)(P + 1)(P + 2)2,

ªCWjm z Z5¢­s�lA��sJij�jz Z�WjZ>m ��W�e�egWjmpcCmpc>®M2L =

1

2(P + 2)(P + 1)3.

¹µZ�e � cClnZ>Y[Z>YD��ZLl�¢­s�l�enWjZ�Y[s�Y[Z>h�e�egW��ueCegWjZ�l���enm|s[�uY[sJhj�²egWjZ5evª�s[WjZ>m ��W�enc�mpc�lns�ij�JWjz|b6©

V�VXW-Y�Z'[\Z^]

Page 17: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

< > ���������^��!�

� "�� %³�'"�� �$���>��� 2��?� �$%�0����P,V�WjZ$i�cgZ�su¢A���Jcve²�js�i�lgm Z>l-V�l��uh�cf¢­s�lnY § ���?V ¨ m|h sJln��ZLl�egsNcf{�Z>ZK�+ij{ egW�Z�x�sJY²{�i�en�uegm s�h su¢A�?_¯_ sJ{�ZLln�uegsJlnc § M2M

¡M2L�uh��

L2L ¨ W���c5��Z>ZLh ��Z>�JZ>z s�{j{�ZL����e � ij´�Z�]Ah�m|�JZ>l�cfm|evb��db¯· m|z z m ��Y � ©�(rz|z m suefe § � (¶¸ =��5"rs�l�� (rz|z =J�." ¨ ©�V�Wjm c5W���c��Z>ZLh�m h�x>z|i��jZL��m|h��[x�s���Z�h��uY[ZL� � q�_¯V�y-©V�Wjmpcrª�s�ln´-ª���cr{�ZLlf¢­sJlgY[ZL�[sJhjz b-¢­sJl¶cfm hj�Jz|ZAW�Z>m ��W�eM2L´JZ>lnhjZ>z���h��²egW�Z^�jz s�x�´D�JZ>l�cfm s�h²i�cgZL�[ens {jlnZ>��ZLh�erh�i�Y²ZLlgmpx>��zm h�cfen�u��m|z m¬evb$m|Y[{jz Z>Y[ZLhJenZL��m h � q¶_¯V�y W��Jc�lgZKcvenlgmpxenZL��egWjZ�{�sJcncfm �jz Z����uz ijZLc�s�¢

Pegs[Y-ijz|egm {jz ZLcCs�¢�enWjZ��jz s�x�´�cfm �>ZJ©� h�enWjmpcwcgZLx�egm s�h¯ª�Z ��ZLhjZ>l��uz m �>Z�enWjm c��?�?V Z>hjW���h�x�ZLY[Z>h�e^ens���suegWNcfm hj��z Z-��h��¯��sJij�jz Z-WjZLm|�JWJe

M2L´�ZLlgh�Z>z���h��±enWjZ�jz s�x�´���ZLlncgm s�h�{�lgZKcfZLhJenZL�$WjZ>lnZ�x>��h$��Z�i�cgZL�$¢­s�lA��h�b

P©V�WjZ$���?V W��Jc ��Z>ZLh��u{j{jz m ZL� sJhjz|bNegs

M2Ls�{�Z>l���ens�l cgm|h�x>Z�egW�m cDm c egWjZ$Y[sJcfe egm Y[Z�¥ x�s�h�cfijY[m hj�¯sJ{�ZLln�uegs�l�m h enWjZ�?_¯_ ¡��ji�eCm¬e^cgWjsJijz �$��Z5cfegl��um ��W�eg¢­s�lnª���ln�²ens[�jZ>lnm|�JZ��?�?V ¢­sJl

M2M§ cgZ>Z,� ( � =J�#" ¨ �uh�� L2L

©8+As�ª�Z>�JZ>lK¡��Jc�Z�}�{jzp�um hjZL�m h � (rz z =��."¦¡JenWjZw¢­ijz|z³x>s�Y[{ji�e���enm|sJh�ªCm¬enW�enWjZ3x�sJh�cgZLx�ijegm ��Z^sJ{�ZLln�uegsJlncrxL�uhjh�sue���Z���m lgZKxegz b[{�ZLlf¢­sJlgY[ZK��m|h��jsJijlgm Z>l�cf{���x�ZJ©V�WjZ�{jlnm|h�x�m {jz|Z���Z>Wjm h���enWjZ5i�cgZws�¢��?��V m|h���_�_ mpcrensD�dm Z>ª

M2M¡M2L�uh��

L2Ls�{�Z>l���egsJlnc���c�x�sJh��Js�z i�egm s�h § s�lx>s�lnlgZLz �uegm s�h ¨ ��Z�evª�Z>ZLh$��{�Z>lnm sd�jm xwcfZKoJi�Z>h�x>ZLcL©�V�Wjmpc�x�sJh��Js�z i�egm s�h[ªCm z|z�e��u´�Z^{jz �Jx�Zwm|h �&\�0;�cg{���x>Z § �uzpcfs h��uY[ZL� : �:&�� :)��&'� cg{���x>Z-�db'(rz z|m suege ¨ ©�yA¢ egZ>l5W��S�dm hj����Z>ZLh¯{jlns�x�ZLcncgZL�±�db¯� § ¢­s�lnª���ln� ¨ ��m cnx�lnZ�enZD��s�ijlnm|ZLlAenln��h�cv¢­sJlgY±¡�egWjZ���cgZLo�ijZLh�x�ZKc^��lgZx>s�h�cgm �jZ>lnZL�²egsD��Z�m h � � � �^��&'��cf{��Jx�ZJ©�V�WjZ5x�sJhd��s�z i�enm|sJh²m h�lnZL��z�cg{���x>Z^x�sJlglnZLcg{�s�h��jcPegsD�-{�sJm|h�eg¥HªCmpcfZw{jlnsd�ji�xe�m|h���s�ijlnm Z>lcg{���x>Z�¡���h����[����x�´dª��ul�����mpcgx>lgZ>egZ��jsJijlnm|ZLl�egl��uh�cf¢­s�lnY'��m ��ZKc�egWjZ cn�uY[Z5lnZLcgijz¬e § egW���hj´�c�egs[enWjZ�{�Z>lnm|s���mpx�m|evb�{jlns�{�Z>lgevb ¨ m|hlnZL��z³cf{��Jx�Z�egW��uh$egWjZ�sJlgm ��m h��uz&x>s�hd��sJz|i�enm|sJh³©V�WjZ²enWjZ>sJlgb�s�¢ � m cnx�lnZ�enZ[��s�ijlnm Z>l�Vµl��uh�cv¢­sJlgY»mpc���Z�e��um z|ZK��m h �u{j{�Z>h���m¬}�¸w®5ª�ZDªCm z zrhjs�ª enlgb�ens��u{j{jz b¯m|e5egs

M2Lx>s�Y[{ji�e���egm s�hµ© ��� �$����� �� �� � ��� � �� ��� ��������� � �� ��� � �� �84 ��� � ���

M2L� 3 ������� �

·�Z^¤�lncfe�x>s�h�cgmp��Z>l¶egWjZM2LsJ{�ZLln�uegs�l�ªCm¬enW$cgm|h���z Z^WjZLm|�JWJe�´�ZLlghjZLz��Jc��jZ�¤�hjZK��m h § < © ��© � ¨ ©rV�WjZ���Z>�JlgZLZ^s�¢&egWjZ�Z�}�{���h�cfm s�henZ>lnY[cAln��hj��ZKc¶¢­lns�Y

0ens

P©P·�Z5egW�Z>lnZ�¢­s�lnZ�x�sJh�cfmp��ZLlL®

Lkj =

P−j∑

n=0

n∑

l=−n

M lnO

−(k+l)n+j ∀(j, k) ∈ N

2, j > 0, |k| < j.§ �j© < ¨

?���5���5M2LÁ L ½ ����� Á � � 9 ½�À-½  �j���

2D� Á 8 ��Á , ��H9 Á 8

·�ZAªCm z|z�lgZLªClgm|egZ�enWjZM2Ls�{�Z>l���ens�lr�Jcr�

2Dx�sJh��Js�z i�egm s�hµ©µ·�Z^x�sJijz �²W��S�JZCx�WjsdsJcgZ>h²egs�lnZ>ªClnm¬enZCm¬e���cr�

2Dx>s�lnlgZLz �uegm s�h�jijeAegWjmpcAª�s�i�z �$W��S��Z5z ZL��ens��uh �vm hd��ZLlncgZ �w{�s�m h�ef¥¦ªCm cgZ5{jlnsd�ji�xeAm h¯�jsJijlgm Z>lAcg{��Jx�Z�©¶·NZ�W��S�JZ5{jlgZ>¢­Z>lnlgZK�±�uh�m|hd��ZLlncgm s�h�m|hlnZL��z³cf{��Jx�Z�cgi�x�W��Jc>¡d¢­sJlA�uz z

(j, k) ∈ N2 ®L′k

j = L−k−j ,

O′kj = Ok

−j

§ s�hjz b���ZL��lnZ>ZLcC��lgZ�m h��JZ>l�cfZK� ¨ .§ ��© � ¨

· WjZLh±m|h�cgZ>lgegZK��m hM2L¡dª�Z�W��S��ZJ®

L′−k−j =

n∈J

l∈KM l

nO′−(k+l)−(n+j) ∀(j, k) ∈ N

2,

��h���ªCm¬enWj′ = −j

�uh��k′ = −k

®L′k′

j′ =∑

n∈J

l∈KM l

nO′k′−lj′−n.

��s�l�cfm Y[{jz|mpx�m|evb�¡�ª�Z�lgZK��Z�¤�h�ZwWjZLlgZK��¢ enZ>l�egWjZLk

j

�uh���egWjZOk

j

cfs-egW��ue�enWjZ>b�x>s�lnlgZKcf{�s�h���lgZKcf{�ZLx�egm ��ZLz|b²egsL′k

j

��h��O′k

j��h���ª�Z5s��jen�um h$egWjZ5¢­sJz|z s�ªCm|h��2Dx>s�hd��sJz|i�enm|sJh³®

Lkj =

P−j∑

n=0

n∑

l=−n

M lnOk−l

j−n ∀(j, k) ∈ N2, j > 0, |k| < j.

z Z�eK®Γ = {(n, l) ∈ N2 with 0 ≤ n ≤ P, |l| ≤ n} ¡Q��ZLcnx�lnm ��Z�enWjZDcgZ�e�su¢Ps�l���ZLlncA��h��¯��ZL��lnZ>ZKc�¢­s�lwªCWjm x�W Mk

j

¡Ok

j��h��Lk

j

�ulnZ���Z>¤�hjZK�&©rV�WjZLcgZ5egZLlgY�cC��lgZ�x�sJh�cgm ��ZLlgZK��ens²����hjm cgW±s�i�eCs�¢Γ©·�Z ��Z�¤�hjZ5evª�s[cgZ�enc J ��h�� K ¡���c�m|h�cgZLx�egm s�h § ¸�© � ¨ ¡���bQ®

J = J−P, P K,

����V����

Page 18: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 < �

K = J−P, P K,��h���ª�Z5Z�}denZ>h��$egW�Z ��Z�¤�h�m¬enm|sJh�s�¢Xk

j

m h$enWjZ5¢­s�z z s�ªCm|hj�²ª��Sb�®

Xkj =

{Xk

j

m|¢(j, k) ∈ Γ

0m|¢

(j, k) ∈ J ×K \ Γ∀(j, k) ∈ J ×K

ªCWjZLlgZXk

j = Mkj

sJlXk

j = Okj

©¹µZ�e

J = |J | �uh�� K = |K| ¡�ª�Z^hjs�ª Z>}�enZ>h���egWjZ5��Z>¤�hjm|egm s�h�s�¢ Mkj

��h��Ok

j

egsN

2 enW��uhj´�c¶egs J{�ZLlgm s���mpx�m|evbD¢­sJl¶enWjZ��ZL��lnZ>ZKcC�uh��

K{�ZLlgm s���m x>m¬evb�¢­s�l�egW�Z�s�l���Z>l�c>©¹µZ�e

Lkj

��Z ��Z�¤�h�ZL�$s�h J ×K ��bQ®

Lkj =

n∈J

l∈KM l

nOk−lj−n ∀(j, k) ∈ J ×K.

·�Z�W��S��Z�hjs�ª egWjZ5¢­sJz|z s�ªCm|h��²z Z>Y[Y��j©Q ½ � ��� ?���5��

Lkj = Lk

j , ∀(j, k) ∈ Γ

� � �H� + �^V�WjmpcCmpcC��ijZ5ens�®Mk

j = 0 ∀(j, k)/|k| > j,

Mkj = 0 ∀(j, k)/j < 0,

Okj = 0 ∀(j, k)/j > P.

¸�i�eLk

j

xL�uh���Z�hjsJh�¥¦h�i�z|zQ¢­sJl(j, k) /∈ Γ

©�wh�x>Z��u�J��m|hµ¡�ª�Z�lnZL��Z>¤�hjZ5WjZ>lnZL�u¢ egZLl

Lkj

¡Mk

j

�uh��Ok

j

lgZKcf{�ZLx�egm ��ZLz|b��dbLk

j

¡Mk

j

�uh��Ok

j

¡���h��$ª�Z�¤�h���z|z b�sJ��en��m|hµ®

Lkj =

n∈J

l∈KM l

nOk−lj−n ∀(j, k) ∈ N

2.

$½ � ����� ? �*5 � �$/1&��:&'� �0@ "��U�U�-�!� � �F�)&\� �!� 0/1&��U&�� ���!������ � + J �&'� ��; *�3�!� �U� ���!� � ������� � +��:&)�� �!� 0/1& �U& �U�&\&�-�! &)�1�^����� � ��& : �-���$��.�U� � ; &^�\� �\& : � �F�)& � +C0/1&�� � � :\&)�� &'� & �. � "1&3� + !/�& : �-��%��0; � ������ � ��!& � n

��-� � &^� +\� �� 0 �

P −j�!� � �� � =�/1&)�&\� � � : &)�� &)�&\� :\����%��0;�� *���-�(/���%�& �!�$�U& ������ �-�!� ��+\� �� −N +1

�N � �����5=�&'%�&'��+'���#0/1&��U&�� � �!*���-�� + K ����!& � �!� !/�& �-��U&)�����! (&'���^�����1�7=�& � �(�$�� ��&\&\� �:&'��5@ "1� �U�-�!� � � �\& :\� �F�'& � + 0/1&�� ��;?; �! � � � � + à � �

?���5�� ? � � ½¯Á DC� ¾ � � ½ �L� ¾ L�� Á L ½ �K�:9 ½ �V�WjZ�{�lgsJ{�ZLlfevb § < © � ¨ ¡j����z|mp�$¢­s�l Lk

j

�uh��Mk

j

��c�ª�Z>z zU¡�ªCm z z³lgZKcfi�z¬eCm h±��s�ijlnm Z>lCcf{���x�ZJ¡�ªCm¬enW��1D

� �?V sJh�enWjZ�s�l���Z>l�cL¡�m hW���z¬¢?su¢�egW�Z5egZ>lnY�c���ZLm|h��²ZKo�i��uzQens[egWjZ x>s�Y[{jz Z�}$x>s�h�tvij����enZ�s�¢µenWjZ�suenWjZ>lCW���z¬¢v©� h��jZ>ZL��ªCWjZLh���{j{jz bdm|hj���

1D� ��V s�h±�[cfZKo�ijZ>h�x>Z

(X)l∈N¡N{�Z>lnm|s���mpxu¡�ªCm|egW

X−l = (−1)lXl ¡jª�Z5W��S��ZJ®

X−l =1

N

N2∑

k=− N2 +1

Xke−i2πk(−l)

N ,

X−l =1

N

N2∑

k=− N2 +1

(−1)kX−kei2πkl

N .

¹µZ�eX ′n = X−n, ∀n ∈ N

©X−l =

1

N

N2∑

k=− N2 +1

X ′kei2πk

N (l+ N2 )

X−l =1

N

N2∑

k=− N2 +1

X ′ke−i2πk

N (l+ N2 )

V�VXW-Y�Z'[\Z^]

Page 19: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

< � ���������^��!�

V�W��ueAm c�ens�cg�Sb�®X−l = X ′l+

N2.

adm h�x>Z�®X ′k = X−k ¡jª�Z�W��S��Z�®

X−l = X−l−N2 .ywc

(Xk)k∈N

mpc�{�ZLlgm s���m x5ªCm|egW±{�Z>lnm|s��N¡jª�Z�x>�uh±��ZK��i�x�ZJ®

X−l = XN2 −l.

V�W��ue � c�ªCWdb�s�hjz b�sJhjZ5W��uz|¢�s�¢�enWjZ �ulnl��Sb[x>s�h�en��m|h�m|hj�²enWjZ�egZ>lnY�cCm h±��s�ijlnm Z>lCcf{���x�Z5hjZLZL�$egs[��Z cvens�lnZL�&© � � �8�)� � ��� � �� � � � �8��� � ��� � � � ��� � ��� ��� �?�� ?���5 � � ½ ��9£�J� ,�9 8 �L�L�j� 9 ,�9­� ¾� ijZ5egs��jZ�¤�hjm|egm s�h < © < �uh���ZKoJi���egm s�h�c § < © º ¨ § < © > ¨ ¡�enWjZ Ok

j

�uh��$enWjZMk

j

�Jlgs�ª�¡dªCWjZLhj�uh��

k��lns�ª�¡d�Jc>®

Okj (r, θ, φ) ∼ (j − |k|)!

rj+1

§ ��© º ¨

Ikj (r, θ, φ) ∼ rj

(j + |k|)! .§ ��© > ¨

ywc^Y[Z>h�enm|sJhjZL��m|h � (rz z =��."?egW�m cw¢£��cfew����lgmp��enm|sJh�m|h�egWjZ²Y��u��h�m¬eni���Z-s�¢PegWjZ²hjsJlgY su¢¶egWjZ-egZ>lnY�c�lgZKcfijz|enc^m|hNhdijY[Z>lnm xL�uzm h�cfen�u��m|z m¬evb$ªCWjZ>h±i�cgm hj���?��V �u��s���Z��[x�lnm|egmpx>�uzµ�S��z|i�Zw¢­sJlP© � h��jZ>ZL��ªCWjZLh±{�ZLlf¢­sJlgY[m hj��� � �?V egWjZ5enZ>lnY[cAªCm¬enW¯cfY��uz zY��u�Jhjm|egi���ZD�ulnZ ���j��ZK��egs[enZ>lnY[c^ªCm¬enW�Wjm ��W�Y��u�Jhjm¬eni���Z-��h���WjZ>h�x�Z z sdsJcgZ5egWjZLm|lw{jlgZKx�mpcfm s�hµ®¶ªCWjZLh±egWjZ ����x�´dª���ln� � ��VmpcC{�Z>lg¢­s�lnY²ZK��enWjZ�m h�¢­s�lnY���egm s�h±x�sJh�en�um hjZK��m h$enWjZ cgY[��z|z&Y�����hjm|egi��jZ5egZ>lnY�c�m c�h�s�z|sJhj��ZLl�h�suegmpx�ZK�u�jz Z�©V�Wjmpc�{jlns��jz Z>Y'��ZL{�ZLh��jc�sJh�enWjZ5Y[�Jx�Wjm hjZw{�lgZKx�mpcfm s�h�i�cfZK�&®?ªCm¬enW 6 sJ��enm|h��-{�s�m hJeAx>s�Y[{ji�e���egm s�h�c�{�Z>lg¢­s�lnY[ZL��m|h±cfm hj�Jz|Z{jlnZLx>m cgm s�h §

4�db�egZLc ¨ enWjZ�h�i�Y²ZLlgmpx>��zwm h�cfen���jm|z m|egm ZLc��u{j{�ZL��l�¢­s�l�Y-i�x�W z s�ª�ZLl����uz ijZLc$su¢ P

enW��uh ªCm¬enW 6 sJ�uegm hj� {�s�m h�ex>s�Y[{ji�e���egm s�h�c�{�ZLlf¢­sJlgY[ZL�$m h±�js�ij�jz Z�{jlnZLx>m cgm|sJh §8��b�enZLc ¨ ©� h²��s�ij��z|Z�{jlnZLx>m cgm|sJh�egW�m c�{jlns��jz Z>Y��js�ZKc�hjsueP�u{j{�ZL��l?ªCm¬enW egW�Z�x>z �Jcgcgmpx

M2L§ mH© ZJ©�ªCm|egW²hjs5���?V ¨ ¢­s�lPx>s�Y[Y[s�h-����z|ijZKcs�¢

P§ �ueAz|ZK��cfeAij{�egs

P = 40 ¨ cgm|h�x>Z5egZLlgY�cA��lgZ5l���egW�Z>lCY-i�z¬enm|{jz m ZL�±��Z�¢­s�lnZ���Z>m hj�����j�jZL�&©�+^s�ª�ZL��ZLl�m h¯cgm|hj�Jz|Z5{jlnZLx>m cgm s�h{jlns���z|ZLY[cCxL�uh±�u{j{�ZL��lCªCm¬enW�x�zp��cncfmpxM2L��i�eC¢­s�lC���uz ijZKc�su¢

PY-i�x�W$Wjm ��W�Z>l�egW��uh±ªCm¬enW�egWjZ �?�?V m Y[{jlns���Z>Y[ZLhJeK©V�WjmpcAmpcncfijZ�W���cC{���lfenz|b § cgZ>Z cgZLx�egm s�h�c���© ���uh����j© � ¨ ��ZLZ>h�lnZLcgs�z ��ZK��m h � (¶z|z =J�0"�ªCm|egW±egW�Z i�cgZ su¢r� �>; �&: �-���?V5®�m|h±enWjZ��ZL��lnZ>ZKc-��m Y[Z>h�cgm|sJh egW�Z�enZ>lnY[c²�ulnZ��JlgsJij{�ZK����xLx�sJln��m hj�±ens¯egW�Z>m l[�jZ>��lnZ>ZKc>¡P��h�� WjZLh�x�Z���x>x>s�l���m hj�±egsNegWjZ$Y��u��h�m¬eni���Zs�¢�enWjZ>m l hjsJlgY±¡µ��h��NegWjZ � �?V mpc5{�Z>lg¢­s�lnY²ZK�N¢­s�l�Z>�JZ>lnb¯�jz s�x�´�cfZL{�ZLln�uegZLz|bJ©�V�WjZ[{�sJm|h�ef¥¦ªCmpcfZ�{jlns���i�x�e5W���c5enWjZ>h�egs���Z{�Z>lg¢­s�lnY[ZL�$�jz|s�x�´��db$�jz|s�x�´�ªCW�m|z Z5i�cfm hj��� ; �-� � & �U����!�1: �-��%��0; � ������ § h���Y²ZK�$�Jc�m|h1� (rz z =��." ¨ �uY[s�hj�DegW�Z��jz|s�x�´�cL©·�Z�Z�}�{jzp�um h$��Z>z s�ª enWjZ ��Z>en�um zpc�su¢�egWjmpcC�jz s�x�´��?��V5©

?�� ?�� ? O�, Á �R�  ½ � Á �ML Á �:9­�:9 Á 8·�Z ��Z>h�suegZJ®

� B®�enWjZ�hdijY-��Z>lCs�¢��jz s�x�´�c

� T®degW�Z �fcgm �LZ �ws�¢�enWjZ��jz s�x�´ § m h�egWjZ ��ZL��lnZ>Z5��m Y²ZLh�cgm|sJh³¡jªCm|egWjsJi�e �>ZLlgs�¥H{��J�j��m hj��¡dcgZ>Z5��ZLz|s�ª ¨

·�Z-cgij{j{�sJcgZ�¤�l�cveAenW���eP + 1

mpc^�[YDijz¬enm|{�z|ZDsu¢T�uh��±ª�Z�W��S��Z5enWdi�c>®

B = P+1T

©�V�W�Z-�jz s�x�´���ZLlncgm s�h�su¢?egWjZ²�?��V��ZK�uzpcrsJhjz|bDªCm¬enW[egWjZw��Z>�JlgZLZLcr��m Y[Z>h�cgm s�h³¡�egWjZ^�?�?V1m|h�egWjZAsJln�jZ>lr��m Y[Z>h�cgm|sJh���ZLm|h�� ijh�x�W���hj��ZK�&©µ·�ZCenWjZ>lnZ�¢­sJlgZAx>s�h�cgm �jZ>l�1Dx>s�lnlgZ>zp��enm|sJh���cL®

Lj =

P−j∑

n=0

MnOj+n.

Li¡Mi��h��

Oi��Z>m hj����Z>¤�hjZK�$sJh³®

J0, P K©��s�lA�uz z

I ∈ J0, B − 1Kª�Z5�jZ�¤�hjZ5enWjZ��jz s�x�´

M(I)�dbQ®

M(I)i =

{MIT+i ∀i ∈ J0, T − 1K,0 ∀i ∈ J−(T − 1), 0K.

����V����

Page 20: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 < �

·�Z�Z�}degZLh��$egWjmpcA��Z>¤�hjm|egm s�h�egsNegW��uhj´�c�egs

(2T − 1){�Z>lnm sd�jm x>m¬evbJ©¶V�WjZ cn�uY[Z5m cA�js�hjZ�¢­s�l

O(I)¡���z cgsDZ>}degZ>h���ZL�$egs

NªCm¬enW

(2T − 1){�Z>lnm sd�jm x>m¬evbJ©²��s�l �uz z

(I, J) ∈ J0, B − 1K2¡���h���¢­s�l��uz z

i ∈ J−(T − 1), T − 1K¡³ª�Z[m|h�enlgs���i�x>Z²egWjZ�jz s�x�´

X(I, J)�dbQ®

X(I, J)i =

T−1∑

n=−(T−1)

M(I)nO(J)i+n.§ ��© � ¨

� ijZPens�egWjZ¶�jZ�¤�hjm|egm s�h�s�¢���z|s�x�´�cM(I)�uh��

O(J)¡KegWjZ¶cgijY x>��h���ZrcgWjs�lgegZLhjZL�5��cL®

X(I, J)i =∑T−1−i

n=0 M(I)nO(J)i+n©¸�z sdx�´

X(I, J)m c^egWdi�cwenWjZDlnZLcgijz|ews�¢PegWjZ < � x�sJlglnZ>zp��enm|sJh±su¢¶cgm �LZ

2T − 1��Z>evª�ZLZ>h���z|s�x�´

M(I)��h����jz s�x�´

O(J)©

� ijZAens enWjZw��Z>¤�hjm|egm s�h�s�¢QegWjZKcfZw�jz|s�x�´�c § {�ZLlgm s���mpx�m|evb²��h�� �>ZLlgs�¥H{��J�j��m hj� ¨ ¡�ª�Z^x>��h�s���e��um h�Z�}j�Jxegz bDegWjZ^cn�uY[ZAlnZLcgijz|e�ªCm|egWenWjZ � � �?V��-m hd��Z>l�cgZL��{�s�m h�ef¥¦ªCm cgZ5{jlnsd�ji�xeAm h���s�ijlnm Z>lAcg{���x>Z��-���Jx�´dª���ln� � �?V �5cnx�WjZ>Y[Z�©·�Z�h�s�ª�ªCm cgW�enswlnZ�enlgm Z>�JZregW�ZLjx�sdZ�°�x>m|ZLhJe�cµsJi�e?su¢jenWjZ

X(I, J)�jz s�x�´�c>©�V�WjZ��?�?V ¢­sJl

M2Lmpc�W�s�ª�ZL��Z>lµhjsue?lgZK�uz z|b��ZKx�sJY²{�sJcn�u��z|Z5m hJens���m¬«QZ>lnZ>h�eA�jz s�x�´�c § ��cC�²Y���enlgm|}d¥H{�lgs���i�x�eCm cL¡d¢­s�lCZ>}���Y[{jz|Z ¨ cfm h�x>ZwenWjZ�s�lnm ��m h��uzQlnZLcgijz¬eAmpc�ªCmp��ZLcg{jlnZL�����Y²sJhj����m|«�ZLlgZLhJeA��z|s�x�´�c>®?ZK��x�W

LjmpcCx�sJY[{ji�egZK�±��cC�[cfi�Y�s���ZLl�egZ>lnY�c�m|h�enWjZ

X(I, J)�jz sdx�´�cL© � h$sJln�jZ>l�egs���Z>egZLlgY[m hjZªCWjmpx�W±egZLlgY�cAegs�cgijY�¢­sJlw�[�Jm|�JZ>h

Ljª�Z5¤�lncfe^{�s�m h�e^s�i�eCenW���ew¢­s�l^��z|z

i ∈ J−(T − 1), T − 1K¡X(I, I + J)i

m c^{��ulgeAsu¢enWjZ cfi�Y'¢­s�lLJT+i©_�sJlgZ5{jlnZLx>m cgZ>z bQ®

�jz s�x�´X(I, I + J)

�fm|h�egZLln�Jxe�c �wªCm|egW

LJT−(T−1)

LJT−(T−2)

. . .LJT−1

LJT

LJT+1

. . .LJT+(T−1)· WjZLh�cfZLZ>h$¢­lgsJY

Lj¡�cgm h�x�ZJ®∀i ∈ J0, P K, ∃!(I, i′) ∈ J0, B − 1K× J0, T − 1K

cfi�x�W$egW���ei = IT + i′,

ª�Z�W��S��Z�m|¢i′ = 0

®Li =

B−1−I∑

N=0

X(N, N + I)i′ ,§ ��© � ¨

��h���suegW�Z>lnªCm cgZ § mU© Z�©i′ 6= 0 ¨ ®

Li =B−1−I∑

N=0

X(N, N + I)i′ +B−1−I−1∑

N=0

X(N, N + I + 1)i′−T .§ ��© � ¨

ywc�m h � (rz z =J�."³�Dz ��lg�JZ�¥¦��l��um h�x�s�hd�Js�z i�egm s�h § WjZ>lnZ5�Dx>s�lnlgZLz �uegm s�h ¨ ��{j{�ZL�ul�c���e�egWjZ��jz s�x�´dc�z Z>�JZ>zQm|h�egWjZ5ZKoJi���egm s�h�c § ��© � ¨��h�� § ��© � ¨ ®?egWjmpcAx>��h�xL�uh���Z�{�m x�egijlnZL�±��c�m h�¤���i�lgZ ��© < ©· WjZLhP + 1

mpcChjs�eC�²YDijz¬enm|{�z|Z�s�¢T¡denWjZ�hdijY-��Z>lCs�¢��jz s�x�´dc�i�cgZL��mpc P+1

T + 1§ m h�egZ>�JZ>lA��m �dm cgm s�h ¨ ©?V�W�Z�z �JcveC�jz s�x�´W��Jc�egWjZLh±h�i�z|z³lns�ªAc�m|h��J�j��m|egm s�h$egs[egW�sJcgZ�i�cfZK��¢­sJl��>ZLlgs�¥H{��J�j��m hj��©� h<� ( � =J�0"�enWjZ^�jz s�x�´[��Z>l�cgm|sJh²ZLh��u��z|ZKcrenWjZ^i�cgZ^s�¢µcfW�s�lgegZ>l¶�jz|s�x�´�c�m|h�enWjZ^sJln�jZ>l��jm|Y[Z>h�cfm s�h�¢­sJlrenWjZA¤�l�cfe��jz s�x�´dcL®�egWjmpcW��JcAhjs�e^��Z>Z>h�i�cfZK�±WjZ>lnZ-cgm|h�x>Z-�uz zµ�?�?V x�sJY²{�i�en�uegm s�h�cA��lgZ�{�lgZKx�s�Y[{jijegZL� § cfZLZ-cgZLxenm|sJh < © < ¨ ¡�ªCWjmpx�W�lgZK��i�x�ZKcCenWjZ �J��m|hs�¢?cgi�x�W�Z>hjW���h�x�ZLY[Z>h�eL©

��� � � � � ��������� ��� � ����� ���·�Z[i�cfZ[�?�?V�· � �����J�."P¢­s�l�egWjZ[Z>°�x>m|ZLh�e�m Y[{jz|ZLY[Z>h�en�uegm s�h�s�¢�� � �?V5©³V�Wjmpc5�S��sJm �jc^egW�ZDªClnm¬enm|h��$s�¢�s�i�lws�ªChNZ�°�x�m Z>h�e�?�?V § ���Jcve-��s�ijlnm|ZLl Vµl��uh�cv¢­sJlgY ¨ �ji�e m|e-W���c�enWjZ���l��SªC����x�´±hjs�e�egs��uz z s�ª�egW�Z���m|lnZLx�e�i�cfZ�s�¢¶enWjZ�cfbdY[Y[Z�enlgm ZLc5sJhNenWjZsJln��ZLlnc § cfZLZ § ��© < © � ¨f¨ ® ª�Z²h�Z>ZL����¢­ijz z¶�ulnl��Sb$¢­sJl5egWjZ�sJln�jZ>l���m Y²ZLh�cgm|sJh § mU© Z�©�ªCm|egW+hjZL�J��enm|�JZ²��h���{�s�cfm|egm ��Z[sJln��ZLlnc ¨ ¢­s�l�?�?V�· ªCWjm|z Z��[W��uh��d¥HY��J��Z�cg{�ZLx�mp�uz����?V ª�sJijzp��lnZLo�ijm lgZ5�uh�W���z|�JZL���ulnln�SbJ©_�sJlgZ²{jlnZLx>m cgZ>z b±ª�Z�x>��hjhjs�e�i�cgZDegWjZ

2D�?��V9su¢��?�?V�·7�ji�e�ª�Z²W��S�JZ-ens�cg{jz m¬e5egW�Z

2D�?�?V�m hNevª�s�cfZ>enc5su¢

1D�?�?V5®jenWjZ1D�?�?V m h�egWjZ-s�l���Z>l�cC��m Y²ZLh�cgm|sJh±��lgZ�¤�l�cfeA{�ZLlf¢­sJlgY[ZL��sJh±�²¢­i�z|z��ulnln�Sb�ªCWjmpx�W�x�sJhJe��um h±��s�egW±{�s�cfm|egm ��Z ��h��hjZL�J�uegm ��Z-sJln�jZ>l�c>¡Q�uh��¯egWjZLh�sJhjz|b�sJhjZ-W��uz|¢¶su¢renWjmpc���lgl��Sb�m c�´�ZL{�e�¢­s�lwegWjZ

1D�?�?V m h¯enWjZ���Z>�JlgZLZLc^�jm|Y[Z>h�cfm s�h³© yA¢ egZLlenW���eK¡jegW�Z {�sJm|h�eg¥HªCmpcfZ�{�lgs���i�x�e^mpcC{�ZLlf¢­sJlgY[ZK�$ªCm|egW�W��uz ��ZL�±��lgl��Sb�c���h��$egWjZ-����x�´dª��ul�� � ��V e��u´JZ�{�z �Jx�Z�m h±egWjZ lnZ>�JZ>l�cfZsJln��ZLlL©

V�VXW-Y�Z'[\Z^]

Page 21: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

<:G ���������^��!�

L T M

0 0 0

11

2 2

L T M

2 2 0

L T M

1 1 0

12

Step 2. Step 3.Step 1.

��m ��ijlnZ���© < ®�¹µ��lg�JZ-��l��um h+x�s�lnlnZ>zp��egm s�h�su¢���z|s�x�´��?�?V5©�+AZLlgZM�uh��

L�jZ>hjs�egZ²egWjZ���z|s�x�´�c�x�sJhJe��um hjm hj��enWjZ�Y-i�z¬enm|{�s�z Z��h���z|s�x>��z&Z�}�{���h�cfm s�h�c���h��

TenWjZ��jz sdx�´�cCx>s�h�en��m|hjm hj�DegWjZ

M2Lenln��h�cv¢­ZLl�¢­ijh�x�egm s�h³©

V�Wjmpc?m Y²{�z|m ZLcPcgs�Y[Z�lgZKx�sJ{jm|ZKc�¢­lgsJY ¢­ijz z�egs5W���z|�JZL�-��lgl��Sb�cµªCW�Z>h²{�ZLlf¢­sJlgY[m hj���?�?V5¡u�jijePegWjmpcP���j�jm¬enm|sJh��uzjx>sJcfe�mpcrcgY[��z|zH©V�WjZ²Y��um hN�J�����uh�en����Z s�¢¶���?V�· ¡QsuenWjZ>lwegW��uh�m|enc�Z>°�x>m|ZLh�x�bJ¡Qm cwegW���e5m¬e�x>��h¯W��uh���z|Z²�uln�jm|egl��ulnb�cgm �LZLc^¢­s�l5�?��V5®Qª�ZD��lgZWjZLlgZ5hjs�eAlgZKcvenln��m|h�ZL��ens�{�s�ª�Z>l�s�¢2©

?�� I ��5 � 9£�HN Á ��²��, Á �R�³�· m|egW¯�?�?V�·=� < � �?��V su¢?cfm �>Z

Nx�sJY[{ji�egZKc�egWjZ ��lgl��Sb

Yk®

Yk =

N−1∑

j=0

Xje−2iπjk

N ∀k ∈ J0, N − 1K.

]^{�egs²hjs�ª ª�ZwW��S��Z^lnZL�jZ�¤�hjZws�ijl�Z�}�{���h�cgm|sJh�egZLlgY�c�s�h J ×K = J−P, P K× J−P, P KªCW�m x�W��ulnZwx�ZLh�egZ>lnZL���ulns�ijh��

0®-m h s�l���Z>l�ens¯i�cgZ�x�sJlglnZLx�e-�ulnln�Sb�c5��c�m hj{jijeDsu¢C�?�?V�· ¡µenWjZ

P + 1¤�lncfe enZ>lnY[c m|h�ZK��x�W+su¢�egW�Z

2��m Y[Z>h�cgm|sJh�c�W��S�JZens$x�sJlglnZLcg{�s�h��$egs�egWjZ-egZLlgY�cwªCm¬enW�{�sJcgm¬enm|�JZ § sJl^hdijz z ¨ m|h���Z�}�ZLc^ªCWjm z|Z-egWjZ P

¢­s�z z|s�ªCm hj�[enZ>lnY[c�x�sJlglnZLcg{�s�h��&¡���ijZ-egs�enWjZ{�Z>lnm|s���mpx�m|evb�i�cfZK�&¡degs[enWjZ�hjZ>����enm|�JZwm h���Z>}dZKc>©PV�WjmpcCmpc�egWjZ�=,� � " @ �-�� � �$� �-��U&)�©��s�lA� � enWjZ>sJlgZ>egmpx>��z �wzp�Sb�sJi�e�su¢�egWjZ5¢­sJz|z s�ªCm|h��DZ>}d{��uh�cgm|sJh³¡�ªCm|egW

P = 4§ ��m Y²ZLh�cgm|sJh�c>®

2P + 1× 2P + 1 ¨

X00

X−11 X0

1 X11

X−22 X−1

2 X02 X1

2 X22

X−33 X−2

3 X−13 X0

3 X13 X2

3 X33

X−44 X−3

4 X−24 X−1

4 X04 X1

4 X24 X3

4 X44︸ ︷︷ ︸

k=−4..4 ����������� �

j = −4..4§ ��ZL��lnZ>ZKc ¨

����V����

Page 22: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 < =

·�Z5egWjZLlgZ>¢­s�lnZwW��S��Z5ln�uegWjZLl�egWjmpcAcfegs�l��u�JZwm h±Y[Z>Y[s�lnbQ®

X00

X01 X1

1 X−11

X02 X1

2 X22 X−2

2 X−12

X03 X1

3 X23 X3

3 X−33 X−2

3 X−13

X04 X1

4 X24 X3

4 X44 X−4

4 X−34 X−2

4 X−14

︸ ︷︷ ︸k=0..8 ��������� � �

j = 0..8§ ��Z>�JlgZLZLc ¨

+^s�ª�ZL��Z>lr�jijZCegs egWjZAlnZL�jZ�¤�hjm|egm s�h[s�¢QsJijlOk

j

m h���© �d¡JegWjZw��Z>�JlgZLZCsu¢QegWjZM2Legl��uh�cf¢­Z>l?¢­i�h�xenm|sJh��ulnZCm|hd�JZ>l�cfZK�-ªCWjmpx�W�Jm|�JZLcL®

X00

X04 X1

4 X24 X3

4 X44 X−4

4 X−34 X−2

4 X−14

X03 X1

3 X23 X3

3 X−33 X−2

3 X−13

X02 X1

2 X22 X−2

2 X−12

X01 X1

1 X−11︸ ︷︷ ︸

k=0..8 ��������� � �

j = 0..8§ ��Z>�JlgZLZLc ¨ § �j© G ¨

\^ijz|z?lns�ªAc^xL�uh�WjZLlgZ²x�z ZL�ulnz b$��Z²cg´dm|{�{�ZK�¯ªCWjZLh¯{�ZLlf¢­sJlgY[m hj��enWjZ²�?�?V m h�egW�ZDsJln��ZLlncw��m Y²ZLh�cgm|sJh § ��Z�¢­sJlgZ-egWjZ[�?��Vm h�egWjZ ��ZL��lnZ>ZKc��jm|Y[Z>h�cfm s�h ¨ ¡j�ji�eCenWjmpcCz �SbJs�i�e�mpcChjsue�¢£�S�Js�l��u�jz ZwªCW�Z>h �v{jzp�uh�m|hj� �wenWjZ �?��V ªCm|egW��?��V�· ©V�W��ue � c-ªCWdb+ª�Z�W��S�JZ�x�WjsdsJcgZL�+hjs�e-ens�i�cgZ�ªCl��u{�¥ �ulns�i�h���s�l���Z>lK®²egWjmpc²m|Y[{jz m|ZKcD�NcfW�m¬¢ e[m|h egWjZ$m|h���Z�}�ZLc-¢­s�lDegW�Z2��m Y[Z>h�cgm s�h�c § s�l���ZLlnc��uh�����ZL��lnZ>ZKc ¨ m h�lnZL�uz�cf{���x�ZJ©�· m|egW�Z>��ZLh�cgm �LZLcL¡uegW�ZwcgWjm¬¢ e�ZLo�i���z cregWjZwW��uz|¢³su¢QegW�Zw��m Y[Z>h�cgm|sJh��uh��[m|h��s�ijlnm|ZLlAcf{���x�Z5cgi�x�W��[cgWjm|¢ eAlgZKcfijz|enc�m h�ZL��x�W$egZLlgY���ZLm|hj�[YDijz¬enm|{�z|b$��b

(−1)j+k ©ry^h��$egWjZKcfZ�¢£��x�egsJlncC��lgZwegWjZLh�x>�uh�x�Z>z ZL���i�lgm hj�²egWjZ�{�s�m h�ef¥¦ªCm cgZ5{jlnsd�ji�xe �

¸�i�e�m|h�sJln�jZ>lrens W��S�JZAZ>�JZ>h�cgm �LZLcrª�Z^YDi�cfe�������� hdijz z�lns�ª1��h�����hdijz zQx�s�z ijY[h³¡��uh��²egWjZ5cfm �>ZKcrs�¢³s�ijl����?V ��lgZAh�s�ª2(P + 1)

m h±ZL��x�W���m Y²ZLh�cgm|sJh³©·�Z�hjs�ª W��S��Z�¡dªCm|egWjsJi�eAªCl��u{�¥ �ulns�ijh���s�l���Z>lA��h��$ªCm¬enWjs�i�e^�jZ>��lnZ>Z�m h��JZ>l�cfm s�hµ¡ § mU© Z�©?¢­sJl

Mkj ¨ ®

X00

X−11 X0

1 X11

X−22 X−1

2 X02 X1

2 X22

X−33 X−2

3 X−13 X0

3 X13 X2

3 X33

X−44 X−3

4 X−24 X−1

4 X04 X1

4 X24 X3

4 X44︸ ︷︷ ︸

k=0..9 ��������� � �

j = 0..9§ ��ZL��lnZ>ZLc ¨

V�VXW-Y�Z'[\Z^]

Page 23: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

��� ���������^��!�

��h���ªCm|egW���ZL��lnZ>Z5m h��JZ>l�cfm s�h § mH© ZJ©?¢­s�lOk

j ¨ ®

X−44 X−3

4 X−24 X−1

4 X04 X1

4 X24 X3

4 X44

X−33 X−2

3 X−13 X0

3 X13 X2

3 X33

X−22 X−1

2 X02 X1

2 X22

X−11 X0

1 X11

X00

︸ ︷︷ ︸k=0..9 ��������� � �

j = 0..9§ ��ZL��lnZ>ZLc ¨

Lkj

s���e��um hjZL��ªCm|egW����Jx�´dª���ln���?��V ��lgZ�cfegsJlgZK��ªCm¬enW�ªCln��{�¥ �ulns�ijh��Ns�l���ZLl-�uh���enWjZ>b�W��S�JZ�m|hd��ZLlfenZL� ��ZL��lnZ>ZKc��uh��sJln��ZLlnc § cgZ>Z±ZKoJi���egm s�h § �j© � ¨g¨ ®�egW�Z>b ��lgZ�cvens�lnZL��m h egWjZ�cn�uY[Z$ª��Sb���c § ��© G ¨ �ji�e�ªCm¬enW m hd��ZLlfenZL��sJln�jZ>l�c>© y^h�� ªCWjZ>h{�Z>lg¢­s�lnY[m|hj�-����x�´dª��ul��²�?�?V m h�egW�Z^s�l���ZLl���m Y[Z>h�cgm|sJh�ª�ZA{�ZLlf¢­sJlgY enWjZ < � ���Jx�´dª���ln�[�?�?V s�hjz b²s�h�enWjZ^lns�ªAcPenW���e�ªCm|z z��Z�i�cgZ�¢­ijzH¡jmH© ZJ©?egWjZ�lns�ªAc�egW��ue^x�s�h�e��um h�cC��Z>�JlgZLZLcjªCm|egW

0 ≤ j ≤ P©

$½ � ����� ? �!? � ��/�&�:\/1�-� :\& �$��� � �F�'&#!/�& =,� � " @ �-�� � �$���-��U&)�\� +'�-� ��; �� "��0; &�& �'"������\���-� ��� =�&>;?;�����+'���M2L

�������0+'&'�+�� � :'��������4=�� � �U�-��& �!� �-��U&)�( � �&\� � :\&(0/1&������ � � � *�! (& � ���5=�&'%�&)� �\�!� :\&C0/1&C ���\���! &>@�:\���1� � ��!� � "����^�� �(!/�&"����!� @ =,� �)&�"$��:� � :) � �)&\&��)& :'������ � �� � � � �!�:\� ��; �C/1�-% & � &\&)� � &)� &)�� � �U&\& " !/�&,=,��\" @ ��� � � ��� ���� &'� � �����C/�&'� :\&C�H� ��^� �:&^�.� �

2P + 1× 2P + 1�!���^ &\�U� � +

2(P + 1)× 2(P + 1) � �!� ��� �U&)� ��/���%�&��^ (�0;?; &)�����^�� � �^� �H&'�,+'��� 0/1&�"����!� @ =,� �)&"$��H� � :' �

?�� I � ? � 9£�HN1� , Á �R�³�·�ZwW��S��ZC{jlnZLcgZ>h�egZK��m h�cfZKxenm|sJh § ��© � ¨ � �jz s�x�´²�jZLx�sJY[{�s�cfm|egm s�h�s�¢µ� 1D

x>s�lnlgZLz �uegm s�h³©µ· WjZ>h��u{j{jz m ZL�[ensM2LsJ{�ZLln�uegm s�henWjZ�sJln�jZ>lµ��m Y[Z>h�cgm s�h�enlgZK��egY[ZLhJe�lgZLY��um h�c³ijh�x�W��uhj�JZL� x>s�Y[{���lgZK�^ensAenWjZ�h�s�h�¥¦�jz sdx�´���ZLlncgm s�h³©³��s�l�egWjZ���Z>�JlgZLZ¶��m Y²ZLh�cgm|sJh³¡ª�ZDx>s�h�cgm �jZ>lw��x�s�lnlnZ>zp��egm s�h��JcAm h § �j© < ¨ ¡�egWdi�cw{�ZLlf¢­sJlgY[m hj����zp�uln��Z>¥H�Jln��m|h±x�sJlglnZ>zp��enm|sJh³¡���i�ewªCWjZLh�x�sJh�cgm ��ZLlgm hj� § ��© � ¨ ª�Z{�Z>lg¢­s�lnY egWjZ�cg��Y[Z¶m h��JZ>l�cfm s�h��Jc § ��© � ¨ m h�cgm �jZ¶ZL�Jx�W �jz s�x�´�® § ��© � ¨ �ulnZrWjZLh�x�Z�x�s�hd�JZ>lgegZL�5m h�egs��^x�sJhd��s�z i�enm|sJh³¡>enWdi�c�lgZKcfijz|egm hj�m h��Dh�s�h�¥¦m|hd�JZ>l�cfZK��{�s�m hJeg¥HªCmpcgZ�{�lgs���i�x�eCm|h��jsJijlnm|ZLlAcf{��Jx�ZJ©·�Z[��m ��Z-W�Z>lnZDZ>}���Y[{jz|ZKc^s�¢regW�Z²{�ln�Jxegmpx>��z�zp�Sb�sJi�ewm h�Y²ZLY[s�lnb$¢­sJl5s�ijl5�jz s�x�´dcwªCWjZLhNx�sJh�cgm ��ZLlgm hj�

P = 7®wªCWjm z|Z��hjsJh�¥¦�jz|s�x�´��?�?V ª�sJijzp��i�cgZ²��lgl��Sb�cCsu¢¶cgm �LZ

16× 16¡&���jz|s�x�´��?�?V5¡�ªCm|egW

T = 2��h���ªCm|egW �>ZLlgs�¥H{��J�j��m hj� §

T → 2T ¨ ¡W��Jc��jz sdx�´�c�s�¢?cgm �LZ4× 16

©�·�Z�lnZ>{jlnZLcgZ>h�e�WjZ>lnZ5�jz|s�x�´��2©V�WjZ�enWjZ>sJlgZ>egmpx>�uz&zp�Sb�sJi�e�ª�sJijz ����Z�®

X−4

4X−3

4X−2

4X−1

4X0

4X1

4X2

4X3

4X4

4

X−5

5X−4

5X−3

5X−2

5X−1

5X0

5X1

5X2

5X3

5X4

5X5

5| {z }

k=−8..7 ��������� ��

9>>>>>>>>>=

>>>>>>>>>;

j = −2..1K 7� Y$5 0 -�O

��s�l�egW�Z�Y-ijz|egm {�sJz|Z�Z>}�{��uh�cgm s�h § mU© Z�©PªCm|egW�s�i�eAªCl��u{�¥ �ulns�i�h���sJln��ZLlL¡���h���ªCm|egW�s�i�eAm hd��Z>l�cgm|sJh ¨ ®

X−4

4X−3

4X−2

4X−1

4X0

4X1

4X2

4X3

4X4

4

X−5

5X−4

5X−3

5X−2

5X−1

5X0

5X1

5X2

5X3

5X4

5X5

5| {z }

k=0..15 ����������� ��

9>>>>>>>>>=

>>>>>>>>>;

j = 0..3K 7� Y$5 0 -�O

��s�l�egW�Z5egl��uh�cf¢­Z>l�¢­ijh�x�egm s�h § mH© Z�©rªCm|egWjsJi�eAªCl��u{�¥ �ulns�ijh���s�l���Z>lK¡��uh��$ªCm|egW¯��ZL��lnZ>ZLc�m hd��Z>l�cgm|sJh ¨ ®

X−5

5X−4

5X−3

5X−2

5X−1

5X0

5X1

5X2

5X3

5X4

5X5

5

X−4

4X−3

4X−2

4X−1

4X0

4X1

4X2

4X3

4X4

4

| {z }

k=0..15 ����������� ��

9>>>>>>>>>=

>>>>>>>>>;

j = 0..3K 7� Y$5 0 -�O

����V����

Page 24: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 � <

��s�l�egW�Z�z|s�x>��z&Z�}�{���h�cfm s�h § mH© ZJ©PªCm¬enW�ªCln��{�¥ �ulns�ijh���s�l���Z>lK¡��uh��$ªCm¬enW±s�l���Z>l�c��uh��±��ZL��lnZ>ZLc�m hd��Z>l�cgm|sJh ¨ ®

X0

4 X−1

4X−2

4X−3

4X−4

4X4

4X3

4X2

4X1

4

X0

5 X−1

5X−2

5X−3

5X−4

5X−5

5X5

5X4

5X3

5X2

5X1

5| {z }

k=0..15 ����������� ��

9>>>>>>>>>=

>>>>>>>>>;

j = 0..3K 7� Y$5 0 -�O

ywc�¢­s�l5egW�Z²h�s�h�¥¦�jz sdx�´��JZ>l�cfm s�hNsu¢�egWjZ��?�?V5¡&hdijz|z¶lgs�ªAc��ulnZ�cf´dm {j{�ZK��ªCW�Z>h�{�ZLlf¢­sJlgY[m hj��egWjZ²¢­s�lnª��ul����?�?V�m hNenWjZsJln��ZLl-��m Y[Z>h�cgm|sJh³¡�¢­s�l�enWjZ��jz s�x�´dc5s�¢�egWjZ�YDijz|egm {�sJz|Z�Z>}�{��uh�cgm s�h+��c�ª�Z>z z��Jc5¢­s�l�enWjZ��jz s�x�´�c5su¢�egWjZ�egl��uh�cf¢­Z>l�¢­i�h�xenm|sJh³©+^s�ª�ZL��Z>lA¢­s�lwegWjZD����x�´dª��ul����?�?V m h¯egW�Z-s�l���ZLlw��m Y[Z>h�cgm|sJh § ¢­sJl^enWjZD��z|s�x�´�cAs�¢PegWjZDz|s�x>��zµZ>}d{��uh�cgm|sJh ¨ ¡�egW�Z>lnZ-mpc^sJhjz|b 1�fi�cgZ>z ZLcnc �Clgs�ªAcr{�ZLl¶�jz s�x�´�®?�uz zjenWjZ^s�egWjZLl¶lns�ªAcPx�sJhJe��um h�i�cgZ�¢­ijz�egZLlgY�c¶cgm h�x�ZCenWjZ^��z|s�x�´D�jZLx�sJY[{�s�cfm|egm s�h�cg{jlnZL����c?egWjZwz|s�xL�uzZ>}d{��uh�cgm|sJh�enZ>lnY�c�m|h�cgmp��Z�ZL�Jx�W��jz s�x�´�© � h±{jl���x�egmpx�Z�ª�Z �js²h�sueAcf´dm {��uhdb�lns�ª m|h�enWjm c^x>��cgZ�©$½ � ����� ?�� I � O�Q¶�3R ��L� � ½ �L� � ¾ � � ��/�&#"1�-�!�� @ =,� �'&#"$��H� � :'*���!� � ; �&: � % &)�\�^�����M� � �!������� @ � ; �&: � % &)�\�^�����1��=�/F� :\/� ��!/�& ���^#*�! (&>@�: �-�1� � ��!� ��"����^ � +�0/1&

M2L:\�� "�� �������� =,�!0/ 0/1&������ �! "���-% &) (&'� �� � �H&'� �$�� (�� : / �-� � � +

0/1&��^ ���$�U��� �.������� :\�0;?; � � �)&\& �)& :'������ � � � �^� +'�):' �$��� � : / ��"�& &\� �:" :\�-� � & � �' ���!�$&\� +\��� � � :\/ : �- #" � �-*���-�3�^�!� :\&0/1&)�&�� ���$�C�U�- �C�& �F�)&�� �-� :\& 0/1&.�^�!� �9; &3; �H�\" /�� � �\& &)� =,�^�!� &)� �!�� � �:" � 0/1& : �- #"$�?; &)�. ��"���-%H��� & :\�:�U&�!/��� : �-� �\&"$� "1&>; �!��&\� �

��� � � � � �� � � ·�Z�hjs�ª�cveni���b5enWjZ�x>s�Y[{jz Z�}�m|evb�s�¢jegW�Z���z|s�x�´��uh�� egWjZ�hjsJh�¥H��z|s�x�´5��ZLlncgm|sJh�su¢jenWjZ����?V ZLhjW���h�x�ZLY²ZLh�e�¢­sJl

M2L©���m lncfe�ª�Zx>s�h�cgm �jZ>l�egW��ue�enWjZ

M2Legl��uh�cv¢­ZLl¶¢­ijh�xegm s�h�c §

Okj ¨ �ulnZ^{�lgZKx�s�Y[{jijegZL��¢­s�l�ZL�Jx�W�z|ZL��ZLz l �uh���egWjZLm|lCx�sJhd��Z>l�cgm|sJh[egsD��s�ijlnm Z>lcg{���x>Z-ensds�©D��s�l5��lns�ªCm hj�

l¡³egWjZ[lnijh�egm Y²Z[x�s�cve5su¢�egWjmpc5{jlnZLx>s�Y[{ji�enm|hj����ZLx�sJY[ZLc5o�ijm x�´dz b�m|h�cfm ��hjm|¤�xL�uh�eL©Da�ZLx�sJh���z b�¡&enWjZ

M2Lx�sJY²{�i�en�uegm s�h¯ªCm|egW����?V9{jlgs�x>Z>ZL��cAz m|´JZ-enWjm cL®^��z|z?Y-i�z¬enm|{�s�z ZDZ>}�{��uh�cgm s�h�cw�ulnZ ¤�l�cve5x�sJh��JZ>lgegZK�±egs��js�i�lgm Z>l5cf{���x�ZJ¡enWjZ>h±¢­sJlAZL�Jx�W±x>Z>z z³ª�Z ���j�$egW�Z lgZKcfi�z¬e�cCsu¢P�uz z³{�s�m hJeg¥HªCmpcgZ�{jlgs���i�xencAm|h�m|encCm h�egZLln�Jxegm s�h±z m cfeL¡��uh��±x>s�hd��ZLlfe�egW�m cA�J�j��m|egm s�hens�lgZK�uz�cf{��Jx�Z�m h¯s�l���ZLl�egs�lnZ�enlgm Z>�JZ5m¬e�c^z s�x>�uzµZ�}�{��uh�cfm s�h³©CywcCegW�ZDcgm �LZ su¢?egW�Z-m hJenZ>l���x�egm s�h±z|mpcfe^m c

189§ ¢­s�l

ws = 1 ¨ ¡�ª�Zx>s�h�cgm �jZ>lK®� < x�s�hd�JZ>l�cfm s�h�ens��jsJijlgm Z>lCcg{���x>Z�¢­s�lA�²Y-ijz|egm {�s�z Z�Z�}�{��uh�cfm s�h� <HG =-{�s�m h�ef¥¦ªCm cgZ5{jlgs���i�xenc� < ����x�´dª��ul���x�sJh��JZ>l�cfm s�h�egs[lnZL�uz³cg{��Jx�Z�¢­s�lA�²z sdxL�uz&Z>}d{��uh�cgm|sJh

V�WjmpcL¡uªCWjZ>h²Y-i�z¬enm|{jz b �db�enWjZ�h�i�Y-��Z>l?su¢Qx�Z>z zpcP��e?z|ZL��Z>zl¡���m ��ZKc��w{jlnZLx>m cgZ�ZKcvenm|Y��uegZ�su¢jenWjZChdijY-��Z>l?s�¢�s�{�Z>l���enm|sJh�c�hjZ>ZK��ZL�¢­sJl5��z|z

M2L��e5z|ZL��Z>z

l© V�WjZDZKcvenm|Y��uegZL��s�{�Z>l���enm|sJh�x�sJijh�e�i�cgZL�¯¢­s�l��

1Dx�sJY[{jz|Z>}��?��V�su¢�cgm �LZ

NªCm¬enWN�?�?V�·/mpc>®

5N log2(N)§ cgZ>Z5sJhjz|m hjZ �?�?V�·=�jsdx>ijY[Z>h�en�uegm s�h±��eK®�/F� " � ��� =�=�= � �# = �!�-� � ¨ ©

?�� E ��5 � 9£�HN Á ��²��, Á �R�³�� L ½ �S�j�H9 Á 8 � Á 8 � ?���5�� �����

189 M2L� "�&'� ��������1�\� 0/1&�!/�&\���&)*� :\�5;�� "�&'� �������� :\� � �� � +�!/�& ����� =,�!!/�� � �� ; �#: �(� ���

189 M2L = 40(P + 1)2 log2(2P + 2) + 378 ∗ (P + 1)2.

� � �H� + �A· m|egW+enWjZ[i�cfZ�s�¢�cgbdY²Y[Z>eglnm|ZKc�¢­s�l5s�l���Z>l�c § �Jc5Z�}�{�s�cfZK��m h § ��© < © � ¨g¨ ¡�egWjZ[i�cgZ�su¢��uh�Z�}degl���lns�ª9��h��+x�s�z ijY[h�m|hsJln��ZLl�egs±W��S��ZDZ>�JZ>h+cfm �>ZKcwz m ´�Z2(P + 1) × 2(P + 1)

§ cgZ>Z�cfZKxenm|sJh § �j© º�© < ¨f¨ ¡��uh�� 1D§ ¢­s�lnª��ul��¯�uh��N���Jx�´�ª��ul�� ¨ ���?V��Z>m hj��{�Z>lg¢­s�lnY²ZK��sJhjz b�s�h$egWjZ

P + 1�fi�cgZ�¢­ijz ��lns�ªAcL¡�ª�Z5W��S��Z�¢­sJl�egWjZ�hjsJh�¥¦�jz|s�x�´��JZ>l�cfm s�h³®

� ¢­s�lA�?�?V s�h�Y-ijz|egm {�sJz|Z-Z�}�{��uh�cfm s�h±�ulnln�SbJ¡Jª�Z x�sJijh�e P + 1�?��V su¢Pcgm �LZ

2(P + 1)m|h±enWjZ�s�l���Z>lC��m Y[Z>h�cgm s�h § ¢­ijz z�ulnln�Sb-ªCm¬enW�h�i�z|z�lgs�ªAcrcg´dm|{�{�ZK� ¨ �uh�� P +1

�?�?V s�¢³cfm �>Z2(P +1)

m|h�enWjZ^��ZL��lnZ>ZA��m Y[Z>h�cgm s�h § W��uz ��ZL�[��lgl��Sb ¨ ¡umH© ZJ©|®(P + 1)5(2P + 2) log2(2P + 2) + (P + 1)5(2P + 2) log2(2P + 2)

= 20(P + 1)2 log2(2P + 2),

� ¢­s�l�����x�´dª��ul��[���?V sJh�z sdxL�uz�Z�}�{���h�cfm s�h���lgl��Sb�¡�ª�Z�x�s�i�hJe P + 1���?V s�¢µcfm �>Z

2(P +1)m|h�enWjZ5��Z>�JlgZLZ^��m Y²ZLh�cgm|sJh§ W���z|�JZL�±�ulnl��Sb ¨ ��h��$egWjZLh P + 1

�?�?V su¢Pcfm �>Z2(P + 1)

m|h±enWjZ sJln��ZLlA��m Y²ZLh�cgm|sJh § ¢­ijz z���lgl��Sb�ªCm|egW�i�cgZ>z ZLcncClns�ªAccf´dm {j{�ZL� ¨ ¡jmU© Z�© ®20(P + 1)2 log2(2P + 2),

V�VXW-Y�Z'[\Z^]

Page 25: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

�J� ���������^��!�

� <HG =-{�s�m h�ef¥¦ªCm cgZ5{jlgs���i�xenc���Z�evª�Z>ZLh±W��uz ��ZK�$��lgl��Sb�c § su¢�cgm �>Z2(P + 1)× (P + 1) ¨ ®

189 ∗ 2 ∗ (P + 1)2.

��s�l-i�cfi���z�����z|ijZKc-s�¢P¡?egWjZ$Y[sJcfe-egm Y[Z�¥ x�sJh�cfi�Y²m hj�N{��ulge-su¢^egWjZ����?V �JZ>l�cfm s�h+s�¢

M2Lmpc enW�i�c enWjZ${�s�m h�ef¥¦ªCm cgZ{jlns���i�x�eL©

?�� E � ? � 9£�HN1� , Á �R�³�� L ½ �S�j�H9 Á 8 � Á 8 � ?�� ?�� � �-�

189 M2L� "�&)����������� �,0/1&�0/1&\��� &'�� :\�0;�� "�&'� ��������%:\� � � � + !/�&#� ��� =,�!!/ �>; �#:���� �\�8=,�!!/

B = P+1T

�189 M2L = 10 (P + 1)

2log2

(32 (P + 1)

2T 2)

+ 189

((P + 1)

3

T+ (P + 1)

2

).

� � �H� + �A·�Z�x>s�ijh�e�egWjZ5cg��Y[Z^s�{�Z>l���enm|sJh�c¶�Jcr¢­sJl¶enWjZ�hjs�h�¥¦�jz s�x�´D�JZ>l�cfm s�h���h���ª�Z^WjZLlgZ�cfij{�{�s�cfZ^egW��ueP + 1mpc��-Y-ijz|egm {jz Zs�¢

T©PV�WjZ�cgm �LZ5su¢P�D��z|s�x�´�ªCm|egW �>ZLlgs�¥H{��J�j��m hj�²m c�enWjZ>h

2T × 2(P + 1)¢­s�lA�?�?V m|h�egW�Z�s�l���Z>lC��m Y[Z>h�cgm|sJh § ¢­ijz zµ�ulnln�Sb ¨ ¡��h��

2T × (P + 1)¢­s�l�egW�Z ���?V m|h�enWjZ ��Z>�JlgZLZ��jm|Y[Z>h�cfm s�h±�uh��$enWjZ�z ��lg�JZ�¥¦��l��um h�x�sJlglnZ>zp��enm|sJh § W��uz ��ZL���ulnl��Sbdc ¨ ©

� �jsJl^�?��V sJh±egWjZ BY-i�z¬enm|{�s�z Z Z�}�{���h�cgm|sJh��jz|s�x�´�cL¡jª�ZDx�s�i�hJe

T�?�?V su¢rcgm �LZ

2(P + 1)m h�enWjZ-sJln��ZLlA��m Y²ZLh�cgm|sJh§ ¢­ijz z&�ulnln�SbDªCm¬enW�hdijz z�lns�ªAc¶cg´dm|{j{�ZL� ¨ �uh�� P +1

�?�?V su¢µcgm �>Z2Tm h�enWjZ��jZ>��lnZ>Zw��m|Y[ZLh�cfm s�h § W���z|�JZL���ulnl��Sb ¨ ¡�mH© ZJ©|®

B (5T (2P + 2) log2(2P + 2) + (P + 1)5(2T ) log2(2T ))= 10BT (P + 1) log2(4(P + 1)T ).

� �jsJl�����x�´dª���ln���?�?V sJh egW�Z B z s�x>�uz�Z�}�{���h�cgm|sJh �jz sdx�´�cL¡�ª�Z�x�sJijh�e P +1�?��V su¢�cgm �>Z

2Tm h-enWjZ���Z>�JlgZLZ���m Y[Z>h�cgm|sJh§ W���z|�JZL�+�ulnl��Sb ¨ ��h���egWjZLh 2T

�?��V s�¢Ccgm �>Z2(P + 1)

m h+egWjZ$s�l���Z>l ��m Y[Z>h�cgm s�h § ¢­i�z|z��ulnln�Sb��ji�e-hjs��jz ��hj´�lns�ªcf´dm {j{�ZL� ¨ ¡jmU© Z�© ®B (5(P + 1)(2T ) log2(2T ) + (2T )5(2P + 2) log2(2P + 2))

= 10BT (P + 1) log2(8(P + 1)T ).

� <HG =-zp�uln��Z���l��um h�x>s�lnlgZLz �uegm s�h�c�ªCm|egW±{�sJm|h�eg¥HªCmpcfZ5{jlns���i�x�enc���Z�evª�Z>Z>h±�jz s�x�´�c�s�¢?cgm �>Z2T × (P + 1)

®

189

[B−1∑

J=0

B−1−J∑

I=0

(2T (P + 1))

]= 189B(B + 1)T (P + 1).

·�Z5egWdi�c�¤�h��uz z|b�W��S��ZJ®189 M2L = 10 (P + 1)2 log2

(32 (P + 1)2 T 2

)+ 189 (P + 1)2 (B + 1) .

·�ZrWjZLlgZrcgZ>Z?enW���e³enWjZr�jz s�x�´^�JZ>l�cfm s�h�su¢�egWjZ����?VN¢­s�lM2LW���c³��h�s�{�Z>l���enm|sJh�x>s�ijh�e³m h O(P 3)

¡��u�J��m|h�cve O(P 2 log2 P )¢­sJlregW�Z^hjsJh�¥H��z|s�x�´-�JZ>l�cfm s�hµ©�·�Z^x>��h��uzpcgs�lgZLY[��lg´-egW��ue¶enWjZAzp�uln��Z�¥¦��l��um h[x�s�lnlnZ>zp��egm s�h ��{�s�m h�ef¥¦ªCm cgZA{jlns���i�xe�{��ulge¶mpc¶ZL��Z>hY[s�lnZ�egm Y[Z�¥ x�s�h�cfijY[m hj�²egW���h�egWjZ �?�?V��-���Jx�´dª���ln���?�?V {��ulgeL¡jx>s�Y[{��ulnZL��egs²enWjZ�hjs�hj¥H�jz s�x�´��?��V5© ��� � � � � �� �� ��� �� � �����·�Z^hjs�ª x>s�Y[{���lgZ�enWjZ^Y[Z>Y[sJlgb²hjZ>ZK��ZL����b²enWjZw�?�?V3m|Y[{jlns���ZLY[Z>h�erªCm¬enW�enWjZ^hjZLZL�jc¶su¢&enWjZwx>z �Jcgcgm x

M2Lx�sJY[{ji�en�uegm s�h�JcPZ�}�{�sJcgZL�Dm|h�cgZLxenm|sJh < © ��© ºd©�· m|egW[enWjZAcn�uY[Z�hjsue���egm s�h�cPª�Z�Y[ZL�Jcfi�lgZ�egW�ZAhjZ>ZK�jc�¢­s�lregWjZChjsJh�¥¦�jz|s�x�´ �JZ>l�cfm s�hµ©�V�WjZC�jz s�x�´�JZ>l�cfm s�h$W���c�egW�Z5cn�uY[Z5Y[Z>Y[s�lnb�lnZLo�ijm lgZLY²ZLh�enc�ªCWjZ>h

P + 1mpcC�²Y-ijz|egm {jz Z�s�¢

T©��^enWjZ>lnªCm cgZwegWjZ�cgm �LZ�i�cfZK��mpc�egWjZ cn�uY[Z�Jc�¢­s�l�egW�Z5¤�lncfeA��lnZL�uegZLl�YDijz¬enm|{�z|Z�s�¢

T§ Y[m h�i�c

1 ¨ ©adm h�x>Z�enWjZ+Z�}�{��uh�cfm s�h�c$m h ��s�ijlnm|ZLl�cf{��Jx�Z��ulnZ�cfegsJlgZK� m|h W���z|�JZL� ��lgl��Sb�c�ªCm|egW x�s�Y[{jz Z�} hdijYD��ZLlncL¡wegWjZLm|l�cgm �LZNmpc2(P + 1)2c

© V�Wjmpc[mpc����uz m � ¢­s�l�YDijz¬enm|{�s�z Z¯�uh�� z s�x>�uzCZ>}�{��uh�cgm s�h�c[��c²ª�Z>z z^��cD¢­sJl[egWjZ±enln��h�cv¢­ZLl²¢­ijh�xenm|sJh³© +As�ª�Z>�JZ>lª�Z^sJhjz|b²hjZLZL��sJhjZwcgm|h���z ZAW��uz ��ZK���ulnln�Sb�c�¢­sJl¶enWjZ^z s�x>�uz�Z�}�{���h�cfm s�h�c>®µegWjmpc¶mpc�i�cfZK����c��uh���i�}�m|z mp�ulnbD�ulnl��Sb-ªCWjZLlgZ^��z|zM2LlnZLcgijz|enc�su¢�egW�Z�m|h�egZLln�Jxenm|sJh�z m cfe^�ulnZ��Jx>x>ijY-ijzp��enZL��¢­s�l�enWjZ x�ijlnlnZ>h�e�x>Z>z z³��Z>m hj�[{jlgs�x>ZLcncfZK�&©PV�WjZ�cfm �>Z5su¢�egW�m cAcgm hj��z Z��ulnln�SbmpcChjZL��z ZLxenZL�&©·�Z�W��S��ZwegWdi�c § WjZLlgZ�¢­s�lAcgm hj��z Z5WjZ>m ��W�eA´�ZLlgh�Z>z ¨ ®

MemSg(P, H) = N (H)

(2(P + 1)2 +

(P + 1)(P + 2)

2

)c +NT

(2(P + 1)2

)c.

§ ��© = ¨

����V����

Page 26: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 �uº

��� �/ � ����������� �����9��� ��� ��� � +^s�ª�ZL��Z>l5enZLcfenc�W��S��Z�cfW�s�ªChNenW���e-egWjZ�hdijY[Z>lnmpx>�uz¶m|h�cfen���jm z|m|evb�lnZ>Y��um h�c5¢­sJl�Wjm ��W ���uz ijZLc su¢

P�Jc cfW�s�ªCh�m h�¤���i�lgZ��j© �¢­sJl^cfm hj�Jz|Z W�Z>m ��W�e

M2L´�ZLlghjZLzU©�V�WjmpcAY[m|�JW�e^��Z-Z�}�{jzp�um h��db�egWjZ m h 6 i�Z>h�x>Z su¢?egW�Z ���uz ijZ�su¢?egW�Z s�l���Z>l § mU© Z�©

k ¨ m h § ��© º ¨��h��+m|h § ��© > ¨ ®DegW�Z��jz sdx�´���ZLx>s�Y[{�sJcgm¬enm|sJh�mpc sJhjz b�{�Z>lg¢­s�lnY²ZK�N¢­s�l�enWjZ���ZL��lnZ>Z���m Y[Z>h�cgm|sJh³¡��ji�e ¢­sJl-Wjm ��W+���uz ijZLc-su¢ P ¡hdijY[Z>lnmpx>�uz&m h�cfen���jm|z m|evb��u{j{�ZL��lnc�m h�egWjZ�sJln�jZ>lC��m Y²ZLh�cgm|sJh�ens�s�©

-12

-11

-10

-9

-8

-7

-6

-5

0 5 10 15 20 25 30

Err

or

P

potfxfyfz

��m ��ijlnZ ��© ��®r¹³sJ�J��lgm|egWjY[mpx^ZLlglns�l�¢­sJl�egWjZ�{�suenZ>h�egmp�uz §pot ¨ �uh���enWjZ5¢­s�l�x�Z�x>s�sJln�jm|h��uegZKc § fx

¡fy¡fz ¨ �Jx>x>s�l���m|h�� egs P

¢­s�lcgm|h���z Z�WjZ>m ��W�eM2L´�ZLlghjZLz&ªCm¬enW����?V ªCm|egW±�jz sdx�´�c�s�¢?cgm �LZ

4©¶V�ZLcfencC{�Z>lg¢­s�lnY[ZL�$s�h < ���J���Dijhjm|¢­s�lnY ��mpcfeglnm|�jijegm s�h±ªCm¬enW��h�s�x�eglnZ>Z5su¢�WjZ>m ��W�e

4©rV�WjZ5ZLlglns�l�{jz suegegZL��mpc�egWjZ�Y��u}dm Y-i�Y �u��cfsJz|i�enZ5Z>lnlgsJl�s��JZ>lC�uz zQegWjZ�{��ulgegmpx�z ZLcL©

V�Wjmpc?hdijY[Z>lnm xL�uzdm h�cve��u�jm z m¬evb-xL�uh²Wjs�ª�Z>��ZLl���Z�lgZK��i�x>ZL�DªCm¬enW²z s�ª�Z>l��jz|s�x�´-cgm �>Z�®�ªCWjm z|ZJ¡�¢­s�lrcgm|h���z Z�WjZLm|�JW�eM2L´JZ>lnhjZ>zH¡enWjZ²�?�?V ªCm|egW¯��z|s�x�´�cfm �>Z

4��ZLx>s�Y[ZLcwijh�cfen���jz|Z-¢­s�l

PWjm|�JWjZ>lwegW��uh

14§ cgZ>Z ¤���ijlnZ[��© � ¨ ¡&���?�?V ªCm|egWN�jz|s�x�´±cfm �>Z 3

mpccfen���jz|Z�i�hJenm|z27¡d�ji�eAmpcCs�¢�x�sJijl�cfZ�cgz|s�ª�Z>lK©y^hjsuenWjZ>l²cfZL��Z>lnZ���l��SªC����x�´¯mpc�enW���e-egWjZ�hdijY[ZLlgmpx>��zrm|h�cve��u�jm z|m|evb�m|h�x>lgZK��cgZLc�ªCm|egW+enWjZ�WjZLm|�JW�e-su¢�egW�Z�s�xeglnZ>ZJ©±· WjZ>hx>s�h�cgm �jZ>lnm|hj� § �j© º ¨ �uh�� § �j© > ¨ ¡jª�Z�W��S��Z5�uzpcgsDens²en�u´JZ5m|h�egs��Jx>x�sJijh�e�egWjZ�m h 6 ijZLh�x�Z�s�¢µevª�s���m cfen��h�x�ZKc>®

� egWjZ �jm cfen��h�x�Z5��Z�evª�Z>Z>h 2x�ZLz|z³x>Z>h�egZLlnc § ¢­s�l

Okj

m hM2L¢­sJlCZ�}j�uY[{jz Z ¨ ¡

� �uh���egW�Z ��m cfen��h�x�Z5��Z�evª�Z>ZLh±�[x>Z>z zµx�ZLhJenZ>lA��h��$�²{���lfenm x>z|Z5z s�x>��enm|sJh § ¢­s�l Mkj

m|hP2M ¨ ©

· m|egW m|h�x�lnZL��cgm hj��WjZLm|�JWJe±su¢�enWjZ�sdx�eglnZ>ZJ¡AegW�ZLcgZN��mpcve��uh�x>ZLc±��ZKx�lnZL��cgZ�¡Acgm h�x�ZNegWjZ+x�ZLz|z�cgm �LZ�mpc±��m|�dmp��ZL� �db2��Z>evª�ZLZ>hevª�s�x>s�h�cgZLx>i�egm ��Z-z|ZL��Z>zpc�su¢renWjZ²sdx�eglnZ>ZJ¡�W�Z>h�x>ZDlnZLcgijz|egm hj�$m h�hdijY[ZLlgmpx>��z�m h�cfen�u��m|z m¬evb�ªCW�Z>h¯enWjZ>m l5s�l���Z>l�su¢rY�����hjm|egi��jZDmpc��ZLx>s�Y[Y[m|hj�²ens�s[cgY[��z|zH©P�jsJl�Z>}j�uY[{jz Z�¡j��c�cgZ>ZLh�m h�¤��JijlnZ5�j© º�¡�ªCm|egW±�uh$s�xeglnZ>Z�su¢�WjZ>m ��W�e

6¡denWjZ����?V ªCm¬enW$�jz s�x�´�cfm �>Z

4mpcCijh�cfen���jz Zw¢­sJlPW�m|�JWjZ>l�enW��uh

10§ x>s�Y[{��ulnZL��egs

14¢­sJlCWjZ>m ��W�e

4 ¨ ©V�WjZ²���uz ijZLcwsu¢P�uh���WjZ>m ��W�e�cw����s��JZ ªCWjmpx�W�hdijY[Z>lnm xL�uz�m|h�cve��u�jm z|m|egm ZLc5��{j{�ZK�ul5�ulnZDcgijY[Y��ulnm �LZL��m h¯e��u�jz Z��[��© < ��¢­s�lcgm|h���z Z�W�Z>m ��W�e

M2L´JZ>lnhjZ>z § ¢­sJlA�?��V su¢?cfm �>Z

2¡�hjs²m h 6 ijZLh�x�Z5su¢�egWjZ�s�x�eglnZ>Z�WjZ>m ��W�eCs�h�egWjZ�m h�cfen�u��m|z m¬enm|ZKc�ª��Jc���Z�enZLxenZL�&¡�jije�enWjm c�ªCm z|zQ{jlns����u�jz bDW��u{j{�Z>h�¢­sJl�W�m|�JWjZ>l�WjZ>m ��W�e�crenW���e�x>�uh�hjsue���Z�lgi�h�WjZ>lnZ^m h�cgZLo�ijZLhJenm ��z�x>s�Y[{ji�e���enm|sJh ¨ ©��^¢µx�sJijl�cfZenWjZLcgZ[�S��z|i�ZLc���ZL{�ZLh���s�hNegWjZ�cgm �LZ²s�¢¶enWjZ�x�sJY²{�i�en�uegm s�h���z���sS}¯enW���e�Z>h�x�z sJcgZLc5�uz zP{��ulgegmpx�z ZLcL®�s�ijl�egZKcve�c �ulnZ²{�ZLlf¢­sJlgY[ZL�ªCm|egW���z|z�{���lfenm x>z|ZCx>s�sJln�jm|h��uegZKc�m h�cgm �jZ

[0, 1.0]�jijerªCm¬enW[���jm ���JZ>lrx>s�Y[{ji�e���egm s�h��uz���sS} egWjZChdijY[ZLlgmpx>��z�m|h�cfen���jm z|m|egm ZLcPª�s�i�z ���{j{�ZK�ulP¢­sJl¶Wjm ��W�Z>lrWjZLm|�JW�encL©�_�sJlgZLs���ZLl?egWjZAm h�cfen���jm|z m|evb²��i�ZCegs m h�x>lgZK��cgm|hj��s�x�eglnZ>ZCWjZLm|�JWJe�x>�uh���Z^�S�Js�mp��ZL�²ªCm|egW�� cgm|Y[{jz Zenlgmpx�´Q® ªCWjZ>h3YDijz¬enm|{�z|bdm hj� �uz zC{��ulgegmpx�z Z�x>�ulgegZKcfmp�uh x�sds�l���m h���enZLcL¡���c²ª�Z>z zA��c²enWjZ�x�sds�l���m h���enZLc²su¢wegWjZ¯x>s�Y[{ji�e���egm s�h��uz��sS}&¡�ªCm|egW���cnx>�uzp�ul

α > 1¡jenWjZ5evª�s�´dm h��jcCs�¢r��m cfen��h�x�ZKcCY[Z>h�egm s�h�ZL�±�u��s���Z��ulnZ�egWjZLh�m|h�x�lnZL��cgZL��ªCWjmpx�W�x>��h�lnZL�ji�x�Z5enWjZhdijY[Z>lnmpx>�uzPm h�cfen���jm|z m|evb�©�V�WjZ[s�lnm|�Jm|h��uz?{�s�egZLhJenm ��zr�uh���¢­s�l�x�ZKc5x>�uh���Z�s���e��um hjZL����¢ enZ>lnª���ln�±enW��uh�´dc�ens��$YDijz|egm {jz|mpx>�uegm s�hªCm|egW$lgZKcf{�ZLx�egm ��Z>z b 1

α

��h�� 1α2

©P��s�l�Z�}j�uY[{jz Z^ªCm|egWα = 4¡JenWjZ^hdijY[ZLlgmpx>��z�m h�cfen�u��m|z m¬enm|ZKc¶ªCm|egW��uh�W�Z>m ��W�e�s�¢

6x�sJlglnZLcg{�s�h��ens¯egW�Z�s�hjZKc�¢­sJlgY[Z>lnz b�s��jen�um hjZK�+ªCm¬enW �uh WjZLm|�JW�e-su¢

4©¯y^h�� ªCm|egW

α = 4��h�� �uh W�Z>m ��W�e-su¢

4¡�h�s¯m|h�cve��u�jm z|m|egm ZLcD�ulnZ��Z>egZKxegZK��m h�s�i�l¶enZLcfenc¶¢­s�l

P��Z>evª�ZLZ>h

3��h��

40ªCm¬enW��jz s�x�´[cgm �>Z

4©?V�W�m c���l��SªC����x�´DWjs�ª�ZL��ZLl¶cvenm|z zQZ�}�mpcve�c���h���lnZLcfegl��um h�cenWjZ-i�cgZ s�¢�enWjZD�?�?V m Y²{�lgs��JZ>Y[Z>h�eC¢­s�l^egWjZD��_�_ ®�enWjZDx>lgm|egmpx>��zµz ZL�u¢Pcgm �>Z mpc^��{�lgm s�lnm³hjs�e^´dhjs�ªCh¯�uh����jZ>{�Z>h��jcws�h±enWjZ

� � -^HI-D5 F W�J^W ��� �XJ*W 5IN2K ]�����O�+\W 7 � J*W 5���K�������OD+�HDH �� �� +�� V ���(+ -DW <6< + -/J^W ����� J&W 54N2K���������O +\W 7 �XJ*W 5���K N^]�����O+�H/H �� L ���;! �A" 0 - *[ H416J^W#�"U_J$5�,\J$5 a7R HI+ 16<6-�J^W H �� - ,T+ [ � 1 W -*A

V�VXW-Y�Z'[\Z^]

Page 27: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

�-> ���������^��!�

-12

-11

-10

-9

-8

-7

-6

-5

-4

-3

0 5 10 15 20 25

Err

or

P

potfxfyfz

��m ��ijlnZ ��© ºj®r¹³sJ�J��lgm|egWjY[mpx^ZLlglns�l�¢­sJl�egWjZ�{�suenZ>h�egmp�uz §pot ¨ �uh���enWjZ5¢­s�l�x�Z�x>s�sJln�jm|h��uegZKc § fx

¡fy¡fz ¨ �Jx>x>s�l���m|h�� egs P

¢­s�lcgm|h���z Z�WjZ>m ��W�eM2L´�ZLlghjZLz&ªCm¬enW����?V ªCm|egW±�jz sdx�´�c�s�¢?cgm �LZ

4©¶V�ZLcfencC{�Z>lg¢­s�lnY[ZL�$s�h < ���J���Dijhjm|¢­s�lnY ��mpcfeglnm|�jijegm s�h±ªCm¬enW��h�s�x�eglnZ>Z5su¢�WjZ>m ��W�e

6©rV�WjZ5ZLlglns�l�{jz suegegZL��mpc�egWjZ�Y��u}dm Y-i�Y �u��cfsJz|i�enZ5Z>lnlgsJl�s��JZ>lC�uz zQegWjZ�{��ulgegmpx�z ZLcL©

Y���x�W�m|hjZ²{jlnZLx>m cgm|sJh�i�cgZL�³©D_�sJlgZLs���Z>l^ªCWjZ�enWjZ>l5enWjm c�cnx>��z|m hj�$W���cwegs±��Z[i�cfZK�¯sJl�h�sue���Z>{�Z>h���c5s�h¯enWjZ[���uz ijZ[su¢P¡&enWjZ�jz s�x�´�cgm �LZ �uh���egWjZ�z ZL�u¢�cgm �LZ�©

height = 4 height = 5 height = 6�?�?V ªCm¬enW���z|s�x�´�cgm �LZ�> < > < > < ��?�?V ªCm¬enW���z|s�x�´�cgm �LZ�º �J� ��º ����?�?V ªCm¬enW���z|s�x�´�cgm �LZ � >J� >�� >��§ �j© < � ¨

��� � � � 4�8� ������� � � ��� ��� ����� � ��� � h�sJln��ZLlCegs�x�W�ZLx�´�enWjZ Z>}��JxenhjZLcncA�uh���egWjZ Z>°�x�m Z>h�x>b�su¢PsJijl^�?�?V m Y[{jz Z>Y[Z>h�en�uegm s�h±¢­sJlCegWjZD��_�_ ¡�ª�Z�W��S�JZ x�s�Y[{���lgZsJijl�x>s���Z § �?_¯¸ ¨ ªCm|egW � q¶_�V�y § �JZ>l�cfm s�h¯º�© < © �u{�º ¨ ©w·�Z²W��S��Z ��Z>ZLh�i�cgm hj� � q¶_¯V�y ªCm¬enW¯enWjZ-¤�}dZK��m hJenZ>l���x�egm s�h¯z m cfes�¢ ��lnZ>ZLhj�J��ln� � ~CsJ´�W�z|m h ªCm¬enW

ws = 1®-mH© ZJ©�hjs�_¯y * § _¯ijz¬enm|{�s�z Z$yCxLx�ZL{�en��h�x�Z * lnm|egZ>lnmp�j¡�s�l

θ ¨ ª��Jc�i�cgZL�&©¯ywc m hsJijlwx>sd�jZ�¡Q�uz zM2Lenln��h�cf¢­Z>lA¢­i�h�xenm|sJh�c^ª�Z>lnZ�{jlnZLx>s�Y[{ji�enZL�&©^y^h��±enWjZ

PDPMTAi�cgZL�±m h � q¶_¯V�y ��m|«QZ>l�cA¢­lns�Y s�ijlK®

PDPMTA = P + 1© * s�Y[{���lgmpcfsJh�ª���c�{�ZLlf¢­sJlgY[ZL��s�h � ¸�_<q?s�ª�ZLlnº ��h���q?s�ª�Z>l >�¡�egWdi�c�lnZLo�ijm lgm hj�-�-¢­Z>ª Y²s���m|¤�xL��egm s�h�cm h enWjZ�_¯�u´JZ�¤�z ZLc²cgs¯egW���e�m¬e�x>s�Y[{jm z|ZKcDªCm|egW egWjZ � ¸�_ * x�sJY²{�m|z Z>l § }�zpx ¨ ©1V�WjZ±cg��Y²Z±x�sJY[{jm|z Z>l²s�{jegm s�h�c²ª�Z>lnZ�i�cgZL�¢­sJl � q¶_¯V�y ��h����?_¯¸ § h���Y²ZLz|b$¢­s�lwq?s�ª�ZLlnº�® �); : @ �\��@*�'�^*�^� :) @ �' (���F�U�- � � ��� � � ��� ����� �<@*�:��� : /��," =,�P� @*�'� ��&�� " =,�P�

@���� � ��@*�'�\ ���� :)�!� ; �!�$& ¨ ©¶��m|�JijlgZ���© >�cfW�s�ªAc¶enW���eCsJijlCm|Y[{jz Z>Y[ZLhJe���enm|sJh$s�¢µegW�Z ���?V m|Y[{jlns���ZLY[Z>h�e�¢­sJl�egWjZ �?_¯_#mpcC��c¢£�Jcve^�Jc�egWjZ�sJhjZ � q¶_�V�y-©_�sJlgZLs���ZLl�ª�Z�W��S��Z��uzpcfs�¢­sJijh��²hdijY[Z>lnm xL�uzdm|h�cve��u�jm z|m|egm ZLcrªCWjZ>hDegZKcvenm|hj� � q¶_¯V�y sJh-¢­ijz z��?_¯_ x�sJY[{ji�en�uegm s�h�cL®³enWjZLcgZ��{j{�ZK�ul�¢­sJl�egWjZ cn�uY[Z5���uz ijZLc�s�¢P�uh��$WjZ>m ��W�e�cA��c�ªCm|egW��?_¯¸ § cfZLZ cfZKxegm s�h���© � ¨ ©

��� � �8�)� � ��� � �� � � � �8��� � ��� � � � � � ����� � �4 �� �����M2L

�� � � �· m|egW1��s�ij��z|Z$WjZ>m ��W�e

M2L´�Z>lnhjZLzU¡�egW�Z$Y���}�m Y-ijYÃ��ZL��lnZ>Z�s�¢CegWjZ

Okj

mpc2P©¯·NZ$egW�Z>lnZ�¢­s�lnZ�hjZLZL� J �uh�� K ens���Z��Z>¤�hjZK�$�dbQ® J = J−2P, 2P K

�uh�� K = J−2P, 2P K©r¸�i�eCenW��uh�´dcCegs[egW�Z�i�cfZ5s�¢?cgbdY²Y[Z>eglnm|ZKc § cgZ>Z § ��© < © � ¨f¨ ª�Z ��x�egi���z|z bi�cgZ�® K = J0, 2P K

©V�WjZwcg��Y²Z J �uh�� K W��S�JZ�egs-��ZAi�cgZL��¢­s�l Mkj

��h��Lk

j

®µenWjm c�mpcrs��jen�um hjZK�[ªCm¬enW �>ZLlgs�¥H{��J�j��m hj��©�V�Wjmpc¶��sJhjZ�¡JegWjZ��?��V¢­sJlA��s�ij��z|Z�WjZLm|�JW�eM2L´JZ>lnhjZ>z&sJ{�ZLln�uegZLc�m h�egWjZ cn�uY[Z5ª��Sb[enW��uh�¢­sJlAcfm hj��z Z5WjZ>m ��W�eK©· m|egW���sJij�jz Z�WjZLm|�JWJeM2L´JZ>lnhjZ>zH¡³enWjZ�hdijY[Z>lnmpx>�uzPm h�cfen���jm|z m|evbNmpc�Z>�JZ>h+ª�s�l�cve5egW��uh ªCm|egW�cgm|hj�Jz|Z�W�Z>m ��W�eL¡?�uh��NenWjZhjZLZL��¢­s�l5�jz s�x�´¯��ZLx>s�Y[{�s�cfm|egm s�hNsu¢�egWjZ��?�?V m c5W�m|�JWjZ>lK®wcgm|h�x�Z

Okj

W��S��ZD�jZ>��lnZ>ZKc^i�{�ens2P¡QegWjZ[l��uhj�JZ-su¢�Y[����hjm|egi���Zmpc5Z>�JZ>h���lnZL��enZ>l5�uh���egW�Z>b¯��ZLx>s�Y[Z[ijh�cfen�u��z|Z²¢­s�l5ZL��Z>h�z s�ª�ZLlw���uz ijZKc5su¢

P©[y^c�¢­sJl����?V ªCm¬enWjs�ije5��z|s�x�´Q¡³m|e5mpc5l���egW�Z>lcfegl��um ��W�ef¢­sJlgª��ul��$egs±��Z>lnm ��Z �jz s�x�´¯�?��V ¢­s�l5��s�ij��z|Z²WjZ>m ��W�e�´�Z>lnhjZLzµ¢­lns�Y �jz s�x�´±�?�?V ¢­sJl�cgm hj��z Z-WjZLm|�JW�ew´�ZLlgh�Z>z�s�h�x>Z J��h�� K W��S�JZ²��Z>ZLh ��Z�¤�h�ZL�&©���s�l ��cn�uY[Z T

¡³ª�Z�W��S��Z²lgsJij��W�z|b�evªCmpx�Z�Y[sJlgZ[�jz s�x�´dc5ªCm|egW ��sJij�jz Z�WjZ>m ��W�e�´�ZLlgh�Z>z?egW��uhªCm|egW�cgm|hj�Jz|Z5WjZLm|�JW�eA´�Z>lnhjZLzU©����V����

Page 28: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 ���

0

20

40

60

80

100

120

140

3 7 11 15 19 23 27

Tim

e (s

econ

ds)

P

DPMTA FFT with block of size 4FMB FFT with block of size 4

��m ��ijlnZ��j© >�® � s�ªChdª��ul��w{���cnc * q¶] egm Y[ZLcµ¢­s�l � q¶_¯V�y1�uh�� �?_¯¸�®LegWjZ�s�xeglnZ>Z�WjZ>m ��W�eµmpc4�uh���egWjZ�ijhjm|¢­s�lnY �jm cfeglnm|��i�egm s�hx>s�h�en��m|h�c < �����J����cgs�egW��ue5egWjZLlgZ²m c5h�s�ZLY[{�evb¯z ZL��¢ § enWjZLcgZ��ulnZ²cg´dm|{j{�ZL�N�db � q�_¯V�y ¨ ©�yAz zP{��ulgegmpx�z Z�x�sds�l���m h���enZLcwª�ZLlgZªCm|egWjm h

[0, 1.0]©r·�Z i�cgZ cgm|hj�Jz|Z�W�Z>m ��W�e

M2L´�ZLlghjZLzµ��cAm|Y[{�sJcgZL���db � q¶_¯V�y ¡Q�uh����jz s�x�´dcAsu¢Pcfm �>Z

4¢­s�lw���?V5©�V�WjZ

P{jz suegegZK��m c¶egW�Z^s�h�ZAsu¢µ�?_¯¸ §PDPMTA = P +1 ¨ ��h�� � q¶_¯V�y �Jx>x�ZL{�er¢­sJl PDPMTA

s�h�z|bDegWjZwY-ijz|egm {jz ZLc�su¢&enWjZ^�jz s�x�´cgm �LZ�©¸�i�e²Z>��ZLh ªCm¬enW�enWjZ��jz s�x�´N�JZ>l�cfm s�hµ¡�enWjZ�l��uh���Z�su¢A����z|ijZKc ¢­sJl

PenW���e²z|ZK���+ens�x�sJlglnZLx�eDx�sJY²{�i�en�uegm s�h�c ¢­s�lD�js�ij�jz ZWjZLm|�JW�e�´JZ>lnhjZ>z�m c�cgY[��z|z Z>l¶egW���h�m h�enWjZ�cgm hj��z Z^WjZLm|�JW�e�´�ZLlgh�Z>z�xL��cgZ § ijhjz ZLcnc�cgs�Y[ZwlgZKcgxL�uz m|hj��mpc�{�ZLlf¢­sJlgY[ZK����c�Z�}�{jzp�um hjZL��m|hcgZLx�egm s�h���© � ¨ ©���s�l^x>s�Y[{���lgmpcfsJh$ªCm|egW¯en�u��z|ZD�j© < �d¡���z|s�x�´$�?�?V ªCm¬enW¯�jz s�x�´$cgm �LZ 4

m c^WjZ>lnZ�s�h�z|b±cve��u�jz Z5¢­s�lP ≤ 8

§ m|h¯��hs�xenlgZLZ-s�¢¶WjZ>m ��W�e4�uh��¯��x>s�Y[{ji�e���egm s�h��uz���sS}�su¢¶cgmp��Z

1.0 ¨ ©�· WjZ>h�egl�����m hj��lnijh�egm Y[Z-m h¯¢­sJl��Jx>x�i�ln�Jx�b�¡�ª�Z²x>��h¯lgZK��x�W12ªCm¬enW��jz s�x�´¯cfm �>Z

3¡&�uh��

19ªCm¬enW��jz s�x�´±cgm �>Z

2©�yAh��N��c^¢­s�l5cfm hj��z Z-W�Z>m ��W�e�´JZ>lnhjZ>zH¡�egWjmpc�m cwZ>�JZ>hNª�sJlncfeA¢­s�l���lns�ªCm hj�WjZLm|�JW�enc�su¢�egW�Z�sdx�eglnZ>ZJ©� h�sJln�jZ>l ens�ZKcve��u�jz m cgW enWjZ�x>s�Y[{jz Z�}�m|evbN¢­sJl-enWjZ$�js�ij�jz Z�W�Z>m ��W�eD´JZ>lnhjZ>zH¡Pª�Z�x�sJh�cfmp��ZLl egW�Z�cn�uY[Z�sJ{�ZLln�uegm s�h�cD��cDm|hcgZLx�egm s�h § ��© > ¨ ©��s�l�egW�Z�hjs�h�¥¦�jz s�x�´���Z>l�cgm|sJh³¡dª�Z�tvi�cfe^W��S�JZ^ens²lnZ>{�z �Jx�Z

P�db

2P®

189 M2L = 40 (2P + 1)2log2 (2 (2P + 1)) + 378 ∗ (2P + 1)

2.

$½ � ����� ?�� E � �^� "���):'�� :\&^� (���&�0/1�-�2P + 1

��5=�� :\��� �\& �*�-� "U"�&\��+'���.����� ��� ��; *� "��0; & & �'"����1�^���-� �-�^�� � �(���$��\�9: �5=�����(����� �-� ; �#:\�0;�& �'"1�-�1�^����� ���^� � � ���^�!� :\&.0/1&� (��� �! � �U& �U�&\& � + !/�&^�)&�& �'"������\���-�1� � �

P�

��s�l�egWjZw�jz|s�x�´[��ZLlncgm s�h�su¢&enWjZ5���?V5¡dª�Zwx�sJh�cgm ��ZLlrenW���e2P +1

mpc�� YDijz¬enm|{�z|Zwsu¢T®�egW�m c�m c�x�ZLlfe��um hjz b²h�Z>��ZLlrenWjZ�xL��cgZ¢­sJl

T = 4¢­s�l�Z�}j��Y²{�z|ZJ¡³�ji�e�enWjZ���ZLW��S�dm|sJijl�cfs���ZKcgx>lgm ��ZL�Nm c x>z|s�cfZDegs�lnZL��z|m|evb�©²·�Z�lgZL{jz �Jx�ZDegWjZLh

P�db

2P�uh���egW�ZhdijYD��ZLlws�¢?��z|s�x�´�m c

B = 2P+1T

©wV�WjZ-cgm �LZ-su¢r����z|s�x�´�m cwhjs�ª Z>m|egWjZLl2T × 2(2P + 1)

§ ¢­ijz z?��lgl��Sb ¨ s�l 2T × (2P + 1)§ W��uz ��ZK�$��lgl��Sb�c ¨ ¡d��h��$ª�Z5W��S�JZ�®

189 M2L = 10 (2P + 1)2log2

(32 (2P + 1)

2T 2)

+ 189

((2P + 1)3

T+ (2P + 1)

2

).

$½ � ����� ? �!; � ���,+'���.0/1&����-� @ �>; �#:��C% &)�\�^�������� �-�&���0=�� :\��� � & �&��� " "1&\� �!� "�� �9:)*� :\& ���m h��uz z|bNª�Z��Jm|�JZ²egWjZ�Y[ZLY²sJlgb�lgZKoJi�m|lnZ>Y[Z>h�e�c�¢­s�l5egW�Z���s�i��jz|Z�W�Z>m ��W�e ´�ZLlghjZLzU¡�{jlnsdx>Z>ZK��m|h���m h�egWjZ$cg��Y²Z[ª��Sb���c m|hcgZLx�egm s�h ��© �d©²V�W�Z[cgm �>Z[su¢��uz z�W��uz ��ZL���ulnl��Sbdc^m c5h�s�ª

2(2P + 1)2¡&¢­s�l5Y-i�z¬enm|{�s�z Z[Z�}�{��uh�cfm s�h�c5��h��¯enln��h�cf¢­Z>l�¢­ijh�x�egm s�h�cL¡��h��$egWdi�cL®

MemDb(P, H) = N (H)

(2(2P + 1)2 +

(P + 1)(P + 2)

2

)c +NT

(2(2P + 1)2

)c.

§ �j© < < ¨ ��� � � � 4�8� ������� �3 � �1 �� � �������� $����� �4��� � � � �������� � � �4 ���·�ZA¤�l�cfe�lnZLx>��z|zjegW��ue¶egW�Z^l���egm s���Z�evª�Z>Z>h$cfm hj��z Z^��h�����s�i��jz|ZwWjZ>m ��W�e¶´JZ>lnhjZ>zpcPªCm|egW�x>z �Jcgcgmpx

M2Lx�sJY[{ji�en�uegm s�h�mpcrlns�ij�JWjz b

6®rcfZLZ5cgZLx�egm s�h < © ��© >j©V�VXW-Y�Z'[\Z^]

Page 29: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

��� ���������^��!�

��s�l�enWjZ��?�?V9ªCm|egWjsJi�e-�jz s�x�´�c>¡�ª�Z�W��S��Z�¡µªCm¬enWjs�i�e²x�s�h�cfmp��Z>lnm hj��egWjZlog2¡?�±ln�uegm s±su¢

4ªCWjmpx�WN¢£�S�Js�l�cwegWjZ��js�ij�jz ZWjZLm|�JW�eA´�Z>lnhjZLzU© +^s�ª�ZL��Z>lC��i�Z5egs[m¬e�cCWjm ��WjZLlAhdijY[Z>lnm xL�uz&m h�cfen�u��m|z m¬evbJ¡degWjZD��s�ij��z|Z5WjZLm|�JWJeA´JZ>lnhjZ>z&m Y[{�s�cfZKc�Z>�JZ>h±Y[s�lnZwenWjZ�jz s�x�´���ZLlncgm|sJh³©?yAh���¢­s�lC�-��z|s�x�´[��ZLlncgm|sJh�su¢µegWjZ5�?��V5¡denWjZ5ln�uegm s-mpc�cvenm|z z

4¢­sJl¶enWjZ����?V � ���Jx�´�ª��ul����?��V {��ulgenc��ji�eCm|eZKoJi��uzpcrlns�ij�JWjz|b

8¢­s�l¶egWjZwz ��lg�JZ�¥¦��l��um h²x>s�lnlgZLz �uegm s�h ��{�s�m hJeg¥HªCmpcgZA{jlnsd�ji�xe¶{��ulgeL®�egWjmpc�x>z|ZK�ulnz|b²��sdZLcrh�sue¶¢£�S�Js�l?enWjZw��sJij�jz ZWjZLm|�JW�eA´�Z>lnhjZLzU©

����V����

Page 30: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 �J�

� � �����5�����-�$%V�WjZ[i�cgZ-s�¢ ��- �-*���-�1�AW��Jc5�uz lgZK����b���ZLZ>h�m|h�enlgs���i�x>ZL��m|h�cfZL��Z>l��uz��ulgegmpx�z ZLcL®^cgZ>Z � * �5~#= =."¦¡�� * � �5~#= =0"¦¡�� �5~ =��&"¦¡�� � � ��º5"��h�� � · +���=��0"H©PV�Wjmpc¶m Y[{jlns���Z>Y[ZLhJe¶��z|z s�ªAc?enWjZwx>s�Y[{ji�e���egm s�h�s�¢

M2M¡M2L�uh��

L2Ls�{�Z>l���ens�l�c?m|h O(P 3)

¡d�u�J��m|h�cveO(P 4)

¢­s�l�enWjZ>m l^x�zp��cncgm xw��ZLlncgm|sJh³©·�Z�W��S�JZ[x�W�sJcgZ>hNegs¯i�cgZ[egW�Z�¢­s�lnY-ijzp�uZ���Z>en��m|z ZL���db ��ijY[ZLlgs����uh�� � ijln��m cgª��uY[mPm|h-�!� � ��º."�cfm h�x�ZJ®&egW�Z>b�i�cfZ[enWjZcn�uY[Z5��Z�¤�h�m¬enm|sJh�¢­sJl�cg{jWjZLlgmpx>��zQW��ulnY[s�hjmpx>cL¡�egWjZLb�i�cgZ�cgbdY²Y[Z>eglnm|ZKc¶ens�cf{�Z>ZK��ij{$egWjZ�x>s�Y[{ji�e���egm s�h±�uh���egW�Z>b�¢­s�x�i�c�s�hjz bsJh�enWjZ�hjZ>ZK��ZL�$lnsuen�uegm s�h�cL©P_�s�lnZ>s��JZ>l¶egWjZ�lnZLx>ijlglnZ>h�x�Z^mpc�{�Z>lg¢­s�lnY²ZK��sJh$lnZL��zQh�i�Y-��Z>l�c § �uh���hjs�e^x�sJY²{�z|Z>}�s�hjZKc ¨ �uh���mpccgm|Y[{jz Z5egs[m hjm|egmp��egZJ©�+As�ª�Z>�JZ>l�hjs[{jlns�s�¢�mpcC��m ��ZLh$sJh�enWjZ�hdijY[Z>lnm xL�uz&cfen�u��m|z m¬evb$su¢�egWjZ5¢­sJlgYDijz ��Z5i�cfZK�&©·�Z�WjZ>lnZ5{jlnZLcgZ>h�e�enWjZ�{jlnm|h�x�m {jz|Z5s�¢�enWjm c^cgx�WjZLY[Z���h��$egWjZ�¢­s�lnY-i�z ��Z�i�cfZK��¢­sJlC��s�egW�cfm hj�Jz|Z��uh��$��sJij�jz Z5WjZ>m ��W�e

M2L´JZ>lnhjZ>zpc>©²·�Z²�Jm|�JZ��uzpcfs$en��m|z s�lnZL�¯¢­s�lnY-ijzp�uZD¢­s�l5enWjZ �wi�egZLl §Ok

j ¨ ��h�� � h�hjZ>l § Ikj ¨ ¢­i�h�xenm|sJh�c>©���m h��uz z|bJ¡³ª�Z²ªCm z zPs�i�enz|m hjZenWjZ[¢£��x�e�enW���e�enWjZ

M2Lx�sJY²{�i�en�uegm s�h�ªCm¬enW�lnsue���enm|sJh�cw�js�ZKc5hjsue Y��uenx�W+cve��uh��j��ln�N¸�¹µywa�xL�uz z c5�uh���ª�Z[ªCm|z zr{jlnZLcgZ>h�ehdijY[Z>lnmpx>�uz³cfen���jm z|m|evb�x�WjZKx�´�m hj��©

� ��� � � � � � � �8 V�WjZD��ZLhjZ>l��uzµcnx�WjZLY²Z ¢­s�l

M2Lx�sJY²{�i�en�uegm s�h�ªCm|egW¯lnsue���egm s�h�cCm cw{jmpxenijlgZK��m h�¤���i�lgZ º�© < ©^·�Z-ªCm z|z�WjZ>lnZ-m h�eglnsd�ji�x�Z�enWjZlnZLo�ijm lgZK��Y��uegWjZLY[�uegmpx>��zQ¢­s�lnY-ijzp�uZ5�uh��±��Z>en��m|zQenWjm c^cgx�WjZLY[Z�©

1

3

x

y

X

X

z Z1

Z2

2

M2LVector

��m ��ijlnZ²º�© < ®M2LªCm|egW�lnsuen�uegm s�h�cL© < ®Alnsue���enm|sJh¯su¢renWjZ[x�sds�l���m h���enZDcgbdcfegZLY�cfs�egW��ue5egWjZ

M2L�JZLx�egs�l�mpcw��z|sJhj��enWjZ

z�u}dmpcL©P�j®M2L{�ZLlf¢­sJlgY[ZL���uz s�h��-enWjZ

z��}�mpc>©Pºj®?m hd��Z>l�cgZwlnsue���egm s�h$����x�´�egs[egW�Z�s�lnm|�Jm|h���z�x>sds�l���m|h���egZ�cgb�cvenZ>Y±©

I ��5���5 +�½ �HN Á  Á , Á � ¾� Á �L���:9 Á 8 � � ·NZ[��ZLhjsuenZ Rx(α)

¡ Ry(α)¡ Rz(α)

enWjZ[lgs�en�uegm s�h�cwsu¢renWjZ * �ulgegZLcgmp�uh�cgb�cvenZ>Y»su¢�x�sds�l���m h���enZLcw��b¯��hj��z Zα����sJi�e�lnZLcg{�ZLxenm|�JZ>z b

x¡y z��}�ZLcL®Alnsuen�uegm s�h�cw�ulnZDx>s�h�cgm �jZ>lnZL�±ens$��ZD{�Z>lg¢­s�lnY[ZL��m hNegWjZ[x�sJijh�egZ>l�x�z s�x�´dªCm cgZ-��m lgZKxenm|sJh³¡ªCWjZLh�z sds�´dm|h���egs�ª��ul��jcPenWjZ�s�lnm|�Jm|h[¢­lns�Y � z s�x>�uegm s�h�ªCm|egW${�s�cfm|egm ��Z�x�sds�l���m h���enZAs�h�enWjZ5x�s�lnlnZLcg{�sJh���m hj� ��}�mpc¶s�¢³lgs�en��enm|sJh³©

��m ��ZLh±�[{�s�m h�ePªCm¬enW¯cf{�WjZ>lnm xL�uzµx>sds�l���m|h���egZKc

(r, θ, φ)m h±egWjZ sJlgm ��m h���z³x�sds�l���m h���enZ5cgb�cvenZ>Y±¡jenWjZ-cg{jWjZLlgmpx>��zµx�sds�l���m|¥

h��uegZKcCm|h$egW�Z�lgs�en��enZL��cfb�cfegZLY��ulnZ���Z>hjs�egZK�&®(r, θ, φ)

©��ZLhjZ>l��uz z|bJ¡uª�Z�¤�lncfe¶x�sJh�cgm ��ZLl¶�5lnsuen�uegm s�h § s�¢�enWjZ * �ulgegZKcfmp�uh[x�sdsJln��m h��uegZCcfb�cfegZLY ¨ ��b²�uhj�Jz|Z χ ����sJi�e z ��}�mpc>¡u¢­s�z z|s�ª�ZL��db+�±lgs�en��enm|sJh+��b��uhj�Jz|Z

γ�u��s�i�e enWjZ

y��}�mpc>¡?�uh���¤�h��uz z|b+�±lnsuen�uegm s�h��db���hj��z Z

π − ω����sJi�e enWjZ�hjZLª

z�u}�m cL¡µmH© ZJ©|®

Rz(π − ω).Ry(γ).Rz(χ)©

$½ � ����� I��*5 � �^� � ��� �(� ��0/1&.�'& :\���$�(��- �-*���-� � � "�&'�0+'�-�^ &\� � �\� � !/�&x� � � � �

$Á �K���H9 Á 8 Á D��HL N ½ � 9U��� ,�N��j� � Á 8 9£�J� � y^c�cgWjs�ªCh�m h�egW�Z�x>m¬enZL��{��u{�Z>l�c>¡�¢­s�l�egW�Zwlnsue���egm s�h�c Rz(π−ω).Ry(γ).Rz(χ)enWjZ>lnZ Z�}�mpcve�cAx�sdZ>°�x>m|ZLh�encT ν,k

j (ω, γ, χ)¡�ªCm¬enW

j ≥ 0, |k| ≤ j, |ν| ≤ j¡�cgi�x�W�egW��ueAegW�Z-cf{�WjZ>lnm xL�uz&W���lgY[sJhjm xLc

Y kj (θ, φ)

m henWjZ�s�lnm|�Jm|h��uz&x�sds�l���m h���enZ�cfb�cfegZ>Y x>�uh���Z�ªClgm|efenZ>h±ªCm¬enW�cf{jW�Z>lnm xL�uzQW��ulnY[s�hjmpx>c�m h$egWjZ�lnsue���egZK�$cgb�cvenZ>Y��Jc>®

Y kj (θ, φ) =

j∑

ν=−j

T ν,kj (ω, γ, χ)Y ν

j (θ, φ).§ ºj© < ¨

V�WjZ�cn�uY[ZT ν,k

j

��{j{jz b�s�h���suegW±hjsJlgY���z|m �>ZK���uh��$i�hjhjs�lnY��uz m �LZL�$cf{jW�Z>lnm xL�uz&W���lgY[s�h�m xLc>©V�VXW-Y�Z'[\Z^]

Page 31: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

� G ���������^��!�

V�WjZ �wi�egZLlw�uh�� � hjhjZLlA¢­ijh�x�egm s�h�cL¡Q��c^�jZ�¤�hjZK��m h § < © º ¨ �uh��¯m|h § < © > ¨ ¡���Z>m hj�����JcfZK�±s�h±enWjZLcgZDcg{jWjZLlgmpx>��z³W��ulnY[s�hjmpx>cL¡enWjZ>lnZ�Z�}�mpcve�cC�uzpcfs[x�sdZ�°�x>m|ZLhJe�cTO

ν,kj (ω, γ, χ)

¡j��h��TI

ν,kj (ω, γ, χ)

cfi�x�W$egW���eL®

Okj (r, θ, φ) =

j∑

ν=−j

TOν,kj (ω, γ, χ)Oν

j (r, θ, φ),§ ºj© � ¨

��h��&®Ikj (r, θ, φ) =

j∑

ν=−j

TIν,kj (ω, γ, χ)Iν

j (r, θ, φ).§ ºj© º ¨

V�WjZKcfZ²x�sdZ�°�x>m|ZLhJe�cT ν,k

j

¡TO

ν,kj

�uh��TI

ν,kj

�ulnZ-x�sJh�cgm ��ZLlgZK��egs$�S��hjmpcfW�¢­sJl |ν| > jsJl |k| > j

© +AZ>lnZL�u¢ egZLlAegW�Z>b��ulnZh���Y[ZL����� ��������1:\�H&�� :)��&)��*��©$Á �K���H9 Á 8 Á D � �,­�:90L Á , ½�½ L?� 8 �H9 Á 8 � � ¹µZ�e�{�s�m h�e

Psu¢µcg{jWjZ>lnmpx>�uz�x�sds�l���m h���enZLc

(r, θ, φ)m h�enWjZwsJlgm ��m h���z�x�sds�l���m h���enZcgb�cvenZ>Y±©rV�WjZ�{�suegZLh�egmp�uz&Z>����z|i��uegZK�$�ue

PªCm|egW��²Y-ijz|egm {�s�z Z�Z�}�{��uh�cfm s�h$m cL®

Φ(P) =+∞∑

n=0

n∑

l=−n

M lnO−l

n (r, θ, φ).

� h�egW�Z�lgs�en��enZL�$cfb�cfegZ>Y±¡�enWjZ�{�suegZLh�egmp�uz&ªClnm¬enZLcL®

Φ(P) =+∞∑

n=0

n∑

ν=−n

MνnO−ν

n (r, θ, φ),

ªCm|egW�egW�Z�hjZ>ª Y-ijz|egm {�s�z Z�Z�}�{��uh�cfm s�h�egZ>lnY�cC��Z>m hj����Z�¤�h�ZL���db�®

Mνn =

n∑

l=−n

M lnTO

−ν,−ln (ω, γ, χ).

§ º�© > ¨$Á �K���H9 Á 8 Á D , Á ��� , ½ L?� 8 �H9 Á 8 � � · m|egW���z|s�xL�uz�Z>}�{��uh�cgm s�h³¡�egWjZw{�s�egZ>h�enm ��z���e

Pm|h[enWjZ^sJlgm ��m h��uz�x�sds�l���m h���enZAcfb�cfegZ>YªClnm¬enZLcL®

Φ(P) =

+∞∑

n=0

n∑

l=−n

LlnI l

n(r, θ, φ).

� h�egW�Z�lgs�en��enZL�$cfb�cfegZ>Y±¡�enWjZ�{�suegZLh�egmp�uz&mpcC��m ��ZLh��dbQ®

Φ(P) =

+∞∑

n=0

n∑

ν=−n

LνnIν

n(r, θ, φ),

ªCWjZLlgZ�enWjZ�hjZ>ª z sdxL�uz&Z>}d{��uh�cgm|sJh�enZ>lnY[c^�ulnZ���Z>¤�hjZK�$�dbQ®

Lνn =

n∑

l=−n

LlnTI

ν,ln (ω, γ, χ).

§ º�© � ¨+ ? Q � , Á 8�� �HN ½

z� �9£� � V�WjZwm Y[{jlns���Z>Y[ZLhJe�m|h�egWjZ�i�cgZws�¢³lgs�en��enm|sJh�cP¢­sJl

M2Ls�{�Z>l���ens�lrmpc�����cgZL��sJh�egW�Z^¢£�Jxe�egW��ueenWjZ�x>sJcfe�s�¢��uh

M2Ls�{�Z>l���enm|sJh�{�ZLlf¢­sJlgY[ZK���uz s�hj�-egWjZ

z�u}�m c¶m c O(P 3)

�u�J��m|h�cve O(P 4)¢­s�l���Z>h�Z>l��uz

M2L© � h���Z>ZK��enWjZ�Jcgcgs�x�mp��egZK�$¹µZ>�JZ>h���lnZw¢­ijh�xenm|sJh�cC�JZ>lnm¬¢­bQ®

P mn (1) = δm,0ªCWjZLlgZ

δi,jm cCegWjZ 25lns�hjZKx�´�ZLl�cgb�YD��sJzU©P·�Z�W��S�JZ^enWjZ>lnZ�¢­sJlgZJ®

Okj (r, 0, 0) =

{(−1)j

A0jrj+1 = j!

rj+1

m|¢k = 0¡

0suenWjZ>lnªCmpcfZJ¡

��h��&®Ikj (r, 0, 0) =

{A0

jrj = (−1)jrj

j!

m|¢k = 0¡

0suenWjZ>lnªCmpcfZJ©

����V����

Page 32: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 �-=

· WjZLh±egWjZM2L�JZLx�egs�l § ��Z�¤�hjZL�±�db

z2 − z1

m h���Z�¤�h�m¬enm|sJh < © º ¨ W���c^cf{jW�Z>lnm xL�uz³x�sdsJln��m h��uegZLc�m h±egWjZ5¢­sJlgY (r, 0, 0)¡�egW�Z

M2LsJ{�ZLln�uegs�l�x>��h�egWjZLh���Z x�sJY[{ji�egZK���dbQ®

Lkj =

+∞∑

n=0

M−kn O0

j+n(r, 0, 0) =

+∞∑

n=0

M−kn

(−1)j+n

A0j+nrj+n+1

.§ ºj© � ¨

adm h�x>ZM−k

n

m|Y[{�sJcgZLcn ≥ |k| ¡�ª�Z�W��S�JZ^¢­sJlAcfm hj��z Z5WjZ>m ��W�e M2L

´�ZLlgh�Z>zH®

Lkj =

P−j∑

n=|k|M−k

n

(−1)j+n

A0j+nrj+n+1

,§ ºj© � ¨

��h��$¢­s�lA��sJij�jz Z�W�Z>m ��W�eM2L´�Z>lnhjZLzU®

Lkj =

P∑

n=|k|M−k

n

(−1)j+n

A0j+nrj+n+1

.§ ºj© G ¨

$½ � �,£���M2LÀ 9­�:N � Á �K���H9 Á 8 � � ·�Z¯x>��h hjs�ª��jZ�en��m|z�enWjZ�cgx�W�Z>Y[Z${�m x�egijlnZL� m|h ¤��JijlgZ±º�© < ¢­s�l��N��ZLhjZ>l��uz

M2LsJ{�ZLln�uegm s�h�ªCm|egWNx>Z>z zPx�Z>h�enZ>lA¢­sJlwYDijz|egm {�sJz|Z²Z�}�{���h�cfm s�hz1

��h��¯x�ZLz|zPx>Z>h�egZLlA¢­s�l�z sdxL�uz�Z�}�{���h�cfm s�hz2

©5V�WjZM2L��ZKxens�l

V = z2− z1

m c�x>s�h�cgm �jZ>lnZL�²egs²W��S�JZwcg{jWjZ>lnmpx>�uz�x�sds�l���m h���enZLcL®(r, θ, φ)

©P·NZw¤�l�cve�lnsuen�uegZ^egWjZ5x�sds�l���m h���enZ^cgbdcfegZLY'cfs-egW��ueenWjZA��ZKxens�lVmpcr��z|sJhj��egWjZ

z�u}dmpcL©�V�WjmpcrxL�uh[��ZA�js�hjZCªCm|egW[enWjZw�w¢­s�z z s�ªCm|hj�5lnsue���egm s�h�c>® Ry(θ).Rz(φ)

©8+^s�ª�ZL��ZLl�ª�ZCi�cgZ��Y[sJlgZ �JZ>hjZLln��z³cgx�W�Z>Y[Z ªCm|egW3lnsue���enm|sJh�c�egW���ewxL�uh���Z-i�cgZ�¢­s�lAegWjZDm|hd��ZLlncgZ�lnsuen�uegm s�h���cAZ�}�{�s�cfZK����¢ enZ>lgª��ul��jcL©7+^Z>h�x>Zª�Z�i�cgZ Rz(π − ω).Ry(γ).Rz(χ)ªCm|egWµ®

ω = π¡γ = θ¡χ = φ¡jmH© ZJ©|®

Rz(0).Ry(θ).Rz(φ).

V�WjZ�x�sds�l���m h���enZLc¶su¢Vm|h�enWjZ^h�Z>ª x�sdsJln��m h��uegZ^cgb�cvenZ>Y �ulnZ�®

(r, 0, 0)©?V�W�ZAhjZ>ª YDijz|egm {�sJz|Z�Z�}�{���h�cfm s�h[mpcrenWjZ>h���m ��Z>h��db

Okj

§ cfZLZ § ºj© > ¨g¨ ©?· m¬enW § º�© � ¨ ª�ZAx>s�Y[{ji�enZ Lkj

ªCWjm x�W[lnZ>{jlnZLcgZ>h�e?egW�ZCz|s�x>��zjZ�}�{���h�cgm|sJhDm h²egWjZClnsue���egZK�[x�sds�l���m h���enZ�cgb�cvenZ>Y±©� h±s�l���ZLl�ens�s���e��um h�enWjZ�z sdxL�uz&Z>}d{��uh�cgm|sJh�m h�egWjZ�sJlgm ��m h��uz&cgb�cvenZ>Y±¡�ª�Z�W��S��Zwegs[i�cgZ § ºj© � ¨ ªCm|egW�egW�Z�m|hd��ZLlncgZ�lgs�en��enm|sJh³®Rz(π − φ).Ry(θ).Rz(π).

� h��jZ>ZL�$enWjZ�m|hd�JZ>l�cfZ�lgs�en�uegm s�h$¢­s�l�egW�Z��JZ>hjZLln��z³cgx�W�Z>Y[Z5m cL®Rz(−χ).Ry(−γ).Rz(−(π − ω)) = Rz(π − χ).Ry(γ).Rz(ω).

§ º�© = ¨� h x>s�h�x>z|i�cfm s�h+ª�Z�hjZ>ZK�+egs�x>s�Y[{ji�enZ�egW�Z�¢­s�z z|s�ªCm hj��lnsue���egm s�h x>s�Z>°�x�m Z>h�encL®

TOν,kj (π, θ, φ)

�uh��TI

ν,kj (φ, θ, π)

¡?¢­s�lD�uz zj ≥ 0, |ν| ≤ j, |k| ≤ j

©I ��5�� ? � Á � L µ�:9 8 � �:N ½ � Á �L���:9 Á 8 � Á³½�� � 9 ½ 8 �L�_�s�cve�su¢³enWjZw¢­s�z z|s�ªCm hj��¢­sJlgYDijz ��Z^�ulnZ^cgm|Y[{jz b�� lnZ>ªClnm|egm hj� su¢&enWjsJcgZ^{�lgZKcfZLhJenZL��m h �!� � ��º."¦©rV�WjZwx>s�Y[{jz Z�enZ^Y[Z�enWjs���i�cgZL�ens²x>s�Y[{ji�enZwenWjZ�lgs�en��enm|sJh�x�sdZ>°�x>m|ZLh�enc�m c��Jm|�JZ>h��ue�enWjZ5Z>h���su¢³enWjm cCcgZLx�egm s�h³®?�uz z�egWjZ5Y���enWjZ>Y��uegmpx>�uz����Jx�´��JlgsJijh��[mpc�¤�lncfe{jlnZLcgZ>h�enZL�&©$Á �K���H9 Á 8 ���j�>��9� � ¹³Z>e

V��ZLhjsuenZ^�5��ZKxens�lPªCm|egW * �ulgegZKcfmp�uh[x�sdsJln��m h��uegZLc

(x, y, z)m h�x�sdsJln��m h��uegZCcfb�cfegZ>Y

(ix, iy, iz)©

yA¢ egZ>l�cfsJY[Z�lnsue���enm|sJh�c²su¢�egWjZ�x>sds�l���m|h���egZ±cgbdcfegZLY±¡�ª�Z¯��Z>h�suegZV = (x, y, z)

m¬e�c�hjZ>ª x�sdsJln��m h��uegZLc[m h1egWjZ�lnsue���enZL�x>s�sJln�jm|h��uegZ�cgbdcfegZLY

(ibx, iby, ibz)©P·NZ5enWjZ>h���ZLhjsuenZ

QenWjZ5¢­s�z z s�ªCm|hj�²lnsuen�uegm s�h$Y[�ueglnm¬}&®

V = QV¡jmH© ZJ©

Q =

ibx.ix ibx.iy ibx.iziby.ix iby.iy iby.izibz.ix ibz.iy ibz.iz

§ º�© < � ¨

ywcCZ�}�{�sJcgZL�$m|h±cfZKxenm|sJh±º�© < © < ¡�ª�Z�¢­s�x�i�cAs�h$egWjZ�lnsue���egm s�h�c>® Rz(π − ω).Ry(γ).Rz(χ)© � h$egW�m cAxL��cgZ�¡�ª�Z5W��S��ZJ®

Q(ω, γ, χ) =

2

4

− cos ω sin ω 0− sin ω − cos ω 0

0 0 1

3

5

2

4

cos γ 0 − sin γ

0 1 0sin γ 0 cos γ

3

5

2

4

cos χ sin χ 0− sin χ cos χ 0

0 0 1

3

5

V�VXW-Y�Z'[\Z^]

Page 33: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

ºJ� ���������^��!�

�wlK®Q(ω, γ, χ) =

2

4

− cos ω. cos γ. cos χ − sin ω. sin χ − cos ω. cos γ. sin χ + sin ω. cos χ cos ω. sin γ

− sin ω. cos γ. cos χ + cos ω. sin χ − sin ω. cos γ. sin χ − cos ω. cos χ sin ω. sin γ

sin γ. cos χ sin γ. sin χ cos γ

3

5

����������

Q(ω, γ, χ)mpcC�uh±sJlfenWjs��Js�h���z�Y���enlgm|}$��h���Y[sJlgZLs���Z>l�ª�Z�W��S��Z § cgZ>Z5ZLo�i��uegm s�h § º�© = ¨f¨ ®

Q−1(ω, γ, χ) = Q(χ, γ, ω).

$½ �- µ���:9 ��½ � Á �ML� ��L���:9 Á 8 Á DT ν,k

j

� ·�Z-i�cgZ enWjZDcn�uY[Z-��Z>¤�hjm|egm s�h¯s�¢PegWjZ[cg{jWjZ>lnmpx>�uzµW��ulnY[s�hjmpx>cY k

j

§ cgZ>Z § y-© � ¨f¨ ��cm h%�!� � ��º0"¦© � h$egWjZLm|l�{���{�ZLlL¡ ��ijY[ZLlgs�� � � ijl��umpcfª��uY[m�i�cgZwenWjZ5ZLo�i��uegm s�h § ��© ºU= ¨ § ªCm¬enW$m h�x�lnZL�Jcfm hj�²��Z>�JlgZLZLc j ¢­s�l T ν,kj ¨�Jc-�uh+Z>}���Y[{jz|Z�¢­s�l-�±lnZLx>ijlncgm ��Z�x�sJY[{ji�en�uegm s�h+su¢�enWjZ

T ν,kj

®Dª�Z�WjZLlgZ�{�lgZ>¢­Z>l�enWjZ>m l-ZKoJi���egm s�h § ��© � G ¨ ªCm|egW ��ZLx>lgZK��cgm|hj���ZL��lnZ>ZKc>©· m|egW�egW�Z�Y[�ueglnm¬}W��Z>¤�hjZK�$�db § ªCm¬enW

i =√−1 ¨ ®

W =

ix. (ibx − iiby) ix. (ibx + iiby) −2ix.ibz

iiy. (ibx − iiby) iiy. (ibx + iiby) −2iiy.ibz

− 12 iz. (ibx − iiby) − 1

2 iz. (ibx + iiby) iz.ibz

§ ��© � G ¨ m h1� � � ��º5"³m cL®2b−m−1

n+1 T ν,m+1n+1 = (W1,1 + W2,1)b

−νn+1T

ν−1,mn + (W1,2 + W2,2)b

νn+1T

ν+1,mn + (W1,3 −W2,3)a

νnT ν,m

n .

· m|egW1egW�Z±x>s�hd��ZLh�egm s�hT ν,m

n = 0, ∀(n, m)/|m| > n¡�ª�Z±W��S�JZ�enWjZ�¢­s�z z|s�ªCm hj��ZLo�i���enm|sJh�c § ªCWjmpx�W3x�s�lnlnZLcg{�sJh��+egs§ ��© º�� ¨ ��h�� § ��© º�º ¨ m h1� � � ��º5" ¨ ®

2b−m−1n+1 T n+1,m+1

n+1 = (W1,1 + W2,1)b−n−1n+1 T n,m

n ,

2b−m−1n+1 T−n−1,m+1

n+1 = (W1,2 + W2,2)b−n−1n+1 T−n,m

n .· m|egW § º�© < � ¨ �uh�� § ºj© <U< ¨ ¡jª�Z�sJ��en��m|h$egW�Z5¢­s�z z|s�ªCm hj�²lgZLz �uegm s�h�cgWjm {$��Z�evª�Z>ZLh WªCm¬enW

W1,1 + W2,1 = Q1,1 + Q2,2 + i(Q1,2 −Q2,1) = (cos γ + 1)eiχei(π−ω),

W1,2 + W2,2 = Q1,1 −Q2,2 + i(Q1,2 + Q2,1) = (cos γ − 1)eiχe−i(π−ω),

W1,3 + W2,3 = −2 sin γ.eiχ.+^Z>h�x>Z�®

T ν,m+1n+1 = eiχ

b−m−1n+1{

12

[(cos γ + 1) ei(π−ω)b−ν

n+1Tν−1,mn + (cos γ − 1)e−i(π−ω)bν

n+1Tν+1,mn

]− sin γaν

nT ν,mn

}.

V�Wjmpc�lnZLx�i�lncgm|sJh�mpcC{�Z>lg¢­s�lnY²ZK��m hC®Pª�Z5ªCm z|zµhjs�ª cgm|Y[{jz m|¢­b�m|e^cfsDegW��ueAm¬eAªCm z z³��Z�W�Z>zp�$m h

$½ �- µ���:9 ��½ � Á � L µ�K���H9 Á 8 9 8R� · WjZLh {�Z>lg¢­s�lnY[m|h��Nlnsue���egm s�h Rz(α)

s�h egWjZ�cg{jWjZLlgmpx>��z�W��ulnY²sJhjmpxY k

j (θ, φ)ª�Z

cgm|Y[{jz b�W��S��Z�®Y k

j (θ, φ) = eikαY kj (θ, φ)

©P·�Z x>��h�enWdi�cA��ZKx�s�Y[{�sJcgZT ν,m

n (ω, γ, χ)��c § sJh�x�Z ���J��m|h$ª�Z5lnZ�¢­Z>l�ens � � � ��º5"¢­sJlA��Z�e��um z cA��h��$Z�}�{jz m x>m¬eA{jlnsdsu¢ ¨ ®

T ν,mn (ω, γ, χ) = eimχe−iνωHν,m

n (γ)§ º�© < � ¨ªCm|egW

Hν,mn (γ) ∈ R

©V�WjZ5lnZLx>ijlncgm ��Z�ZLo�i���enm|sJh�¢­sJlHν,m

n (γ)mpc>®

Hν,m+1n+1 =

1b−m−1

n+1

{12

[− (cos γ + 1) b−ν

n+1Hν−1,mn − (cos γ − 1)bν

n+1Hν+1,mn

]− sin γaν

nHν,mn

}.

§ º�© < º ¨V�WjZ5lnZLx>ijlncgm s�h�mpcCm hjm|egmp��egZK��ªCm¬enW

Hν,0n (γ)

enW��uh�´dc�ens[egWjZ5¢­sJz|z s�ªCm hj�Dz Z>Y[Y��j®����V����

Page 34: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 º <

Q ½ � ��� I ��5��Hν,0

n (γ) = (−1)ν

√(n− |ν|)!(n + |ν|)!P

|ν|n (cos γ).

� � �H� + �A·�Z�i�cgZwenWjZ�cg��Y[Z5cnx�WjZLY²Z5��c �!� � ��º."³¢­sJl�egWjZLm|lAx>s�Y[{ji�e���egm s�hµ©r\^�uY[ZLz|b�ª�Z�x�s�h�cfmp��Z>l Rz(π − ω).Ry(γ).Rz(0)ªCm|egWV = (r, θ, φ)

©θm c�W�Z>lnZ[egWjZ���hj��z Z[��Z>evª�ZLZ>h

VZ>e

iz®-m¬e-mpc ��z cgs�egWjZ���hj��z Z[��Z>evª�ZLZ>h

VZ>e

ibz©$_�sJlgZLs���ZLlwenWjZcg{jWjZLlgmpx>��z�x>sds�l���m|h���egZKc-s�¢

zm|h egW�Z$lnsue���egZK� x>s�sJln�jm|h��uegZ�cfb�cfegZ>Y

(ibx, iby, ibz)��lgZJ®

(1, γ, ω)© y^{j{jz bdm|hj�NegW�Z±yC����m¬enm|sJhV�WjZLs�lnZ>Y(¢­sJl § ijhjh�s�lnY[��z|m �>ZK� ¨ cf{�WjZ>lnm xL�uz�W���lgY[s�h�m xLc § egWjZLs�lnZ>Y � ¨ ��Z�evª�Z>ZLh V

�uh��zm h1egWjZ±lnsue���egZK� cgb�cvenZ>Y(enW�i�cbdm Z>zp�jc>®

Pn(cos θ) =

n∑

ν=−n

Y −νn (γ, ω)Y ν

n (θ, φ).

·�Z�m �jZ>h�egm|¢­b�enWjm cAZLo�i���enm|sJh$ªCm|egW�enWjm cAs�hjZ § sJ��en��m|h�ZL�$¢­lgsJY § º�© < ¨f¨ ®

Pn(cos γ) = Y 0n (θ, φ) =

n∑

ν=−n

T ν,0n (ω, γ, 0)Y ν

n (θ, φ)

ªCWjmpx�W±��m ��ZKc¶¢­sJlA�uz zχ®

T ν,0n (ω, γ, χ) = Y −ν

n (γ, ω).·�Z ��ZL�ji�x�ZJ®Hν,0

n (γ) = Y −νn (γ, 0) = Y ν

n (γ, 0).

��m h��uz z|bJ¡�ªCm¬enW § y-© º ¨ �uh��$��ZKx>��i�cfZ�enWjZ�hjs�lnY��uz m �LZL�$cf{jW�Z>lnm xL�uz&W���lgY[s�h�m xLc¶¢­sJlgY �uh±s�lgegWjsJhjs�lnY��uz�����cgmpc>¡�ª�Z5W��S��ZJ®T−ν,−m

n (γ, χ) = T ν,mn (γ, χ),

§ º�© < > ¨��h��$egWjZLlgZ>¢­s�lnZwªCm|egW § º�© < � ¨ ®

H−ν,−mn (γ) = Hν,m

n (γ).§ º�© < � ¨_�sJlgZLs���ZLl § cfZLZ § ��© ��� ¨ m h1� � � ��º5" ¨ ª�Z5W��S��Z5�uzpcgs�®

Hν,mn (γ) = Hm,ν

n (γ).§ º�© < � ¨

V�WjZKcfZ5evª�s²ZLo�i���enm|sJh�cL¡ § ºj© < � ¨ �uh�� § º�© < � ¨ ¡���lgZ5i�cgZ�¢­i�z&egs²¢£��cfegZLh�egWjZ x>s�Y[{ji�e���egm s�h�su¢�egWjZ Hν,mn (γ)

§ cgZ>Z���Z>z s�ª ¨ ©� Á � L� ��L�j�H9 Á 8 Á D

TOν,kj

� 8 ÂTI

ν,kj

� �jlns�Y9egWjZ^�jZ�¤�hjm|egm s�h�s�¢QegWjZ �wijegZ>l��uh�� � hjhjZLlr¢­ijh�xegm s�h�c>¡ § < © < ¨ �uh�� § < © � ¨ ¡��uh��enWjZ ��Z�¤�hjm¬enm|sJh±su¢�egWjZLm|lAx>s�lnlgZKcf{�s�h��jm|hj�²lnsuen�uegm s�h�x�sdZ�°�x�m Z>h�e�c>¡ § ºj© � ¨ �uh�� § ºj© º ¨ ¡jª�Z���ZL�ji�x�Z�ªCm|egW § º�© < ¨ ®

TOν,kj = i|k|−|ν|A

νj

Akj

T ν,kj ,

§ º�© < � ¨��h��&®

TIν,kj = i|ν|−|k|A

kj

Aνj

T ν,kj .

§ º�© <:G ¨· m|egW § º�© < > ¨ ¡�ª�Z5W��S�JZ5��z cgs�®

TO−ν,−kj = (−1)k+νTO

ν,kj ,

TI−ν,−kj = (−1)k+νTI

ν,kj .

� Á � L� ��L�j�H9 Á 8 L�� Á � ½ Â� µ� ½ � ��m|�JZ>h+egW�ZHν,0

n (γ)ªCm|egW�z Z>Y[Y��¯º�© < ��h�� § º�© < � ¨ ¢­sJl n = J0..P K

�uh�� |ν| ≤ n¡?ª�Z

i�cgZ § ºj© < º ¨ �uh�� § º�© < � ¨ ens$x>s�Y[{ji�enZ-enWjZ Hν,mn (γ)

¢­s�ln = J0..P K

¡ |ν| ≤ n�uh�� |m| ≤ n

©TO

ν,kj

�uh��TI

ν,kj

�ulnZ enWjZ>h��ZK��i�x>ZL�$¢­lgsJYHν,m

n

ªCm|egW § º�© < � ¨ ¡ § ºj© < � ¨ ��h�� § ºj© <HG ¨ ©+^s�ª�ZL��Z>l¶egWjZLlgZ�mpc¶hjs²hjZLZL��¢­sJl¶enWjZ�x�sJY²{�i�en�uegm s�h�s�¢TO

ν,kj

�uh��TI

ν,kj

ensD��Z��Jx>x>Z>z Z>l���egZK�&®�m¬e�ªCm|z zQm|h���Z>ZK����Z�{��ulge�su¢enWjZD{�lgZKx�s�Y[{jijen��enm|sJh¯su¢M2Legl��uh�cf¢­Z>l^¢­ijh�x�egm s�h¯¢­sJl�����m ��ZLh�z|ZL��Z>z § cgZ>Z[cgZLxenm|sJh < © < ¨ �uh��¯m¬e�cwlnijh�egm Y[Z-mpc�hjsue5x�lnm¬enm xL�uz�uew�uz zU© � e^mpcAW�Z>lnZ Y[s�lnZ�m|Y[{�s�lgen�uh�eAens[¢­s�x�i�c^s�h±egW�Z-hdijY[Z>lnm xL�uzµcfen���jm z|m|evb�s�¢�enWjZDx>s�Y[{ji�e���enm|sJh±cnx�WjZLY²Z-i�cfZK��¢­s�lCenWjZLcgZlnsue���egm s�h±x�sdZ>°�x>m|ZLh�enc § cgZ>Z�cgZLx�egm s�h±ºj© > ¨ ©

V�VXW-Y�Z'[\Z^]

Page 35: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

º�� ���������^��!�

I ��5�� I � Á � L , ½ �9­� ¾ywc�¢­s�l�egWjZ�sJ{�ZLln�uegm s�hDx>s�ijh�ePcveni���b s�¢jegW�Z��?�?V�m Y[{jlns���Z>Y[ZLhJe�¢­s�l

M2L¡Sª�Z�WjZ>lnZC��s�hjsuerx�sJh�cgm ��ZLlµenWjZ�{jlnZLx�sJY[{ji�en�uegm s�h{�Z>lg¢­s�lnY[ZL��s�h�x>Z5¢­s�l�enWjZ ZL�Jx�W$z Z>�JZ>zH©¶V�WjZ

TOν,kj (π, θ, φ)

¡TI

ν,kj (φ, θ, π)

�uh��Ok

j (r, 0, 0)��lgZ5enWjZ>lnZ�¢­sJlgZ5hjs�eCen�u´JZ>h�m|h�ens�Jx>x�sJijh�eL©��s�l

1 M2L¡dª�Z5egWdi�cCx�sJh�cgm ��ZLlL®

� 1lgs�en��enm|sJh�¢­sJlCegWjZ5YDijz¬enm|{�s�z Z�Z�}�{���h�cgm|sJh

� 1 M2L��z|sJhj�²egWjZ

z�u}dmpc

� 1lgs�en��enm|sJh�¢­sJlCegWjZ5z s�x>�uz&Z>}�{��uh�cgm s�h

� L ½ �S�j�H9 Á 8 � Á 8 � I��*5 � ��/�&.0/1&\�-�&'�� :\�0; �\"1&)���������1:\� � ���� +.���$&M2L

� "�&)���������%=,�!!/ � �� ��������1�.���$���^�!� �9; & /�&'��� /F� &'�^�$& ; � � �

M2LROT =(P + 2)(14P 2 + 41P + 36)

24.

� � �H� + �A·�Z�W��S��ZJ¡�ªCm¬enWQ = P/2

§ m hJenZ>�JZ>lA��m �dm cgm|sJh ¨ ®

ROT (Multipole) =

Q∑

ν=0

P−ν∑

j=ν

j∑

k=−j

=(P + 1)(P + 2)2

4≈ 1

4P 3,

M2Lz =

P∑

j=0

min(j,P−j)∑

k=0

P−j∑

n=k

=(2P + 3)(P + 4)(P + 2)

24≈ 1

12P 3,

ROT (Local) =P∑

j=0

j∑

ν=0

Min(j,P−j)∑

k=−Min(j,P−j)

=(P + 2)(P 2 + 2P + 2)

4≈ 1

4P 3.

� L ½ �S�j�H9 Á 8 � Á 8 � I � ?�� ��/�&�0/1&\���&)�� : �5;�� "�&'��-*���-� :\� � �� � +��-��&M2L

� "�&'� �������� =,�!0/ ��� ��������������$�(�U� � �>; & /�&'��� /F� &'�^�$& ; � � �

M2LROT 2P =(10P + 9)(P + 2)(P + 1)

6.

� � �H� + �A·�Z�W��S��ZJ®ROT (Multipole) =

P∑

ν=0

P∑

j=ν

j∑

k=−j

=(4P + 3)(P + 2)(P + 1)

6≈ 2

3P 3,

M2Lz =

P∑

j=0

j∑

k=0

P∑

n=k

=(2P + 3)(P + 2)(P + 1)

6≈ 1

3P 3,

ROT (Local) =

P∑

j=0

j∑

ν=0

j∑

k=−j

=(4P + 3)(P + 2)(P + 1)

6≈ 2

3P 3.

V�WjZ5l���enm|s[��Z�evª�Z>Z>h±cgm|hj�Jz|Z���h��±��s�ij��z|Z5WjZLm|�JWJeA´JZ>lnhjZ>zpc�ªCm¬enW±lgs�en��enm|sJh�mpc�egW�Z>h³®M2LROT 2P

M2LROT=

4(10P + 9)(P + 1)

14P 2 + 41P + 36≈ 20

7.

V�WjmpcCl���enm|s[¢£�S�Js�l�c¶enWjZ-��sJij�jz Z�WjZ>m ��W�eA´JZ>lnhjZ>z³x>s�Y[{��ulnZL��egs$x�zp��cncfmpxM2Lm|Y[{jz Z>Y[Z>h�e���egm s�h § ln�uegm s�su¢

6¡�cgZ>Z cgZLx�egm s�h

< © �j© > ¨ sJlC�jz sdx�´$���?V § l���enm|s²su¢ 8 ¡jcgZ>Z�cgZLxenm|sJh±�j© = ¨ ©����V����

Page 36: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 º�º

� � � � � � �� �� ��� �� � �����V�WjZ$m|Y[{jz Z>Y[ZLhJe���enm|sJh su¢�egWjZ�lgs�en��enm|sJh cgx�WjZLY[Z���s¯hjs�e-Z>h�x�s�i�hJenZ>l-cg{�ZLx�m|¤�x�{�lgsJ�jz|ZLY�c�Z�}jx�ZL{�e²xL�ulnZ�¢­ijz¶ªClgm|egm hj�¯s�¢�enWjZz sds�{�c²m h�egW�Z±cgm hj��z Z�WjZLm|�JW�e

M2L´�ZLlghjZLz�xL��cgZ�©�V�WjZ�lnsuen�uegm s�h1x�sdZ�°�x�m Z>h�e�cD��lgZ$ZL��cgm z|b�cfegsJlgZK� m|h egWjlnZ>Z>¥¦�jm|Y[Z>h�cfm s�h���z��lgl��Sb�c>©�·NZ5hjs�ª ��Z�e��um z&egW�Z�Z�}degl��²Y²ZLY[s�lnb�lgZKoJi�m|lnZL�&©��s�l�ZL��x�W

M2L{jlnZ�¢­sJlgY[ZK��ªCm¬enW�lnsue���egm s�h�c^ª�Z-hjZLZL�¯¤�lncfe�evª�s��ui�}�m z|mp�ulnb���lgl��Sb�cCªCWjZLlgZ[�ulnZDcfegsJlgZK�±egWjZ²Y-i�z¬enm|{�s�z Z��h�� z sdxL�uz�Z�}�{��uh�cfm s�h�c-�uz s�hj�±enWjZ

z��}�m cL©¯V�WjZKcfZ���lgl��Sb�c5W��S��Z�egWjZ�cg��Y²Z$cfm �>Z�s�¢A�uh�Z>}d{��uh�cgm|sJh+ªCm¬enW ��s�ij��z|Z�W�Z>m ��W�e´JZ>lnhjZ>zH¡¶�uh���Z>�JZ>h z|ZKcgc²ªCm|egW3cfm hj��z Z�WjZ>m ��W�eL®�m h ��suenW x>�JcfZ$egW�Z>m l�Y²ZLY[s�lnb�i�cg����Z±x>�uh ��Z�hjZL��z ZLxenZL�&© � h�cfegZL�J��s�¢w�uhZ>}d{��uh�cgm|sJh³¡�ij{�egs

Ps�l

2P¡d¢­sJlCegWjZ�x>z �Jcgcgm x

M2Lx�sJY[{ji�en�uegm s�h³¡�ª�Z5hjs�ª hjZ>ZK��¢­sJlCZL��x�W

M2L��ZKxegsJlL®

� egWjZDx�s�lnlnZLcg{�sJh���m hj� M2Lenln��h�cf¢­Z>lC¢­ijh�xegm s�h¯��z|sJhj�²egWjZ

z��}�m c^x�s�h�e��um hjm|h��²sJhjz b�enZ>lnY[cAªCm¬enW�h�i�z|z³sJln�jZ>lK®rm¬e�c^cgm �LZm c�enWjZ>lnZ�¢­sJlgZ

P + 1s�l

2P + 1��h���ZL�Jx�W�egZLlgY m c�lnZL��z&hdijY-��Z>lK¡

� egWjZDevª�s$�ulnl��Sbdc^x�s�h�e��um hjm|h���egW�Z²x>s�lnlgZKcf{�s�h��jm|hj� TOν,kj

�uh��TI

ν,kj

x�sJY²{�z|Z>}�enZ>lnY�c^¢­sJl0 ≤ j ≤ P

¡ |k| ≤ j�uh��

0 ≤ ν ≤ j©µ·�Zrm h���ZLZL����sAh�sueµhjZLZL��enZ>lnY[c³ªCm¬enW −j ≤ ν < 0

©µV�WjZ¶cgm �>Zrs�¢dZK��x�W��ulnl��SbCm cL® ∑Pn=0

∑nν=0

∑nk=−n =

(4P+3)(P+2)(P+1)6

©rV�Wjm c^�u{j{jz m ZLc�egs[��suenW±cgm hj��z Z��uh��±��sJij�jz Z�W�Z>m ��W�eA´�ZLlghjZLz cL©��m h��uz z|b�ª�Z5enW�i�c�W��S��ZJ¡d¢­s�lAcgm|hj�Jz|Z5WjZLm|�JW�e

M2L´JZ>lnhjZ>zH®

MemSg(P, H) = N (H)(P + 1)(P + 2)c +NT

(P + 1

2+

(4P + 3)(P + 2)(P + 1)

3

)c,

§ º�© < = ¨��h��$¢­s�lA��sJij�jz Z�W�Z>m ��W�eA´�ZLlghjZLzU®

MemDb(P, H) = N (H)(P + 1)(P + 2)c +NT

(2P + 1

2+

(4P + 3)(P + 2)(P + 1)

3

)c.

§ º�© ��� ¨· WjZLh�x�sJY[{��ulnZL�²ens-ZLo�i��uegm s�h�c § < © < > ¨ ��h�� § < © < � ¨ ¡�m|e�mpc�x�z ZL�ul¶egW��ueL¡dijhjz ZLcnc���Z>lnb²z|s�ª3s�xenlgZLZ^WjZLm|�JWJe�c¶��h�����ZLlgb²Wjm ��W���uz ijZKc�su¢

P¡�egWjZ�Z>}degl��-Y[Z>Y[sJlgb�cfegsJln����ZwhjZ>ZK��ZL�$¢­s�l�enWjZ�lnsuen�uegm s�h±cgx�W�Z>Y[Z5m cCcgY��uz zU©

� ��� ��� ��� �4����� �9��� � ·�Z�WjZ>lnZ�x�sJh�cfmp��ZLl�enWjZ�i�cgZ5su¢Pcve��uh��j��ln�$¸�¹µywa�xL�uz z c�m h�sJln�jZ>l�egs�cg{�ZLZL��ij{$egWjZ x>s�Y[{ji�e���egm s�h�su¢

M2LªCm¬enW±lgs�en��enm|sJh�c§ cfZLZ�cgZLx�egm s�hM>�¢­s�l[�uh�m h�eglnsd�ji�xenm|sJh�s�h1¸�¹�ywa ¨ ©?·NZ$¤�l�cve[cveni���b+egW�Z���sJij�jz Z�WjZLm|�JW�eD´�ZLlgh�Z>z�cfm h�x�Z�egWjmpc²m c-egW�Z$Y[sJcfe��Y²ZLh��u��z|Z�x>�JcfZJ©

I � I ��5 Á µ� , ½ N ½ 9 � NQ� � ½ � 8 ½ ,· WjZLh i�cfm hj��lnsue���enm|sJh�c ªCm|egW

M2L¡Pª�Z�i�cgZ

2��m|«�ZLlgZLhJe[´dm|h��jc²su¢^x�sJY[{ji�en�uegm s�h³®�lgs�en��enm|sJh�c s�¢^Y-i�z¬enm|{�s�z Z���h���z s�x>��zZ>}d{��uh�cgm|sJh�c�s�h�s�h�Z5cgmp��Z�¡���h��

M2L��z|sJhj�²egWjZ

z�u}dmpc�s�h�egW�Z�suegW�Z>lAcgm ��ZJ©

� L�� 8 �:9 Á 8 � Á �K���H9 Á 8 � � ·�Z�¢­s�x�i�c�s�h�egW�Z�Y-ijz|egm {�s�z Z�Z�}�{��uh�cfm s�h+lnsuen�uegm s�h³®5enWjZ�z sdxL�uzrZ>}�{��uh�cgm s�h�lgs�en��enm|sJhNmpc {�Z>lg¥¢­sJlgY[ZL��z m|´JZ>ªCmpcfZJ©?·NZ�hjZLZL��egs�x>s�Y[{ji�enZ�h�Z>�J�uegm ��Z5s�l���ZLlnc § cgZ>Z § ºj© � ¨f¨ z m ´�Z�®

M−νn =

n∑

l=−n

M lnTO

ν,−ln (ω, γ, χ)

ªCm|egW³®0 ≤ j ≤ P

��h��0 ≤ |ν| ≤ j

¢­s�l���s�ij��z|ZNWjZ>m ��W�e$´JZ>lnhjZ>zH©�V�Wjmpc$x>s�Y[{ji�e���enm|sJh ��sdZLc$hjsue�z|ZLh�� m|encgZ>z|¢�egs �Y���enlgm|}d¥H�JZLx�egs�l�{jlns���i�x�eCcgm h�x�Z5m|eAz|sds�´�c�z m|´JZ�®cν,n =

...∑

l=...

an,ν,l.bl,n

ªCWjZLh±ª�Z5ª�s�ijzp��h�Z>ZL�±cgs�Y[Z�enWjm hj�[z|m ´�ZJ®cν,n =

...∑

l=...

aν,l.bl,n

¢­sJlC = A.B

¡�ªCm|egWM−ν

n

cvens�lnZL��m hC¡TO

ν,−ln

m|hA��h��

M ln

m|hB©�V�W�Z ��Z>{�Z>h��jZ>h�x>b$sJh

ns�¢

TOuterν,−ln

{jlnZ>��ZLh�enci�cA¢­lgsJY x>s�h�cgmp��Z>lnm|h��[egWjZ lnsue���enm|sJh�s�¢PY-ijz|egm {�sJz|ZDZ�}�{���h�cfm s�h��JcA��Y���enlgm|}d¥H�JZLxens�lC{jlns���i�x�eL¡���h���egWdi�cA¢­lgsJY i�cfm hj��z Z>�JZ>z2¸�¹µy�aQ¡j�uh���¢­i�lfenWjZ>lnY[s�lnZwz Z>�JZ>z

3¸�¹�ywaQ©� e mpc Wjs�ª�Z>�JZ>l5{�sJcncfm �jz ZDens¯i�cgZ�z|ZL��ZLz

1¸�¹�ywaN¢­sJl5egWjZ�x>s�Y[{ji�e���enm|sJh�s�¢�sJhjZ���m ��ZLh

M−νn

¡��ji�e�egW�Z�cf{�Z>ZK��ij{ ªCm|egWz Z>�JZ>z1¸�¹µy�a�mpcCz m|Y[m|egZL�³©

V�VXW-Y�Z'[\Z^]

Page 37: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

ºU> ���������^��!�

M2L� , Á 8 �

z� �9£� � · WjZ>h±x�sJh�cfmp��ZLlgm hj� § º�© G ¨ ¡�ª�Z�xL�uh�i�cfZwegW�Zw¢­sJz|z s�ªCm hj�-Y���enlgm|}d¥H�JZLx�egs�l�{jlns���i�xe § lnZ>{�lgZKcfZLhJenZL��¢­s�l

P = 3 ¨ ¢­sJlCm¬e�cAx�sJY[{ji�en�uegm s�h³®

L00 X X X

L01 L1

1 X X

L02 L1

2 L22 X

L03 L1

3 L23 L3

3

=

O00 O0

1 O02 O0

3

O01 O0

2 O03 O0

4

O02 O0

3 O04 O0

5

O03 O0

4 O05 O0

6

M00 0 0 0

M01 M−1

1 0 0

M02 M−1

2 M−22 0

M03 M−1

3 M−23 M−3

3

¸�i�eA�uz z�egWjZXenZ>lnY�c¶m h�enWjZ�z|s�x>��zQZ�}�{��uh�cfm s�h�Y��ueglnm¬}��ulnZ�i�cfZLz|ZKcgcgz b[x>s�Y[{ji�enZL�$�uh���egWjZ

0s�¢³egWjZ5YDijz¬enm|{�s�z Z�Z�}�{��uh�cfm s�hY���enlgm|}���lgZ�i�cfZLz|ZKcgcgz|bNi�cgZL�&©�·NZ$x>�uh �S�Js�mp�¯enWjZ�i�cgZ�su¢

0ªCm|egW+eglnmp�uhj�Jijz ��l ¸�¹µywa § z|m ´�Z

ZTRMM¡³cfZLZ<� � * + � =��0" ¨ªCm|egW�egl��uh�cf{�sJcgm¬enm|sJh³®

L00 L0

1 L02 L0

3

X L11 L1

2 L13

X X L22 L2

3

X X X L33

=

M00 M0

1 M02 M0

3

0 M−11 M−1

2 M−13

0 0 M−22 M−2

3

0 0 0 M−33

O00 O0

1 O02 O0

3

O01 O0

2 O03 O0

4

O02 O0

3 O04 O0

5

O03 O0

4 O05 O0

6

§ º�© � < ¨V�WjZ

XegZLlgY�cDm|h enWjZ�z s�x>��z¶Z�}�{���h�cgm|sJh Y[�ueglnm¬}���lgZ�Wjs�ª�Z>�JZ>l-cfegm z z�i�cgZ>z ZLcncgz|b+x�sJY²{�i�egZK�&©N_�sJlgZLs���ZLl�egWjZ�cf{�Z>ZK��ij{s�«�ZLlgZK�+��bNegW�Z$¸�¹µy�a+m cD��e-��ZLcfeDªCm|egW z|ZL��Z>z

3®DegWjmpcDª�sJijz �+lnZLo�ijm lnZ[egWjZ�x�s�h�x>��enZ>h��uegm s�h+su¢AcgZ>�JZ>l��uzrY-i�z¬enm|{�s�z Z ��z|s�x>��zZ>}d{��uh�cgm|sJh$Y��ueglnm x>ZLc�m h § ºj© � < ¨ �Jc�m|h�cgZLx�egm s�h3>�© º�©r¸�i�eCegW�Z>h±egW�Z�Y[�ueglnm¬}�x�s�h�e��um hjm|h��DenWjZ�Y-i�z¬enm|{�s�z Z�Z�}�{���h�cfm s�h�c�ª�sJijz �hjs�e���Z[enlgmp�uhj�Jijzp�ul5�uhdbdY²sJlgZJ®AenWjZ�i�cgZ²s�¢�z Z>�JZ>z3¸�¹�ywa�m c�enWdi�c5m|h��u{j{jlns�{�lgmp��enZ�©Dy�e�zp��cfe ��c5cfW�s�ªCh�m h+cgZLx�egm s�h�ºj© < © º�¡enWjZ

M2L��z|sJhj�²egWjZ

z�u}�m cCmpcCenWjZ z ZL�JcveCenm|Y[Z�¥ x�sJh�cgijY[m|hj��{��ulgeAm|h±enWjZ

M2Lx�sJY[{ji�en�uegm s�h±ªCm|egW�lnsuen�uegm s�h�cL©�y^z|zµegWjZKcfZlnZL�JcfsJh�crz ZL�J��i�c�egs-¢­s�lnZLcgZ>ZAenWjZ��J�um h�m h�Y���e�x�Wjm hj� enWjZ

M2Lx�sJY²{�i�en�uegm s�h�ªCm|egW$lgs�en��enm|sJh�crªCm|egW±cfen�uh��j�ul���¸�¹µywa�x>��z|zpc�Jc�egsds[z|m Y[m¬enZL��egs�tvi�cfegm|¢­b�m¬e�c�m|Y[{jz Z>Y[Z>h�e���egm s�hµ©V�WjZ$s�hjz b�ª��SbNegs�cg{�Z>ZL��ij{ x�sJY[{ji�en�uegm s�h�c-ªCm¬enW lnsue���egm s�h�c cfZLZ>Y�c�enWjZ>lnZ�¢­sJlgZ�egs�ªClnm|egZ�cg{�ZKx�mp�uz�W��uh���x�s���ZK� �uh��hjsJh¯{�s�lgen�u��z|Z z sds�{�c^m|h�x�z i���m hj����cncgZ>Y-��z|b�z|ZL��ZLzµ{jlns��Jln��Y²Y[m hj�²egW��uewsJ{�egm Y[m �LZDx�sJY[{ji�en�uegm s�h�c^m|h¯egWjZ²cg��Y²Z-ª��Sb�¸�¹�ywam Y[{jz|ZLY[Z>h�en�uegm s�h�cA�js�©

I � I � ? R�9 8�� , ½ N ½ 9 � NQ��� ½ � 8 ½ ,adm h�x>ZregW�Z�x>s�Y[{ji�e���egm s�h5¢­sJl�cgm hj��z ZrWjZLm|�JWJe�´�ZLlghjZLzJ��sdZKcµZL��Z>h�z ZLcnc�z|ZLh���m|encgZ>z|¢�egsw�^Y���eglnm|}�¥¦��ZKxens�l&{jlns���i�xe § enWjZ¶enlgmp�uh���ijzp�ulY���enlgmpx�ZKc�m|h�egWjZ[��s�i��jz|Z²WjZLm|�JWJe�x>�JcfZD��ZLm|h���¢­ijlgegW�Z>l �vW��uz ��ZL� �D�uz s�hj��enWjZ�cfZKx�sJh��j�ulnb § s�l5cg´�Z>ª ¨ ��mp�u�Js�h���z ¨ ¡�enWjZ[¸�¹�ywax>s�Y[{ji�e���egm s�h±ª�s�ijzp�$��Z�ZL��Z>h�z ZLcnc�Z�°�x�m Z>h�eL©·�Z�W��S�JZ[egWjZLlgZ>¢­s�lnZ�x�WjsdsJcgZ>h+hjs�e egsNi�cgZ�¸�¹µywa�x>�uz zpc ªCm|egW�lnsue���egm s�h�c cfm h�x>Z�ª�Z$��s¯hjs�eD��Z>z m|ZL��Z�enWjm cDª�s�ijzp�+��m ��Zcgi�°�x�m Z>h�eA�J��m|hµ©� ��� � � � � � � � � �)��� ��� ��� � V�WjZ�h�i�Y²ZLlgmpx>��zrcve��u�jm z m¬evbNsu¢�egWjZ�lnZLx>ijlncgm ��Z�x�sJY²{�i�en�uegm s�h�su¢�lgs�en��enm|sJh�x>sdZ�°�x�m Z>h�enc W���c���Z>ZLh cveni���m ZL��¢­s�l�Z>}j�uY[{jz Z�m|h� * � �5~#=U=5"��uh��%� · +���=J�."µ�jijeA¢­s�lAs�egWjZLlClgZKx�ijl�cgm|�JZ^¢­sJlgYDijz ��Z�egW���h § ºj© < º ¨ ©�V�s�x�WjZLx�´�sJijlC¢­sJlgYDijz ��Z5ª�Z5i�cgZ�hdijY[Z>lnm xL�uzenZLcfenc5s�h�egWjZ²ªCWjsJz|Z[�?_¯_ x>s�Y[{ji�e���enm|sJh³®^��c5cgWjs�ªCh¯m h�¤���ijlnZDº�© ��hjs�h�i�Y²ZLlgmpx>��z�m h�cfen���jm|z m|evb�m c�m hJenlgs���i�x�ZL��ªCm¬enWNsJijllnsue���egm s�h�m Y[{jlns���Z>Y[ZLhJe^cgm h�x�Z ��suenW¯x�ijln��ZKc^��lgZ�mp��Z>h�enm xL�uzH©AV�Wjm c^m cw�uzpcfs��S��z|mp��¢­s�l���s�i��jz|Z-WjZ>m ��W�e

M2L´JZ>lnhjZ>z��uh���¢­sJlWjm ��W�Z>lCs�xenlgZLZ�W�Z>m ��W�eL©

����V����

Page 38: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 ºJ�

-14-13.5

-13-12.5

-12-11.5

-11-10.5

-10-9.5

-9

0 5 10 15 20 25 30

Loga

rithm

ic P

oten

tial E

rror

P

M2L classicM2L Rotations

��m ��ijlnZ-ºj© ��®�¹³sJ�J�ulnm|egWjY[mpx5Z>lnlgsJl�¢­s�lCenWjZ-{�suenZ>h�egmp�uz���x>x>s�l���m hj�²egsP¢­s�l�cfm hj�Jz|Z�WjZLm|�JW�e

M2L´�ZLlgh�Z>z³ªCm|egW���h��±ªCm|egWjsJi�elnsue���egm s�h�c�¢­s�l

M2Lx>s�Y[{ji�e���egm s�hµ©�V�ZLcfencP{�Z>lg¢­s�lnY[ZL�²s�h < �����J�^i�hjm¬¢­sJlgY ��mpcvenlgm �ji�enm|sJh²ªCm|egW���h[sdx�eglnZ>ZCs�¢�WjZLm|�JW�e

4©�V�W�ZZLlglns�l�{jz suegegZL��mpc�egWjZ�Y��u}dm Y-i�Y �u��cfsJz|i�enZwZLlglns�l�s��JZ>lC�uz zQegWjZ�{��ulgegmpx�z ZLcL©

V�VXW-Y�Z'[\Z^]

Page 39: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

ºJ� ���������^��!�

� � ,.±���A,B�C�D���5����� ���'���! 6 8+: ;V�WjZ�¸�¹µywa § ¸���cgm xw¹³m hjZL��l�y^z|�JZ>�jl��-adij��{jlgsJ��l��uY�c ¨ § cgZ>Z � ¹�+�232-��=#"8� � * +4+ GUG "�� � * + � =J�0" ¨ ��lgZ^�Dcve��uh����ul��[m|h�egZLlf¢£�Jx�Z¢­sJlDcgs�Y[Z�i�cgi��uz�z|m hjZK�ul-��z|�JZ>�jl��±s�{�Z>l���enm|sJh�c cgi�x�W���c ����sue²{jlgs���i�xe-s�¢

2��ZLx�egsJlnc § z|ZL��ZLz

1¸�¹µy�a ¨ ¡?��Y���enlgm|}d¥H�JZLxens�l{jlns���i�x�e § z Z>��ZLz

2¸�¹µy�a ¨ s�l¶��Y���enlgm|}d¥HY��ueglnm¬}-{�lgs���i�x�e § z Z>�JZ>z 3 ¸�¹µywa ¨ © � h[sJln��ZLl?egs�s�«�ZLlr�uh[Z�°�x�m Z>h�erm Y[{jz|ZLY[Z>h�en�uegm s�hs�¢regWjZKcfZDs�{�Z>l���enm|sJh�c>¡�egW�Z²¸�¹µy�a±lns�i�enm|hjZKc^Y���h��u�JZ�egs$¤�z z?�uew��ZLcfewenWjZ²{jm|{�Z>z m hjZLcwsu¢renWjZ 6 sJ�uegm hj��{�s�m hJe5ijhjm|encL¡QegW��uhj´�cens��uh�sJ{�egm Y��uz³i�cgZ s�¢�enWjZ-��m|«QZ>lnZ>h�e^zp�Sb�Z>l�c�su¢�egW�Z-Wjm Z>l��ul�x�Wjmpx>�uzQY[Z>Y[sJlgb$su¢?egWjZDx�s�Y[{jijegZ>lK©CyAh���enWjZ Wjm ��W�Z>lCenWjZ-z Z>�JZ>zs�¢�enWjZ ¸�¹µywa$i�cgZL�³¡degWjZ���Z�egegZ>lAegWjZ cg{�ZLZL��i�{$enWjZ>b$lgZK��x�W³©?V�WjZ ¸�¹µy�a���lgZ5Y[s�lnZ>s��JZ>l�{�sJlfe��u�jz Z��uh��$ªCmp��Z>z b$�S���um zp�u�jz Z�©

¸�¹µy�a�W��S�JZ-�uz lnZL���jb���Z>ZLh�i�cgZL�¯¢­s�l�Wjm Z>l��ul�x�Wjm xL�uz O(N) N¥¦��sd�jb¯�uz ��s�lnm|egWjY�cA�db<+^iN�uh�� ��sJWjh�cncfsJh � + � =��."PªCm|egWy^h���Z>l�cgs�h�� cAY[Z�enWjs��1� y^h��1=��."�ªCW�m x�W�i�cgZLcw��m|«�ZLlgZLhJewZ�}�{��uh�cfm s�h�cCegW���h±egWjZ²��_�_ ¡���h��±WjZ>h�x�Z�enln��h�cfzp��enm|sJh ��x>s�hd��ZLlncgm s�hsJ{�ZLln�uegs�l�cL¡���i�eAW���c�enWjZ cn�uY[Z��uz ��s�lnm|egWjY ¢­sJl�egWjZ�ij{dª��ul��$��h�����s�ªChdª���ln��{���cncfZKc>©

+^Z>lnZ�ª�Z�{jlns�{�sJcgZ�egW�Z�¤�l�cfe²¸�¹µy�a+m|Y[{jz Z>Y[ZLhJe���enm|sJh�¢­s�lDegW�ZM2LsJ{�ZLln�uegsJl-su¢CenWjZ±��_�_ ¢­s�l²��suegW1cfm hj�Jz|Z���h����sJij�jz Z5WjZ>m ��W�eC´�ZLlghjZLzU© � h�s�l���Z>l�ens[�Jx�Wjm Z>��ZwegW�Z�W�m|�JWjZLcfeCZ�°�x�m Z>h�x>b�¡�ª�Z��uzpcfs[��Z�e��um z³cfZL��ZLln��z�ª��Sb�c¶ens[i�cfZ5z Z>�JZ>z

3¸�¹�ywa¢­sJl

M2L©

� ���M2L

� 3 ������� ��� �� �1 � �8� � � ����� � ������ � ��� � �������� � �

· Wjm z Z¯egW�Z�s�lnm ��m h��uz^�?_¯_=¢­sJlgYDijzp�uZ¯s�¢ ��lnZ>ZLhj�J��ln� � ~CsJ´�W�z|m h § cgZ>Z �!�5~ G G " ¨ ��s�hjs�e$�uz z s�ª ��lgZLªClgm|egm hj� su¢5enWjZ>m lx>s�lnlgZKcf{�s�h��jm|hj��s�{�Z>l���egsJlnc §M2M¡M2LsJl

L2L ¨ ��c²Y���eglnm|}�¥¦��ZKxens�l {jlns���i�x�encL¡PegWjmpc�x>��h���Z�ZK��cgm|z b ��s�h�Z$ªCm|egW egWjZcgm|Y[{jz Z>l�¢­sJlgYDijz ��Z^s�¢�� ( � =��."¦¡ � · +*��=->5"&sJl�� (rz z =��."¦©rV�WjZ^¢­i�z|z³�?_¯_<�uz ��s�lnm|egY W���c���z cgs-��Z>ZLh$lnZ>ªClnm¬egegZLh�ªCm¬enW$Y��ueglnm x>ZLcm h � a�q¶� < " § ªCm|egW���m|«�ZLlgZLh�erhjsue���egm s�h�c ¨ ®µª�ZCWjZ>lnZCs�hjz b�¢­s�x�i�cPs�h²egW�ZClgZLªClgm|egm hj�5su¢�egWjZ M2LsJ{�ZLln�uegsJlr��cP�5Y���enlgm|}d¥H�JZLxens�l{jlns���i�x�eL©

·�Z^¤�lncfe�x>s�h�cgm �jZ>lrenWjZ5��s�ij��z|ZwWjZ>m ��W�eM2L´�ZLlghjZLz���h���x�sJh�egl��ulnb-ens�� adq¶� < "H¡dª�Z^sJhjz|b���ZK�uz�ªCm¬enW�hjsJh�¥¦h�i�z|z�egZLlgY�c�m|hYDijz¬enm|{�s�z Z�s�l�z|s�xL�uzdZ�}�{���h�cfm s�h�c>¡KegW���e?m c�ens�cn�Sb�egZ>lnY�c�ªCm¬enWD��ZL��lnZ>Z

j�uh��-s�l���Z>l

kcgi�x�W�egW���e

0 ≤ j�uh�� |k| ≤ j

©�·NZ��uzpcgs{�s�m h�e�sJi�ewenW���e�ªCWjZ>hN{�ZLlf¢­sJlgY[m hj�M2Ls�{�Z>l���enm|sJh³¡�ª�ZDx>s�Y[{ji�enZDsJhjz b$enWjZDegZ>lnY�c^ªCm|egWN{�s�cfm|egm ��ZDs�l���Z>l�cAm h¯enWjZ²z|s�x>��zZ>}d{��uh�cgm|sJh³©5y9z sue�su¢�cgbdY²Y[Z>eglnb�lnZ>zp��enm|sJh�cAm h¯enWjZDegl��uh�cf¢­Z>lwY[�ueglnm¬} § cfZLZ-m|enc5��Z�¤�hjm¬enm|sJh���Z>z s�ª ¨ sJlwm h�m|enc�cfi���¥HY��ueglnm x>ZLcx>s�ijzp�Nx>Z>lgen��m|hjz b¯��Z[hjsuenm x>ZL�NªCWjZ>h+x�sJY²{�i�egm hj��egZLlgY�c5ªCm|egW+hjZ>����enm|�JZDsJln��ZLlnc^egsds�¡³�ji�e�enWjm c5ª�s�i�z �NlgZKcfi�z¬e�m h��±cgz|s�ª�Z>lx>s�Y[{ji�e���egm s�h¯egW���h�tvi�cfe5x>s�Y[{ji�enm|h��${�sJcgm¬enm|�JZ-sJln��ZLlAenZ>lnY[c��uh��±egWjZLh�i�cgm hj� § < © = ¨ ��cAª�Z[��s�©5_�s�lnZ>s��JZ>lAª�Z-h�s�ª s�hjz bx>s�h�cgm �jZ>l¶z m hjZL��l��uz ��ZL�jl��5s�{�Z>l���egm s�h�c § cgi�x�W��JcPenWjsJcgZ^m Y[{jz|ZLY[Z>h�egZK��m|h�egWjZ5¸�¹µywa ¨ ®JegWjmpc¶mpc�ªCW�b²ª�Z^W��S�JZCegs²cvens�lnZ�egZ>lnY�cªCm|egW�{�sJcgm¬enm|�JZAs�l���ZLlncP�JcPª�ZLz|z���c?enZ>lnY[crªCm¬enW�hjZ>����enm|�JZ�sJln�jZ>l�c�¢­s�lPenWjZAY-i�z¬enm|{�s�z ZAZ�}�{���h�cgm|sJh�c>©?V�WjZAcgbdY²Y[Z>eglnb-{jlns�{�Z>lgevb§ < © � ¨ xL�uh�m h���ZLZL��hjs�e¶��Z^i�cgZL��W�Z>lnZAm|h�s�l���Z>lPens-ªClnm¬enZ M2L

sJ{�ZLln�uegsJlr��c¶�-Y���eglnm|}�¥¦��ZKxens�lP{jlns���i�xe�ªCWjm|z ZwcfegsJlgm hj� sJhjz benWjZ�Y-ijz|egm {�s�z Z�Z�}�{��uh�cfm s�h$egZLlgY�c�ªCm|egW±{�s�cfm|egm ��Z5sJln��ZLlncL©��m ��ZLh$�Dz|s�x>��zQZ�}�{��uh�cfm s�h

Lkj

¢­sJl0 ≤ j ≤ P

¡0 ≤ k ≤ j

¡�ª�Z5��Z�¤�hjZ�egWjZ�x�sJlglnZLcg{�s�h���m hj� ; �&:\�0; & �'"����1�^���-� % & :) �-�¡�s�l; �#:\�0;�% & :) �-�¡jsu¢?z|ZLhj�uenW (P+1)(P+2)

2

�db�®

∀i1 ∈ J0, (P+1)(P+2)2 − 1K,

{vL(i1) = Lk

j ,

i1 = j(j+1)2 + k.

· m|egWP = 2¡�ª�Z5W��S��Z�enW�i�c>®

vL =

L00

L01

L11

L02

L12

L22

.

��m ��ZLhN��Y-ijz|egm {�s�z Z²Z>}�{��uh�cgm s�hM l

n

¢­s�l0 ≤ n ≤ P

¡ |l| ≤ j¡³ª�Z���Z�¤�h�ZDenWjZ�x�sJlglnZLcg{�sJh���m hj� ��; �� "1�5; & & �'"1�-�1�^�����

%�& :' ���¡jsJl ��; *� "��0; &�%�& :) ����su¢?z|ZLhj�uenW(P + 1)2

�db�®

∀i2 ∈ J0, (P + 1)2 − 1K,

{vM (i2) = M l

n,i2 = n(n + 1) + l.

����V����

Page 40: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 º��

· m|egWP = 2¡�ª�Z5W��S��Z�enW�i�c5®

vM =

M00

M−11

M01

M11

M−22

M−12

M02

M12

M22

.

��m ��ZLh±egWjZM2Legl��uh�cf¢­Z>l^¢­ijh�x�egm s�h³¡QmH© ZJ©

Okj

ªCm|egW0 ≤ j ≤ 2P

��h�� |k| ≤ j¡�ª�ZD��Z�¤�h�Z egW�ZDx�sJlglnZLcg{�s�h���m hj�

M2L�������0+'&'� (����^����s�¢�cgm �LZ (P+1)(P+2)

2 × (P + 1)2�dbQ®

∀(i1, i2) ∈ J0, (P+1)(P+2)2 − 1K× J0, (P + 1)2 − 1K,

TM2L(i1, i2) = O−k−lj+n ,

i1 = j(j+1)2 + k,

i2 = n(n + 1) + l.

· m|egWP = 2¡�ª�Z5W��S��Z�enW�i�c5®

TM2L =

O00 O1

1 O01 O−1

1 O22 O1

2 O02 O−1

2 O−22

O01 O1

2 O02 O−1

2 O23 O1

3 O03 O−1

3 O−23

O−11 O0

2 O−12 O−2

2 O13 O0

3 O−13 O−2

3 O−33

O02 O1

3 O03 O−1

3 O24 O1

4 O04 O−1

4 O−24

O−12 O0

3 O−13 O−2

3 O14 O0

4 O−14 O−2

4 O−34

O−22 O−1

3 O−23 O−3

3 O04 O−1

4 O−24 O−3

4 O−44

.§ >�© < ¨

V�WjZM2LsJ{�ZLln�uegs�lCxL�uh�hjs�ª ��Z x�sJY²{�i�egZK�$�Jc�egWjZ5¢­sJz|z s�ªCm|h��²Y��ueglnm¬}d¥¦��ZLx�egsJl�{jlns���i�x�eL®

vL = TM2L . vM .

· m|egW3cfm hj�Jz|Z$WjZ>m ��W�eM2L´JZ>lnhjZ>z�ª�Z�W��S�JZ�egs+x�sJh�cgm ��ZLl-enWjZ

Okj

m h�enWjZM2L

*��-�1�0+'&)� (����^���$egW��ue[����hjm cgW�¢­sJlj > P¡jmH© ZJ©�¢­s�l

P = 2®

TM2L =

O00 O1

1 O01 O−1

1 O22 O1

2 O02 O−1

2 O−22

O01 O1

2 O02 O−1

2 0 0 0 0 0O−1

1 O02 O−1

2 O−22 0 0 0 0 0

O02 0 0 0 0 0 0 0 0

O−12 0 0 0 0 0 0 0 0

O−22 0 0 0 0 0 0 0 0

.§ >�© � ¨

$½ � ����� E �*5 � ��& :\��� � + :\� � �\�)& �5; �)��=,�^�! &M2M

�-���L2L

�\"1&)��� ���\� ��� �-*�^���)@ %�& :) ���\��"���:� � :)�� �

� � � �� �2��� ���

\^s�ª egW��ue�ª�Z-W��S�JZ {jlnZLcgZ>h�egZK�M2LsJ{�ZLln�uegsJl^��c���Y���enlgm|}d¥H�JZLx�egs�l^{jlgs���i�xeL¡Qm|e�mpc�cfm Y[{jz|ZDegs$i�cgZ-z Z>��ZLz

2¸�¹�ywa�x>�uz zpcens�m|Y[{jz Z>Y[Z>h�eAm|eL®?enWjZ cf{�Z>ZK��ij{���x�W�m|ZL��ZL���db�egW�Z ¸�¹�ywa�m cCegWjZLh±�jm|lnZLx�egz b�Z�}�{jz s�m|en���jz|ZJ©

�wijl¶Y[�ueglnm x>ZLcr��lgZAcfegsJlgZK�²m|h�x>s�z ijY[h�cvens�l��u��Z�Y[s���Z�¡d�uh��Dª�ZAi�cgZCenWjZCegl��uh�cv¢­ZLlrY���eglnm|}Dm h�m¬e�cPegl��uh�cf{�sJcgZL�D¢­s�lnY±®�m|e¶mpcm h���ZLZL����ZLhjZ>l��uz z|b[Y[s�lnZ5Z�°�x�m Z>h�e�egs�x>s�Y[{ji�enZC ← AT .B

m|h�lns�ª cvens�l��u�JZ^Y[s���Z5¢­s�lA¡�enW��uh

C ← A.BªCm¬enW�x>s�z ijY[hcfegsJln����Z�Y[sd�jZC¢­s�l

A¡�cgm h�x�ZAªCW�Z>h�x�sJh�cgm ��ZLlgm hj��egW�Z^¸�¹µywa²m Y[{jz Z>Y[Z>h�en�uegm s�h § cfZLZ3� ¸�¹µy "�¢­sJl¶� ��Z>¢£�uijz|e¶m Y²{�z|ZLY²ZLh�en��enm|sJh ¨enWjZ5¤�l�cve^cgs�z i�egm s�h�z ZL����c�egs[z|ZKcgc�ªClnm|egm hj�JcL¡�ªCm¬enW±Wjs�ª�ZL��ZLl�Y[sJlgZ�lgZK����m hj��c>¡�egW��uh�egWjZ cgZLx>s�h��$s�h�Z�©

E � ?���5 Á µ� , ½ N ½ 9 � NQ�M2L

� ½ � 8 ½ ,V�WjZ�Y���enlgm|}

TM2Lm c±��ZLh�cfZJ® egW�ZNi�cgZ�s�¢-z Z>��ZLz

2¸�¹µy�a

ZGEMVlgsJi�egm hjZNm c$egW�Z>lnZ�¢­s�lnZ�sJ�d��m s�i�c>© � h sJln��ZLl�ens��m|«QZ>lnZ>h�egmp��enZ�m¬eC¢­lns�Y enWjZ�suenWjZ>lA¸�¹�ywa$Y[Z�egW�sd��c�egW��ueAªCm|z z³��Z�i�cfZK��zp��enZ>lK¡�ª�Z�h��uY[Z5m¬e�+���;?;

�>; � �©V�VXW-Y�Z'[\Z^]

Page 41: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

º G ���������^��!�

$½ � ����� E � ?�� � �$��0/1&)� "�� �\�^� �'�?; �! � � �� �C��" ; �!TM2L

�!�M�C�P������� &� (����^���T′

M2L� + �^� �:& (P+1)(P+2)

2 × (P+1)(P+2)20/1�-�:\���^�&'��"1�-��� � &)�^ �� =,�!!/ "�� �^�!��!% & � ����� ��;?; � �-��U&)���!� !/�& ��; *� "��0; & & �'"����1�^���-� % & :) �-�\�#�-��� � (����^��� T′′

M2L� + �^� �H& (P+1)(P+2)2 × P (P+1)

2

!/���3:\���^�&'��"1�-��� � &)�^ ���=,�!0/ �^��^� :' ;�� �$& � �-*�!%�& �-��U&)�C�!� !/�&C ��; �� "1�5; &3& �'"������\���-����$/1&(�!�� &'�&'�^,/�&'� &�� ��!/���

T′M2L

� � � � �� � (&'��^� :� �-*�^���U��� � 0/1& �F�)&�� + ���!� �� (&)*�^� :.� � ��� ��� :\/ � �ZSY MV�-�

ZSY MM�� � ��!��&'� �U�:&^�C�$�����"1&\&\� �:" !/�& : �- #" � �-*���-�/:\�- #"����&\� � 0/1& :\���^�&'��"1�-�����!� �1: �5;?;� �

ZGEMV�-�

ZGEMM�� � *�!�$&^��� 0/1&� (���!� �!� &)�&'�^�=�/1&)���F�\�!� ��!/�&^�)&�� �� � &)��^� :#������� � � 0/1�-���� ;�� /��0; + � + 0/1&� (����^��� �$& &\� �

�\& =,�^�!* &'��� =�/F� :\/ � �H&'� ���-��!� &)�&'�\��F�#/�&'� & �^�!� :\&�!/�& ��� �?; ���!� �3� +M2L

���-�1�0+'&'�� (����^� :\&^� � � "��& :\�� "�� &\� �-��� /�� �0/ �F� %�&'� �#+'&>=P�! #"��9:)#��� !/�&���� � *�! (&^� � ��&'�^���� ����& =,�!0/ ; &)%�& ;

3������� � �)&\& �)& :'����������M� � ���$�(0/1& : �-�^�&'�*"����$���!� ��>; �#:�� � & : �- #"�� �^�!������ +'�-�

T′M2L

���$�T′′

M2L � �)&\& ���M� �M� � ��/1��%�& :\����� �^ (&\� 0/1�- ��� :\/��0; &)�^������!%�&C�U�:&^� ���� �! "�� ��%�&0/1& "1&)�0+'���^ (��� :\&^� �-% &)�.0/1&����^���U�!���0;����$&^� �

E � ?�� ? R�9 8�� , ½ N ½ 9 � NQ�M2L

� ½ � 8 ½ ,V�WjZ-Y[�ueglnm¬}

TM2LmpcChjs�ª cf{��ul�cfZJ®rx�z ZL�ulnz b�egW�Z�i�cfZ-su¢P�[z|ZL��Z>z

2¸�¹�ywa±xL�uz zµcfi�x�W±�Jc

ZGEMVlns�ijegm hjZ�ª�sJijzp��lnZLcgijz|em h�ens�sDY��uhdb[i�cfZLz|ZKcgc�x�sJY[{ji�en�uegm s�h�cL©�·NZwegWjZLlgZ>¢­s�lnZ^W��S�JZCegs[cg{jz|m|e¶enWjZ5cf{���lncgZAY���enlgm|}d¥H�JZLx�egs�l¶{jlgs���i�xe�m|h�cfZL��Z>l��uz���Z>h�cgZ�jz s�x�´�{jlns���i�xe�c>©

¹µZ�e � c&lnZLxL�uz z�¤�l�cve&enZLx�Wjhjmpo�ijZLc³i�cfZK��m|h5enWjZr¸�¹µywa�m Y[{jz Z>Y[Z>h�en�uegm s�h�egW���eµz ZL�J�^ensCWjm ��W5{�ZLlf¢­sJlgY���h�x�Z § cgZ>Z4� � � a��d��( = G " ¨ ©V�WjZwijz|egm Y[�uegZ���s��uz�mpc�WjZ>lnZCegs-¤�z zQ�ue���ZLcfe¶enWjZw{�m|{�Z>z m|h�ZLc�su¢&egW�Z 6 s���enm|hj�-{�sJm|h�e�Z>}�ZLx�ijegm s�h�ijh�m¬e�c�m h�sJln��ZLlrens-lnZL��x�W[{�ZL��´{�Z>lg¢­s�lnY��uh�x>Z�su¢�egWjZ {�lgs�x�ZKcgcgs�lK©r· WjZLh¯ªClnm¬enm|hj��z sds�{�c^x�s�lnlnZLcg{�sJh���m hj�-ens�egW�Z-¸�¹µywa�sJ{�ZLln�uegm s�h³¡jxL�ulnZ�m cA¤�l�cveCe��u´�ZLh±m|henWjZ-sJln��ZLlA��Z�evª�Z>Z>h±enWjZD�jm¬«QZ>lnZ>h�e^z sds�{�cwcfs�enW���e�cf{��Jx�mp�uzµ��h��±enZ>Y[{�sJln��z³z sdxL�uz m¬evb±�uY[sJhj���j��e����ulnZ�Y���}�m Y²m �>ZK�&©AV�WjZLh³¡��¤�l�cve[z|ZL��ZLz�s�¢^�jz sdx�´dm hj��m c²m hJenlgs���i�x�ZL� egs�{jlgs��dmp��Z$xL��x�WjZ$lgZLi�cgZ$m h sJln��ZLl-ens�{jlnZ>�JZ>h�e[Y-ijz|egm {jz Z$z sJ�J�jc-s�¢AegW�Z±cn�uY[Z�j�uen��©�· WjZLh�x�sJh�cfmp��ZLlgm hj����Y-i�z¬enm¬¥¦z|ZL��ZLz�x>�Jx�WjZ�Y²ZLY[s�lnbD�uh�� �SsJl?egWjZ^VC¹�¸ § Vµl��uh�cgzp��egm s�h[¹³sdsJ´S�Jcfmp��ZC¸�i�«QZ>l ¨ ¡d���j��m|egm s�h��uzz Z>�JZ>zpc�su¢��jz|s�x�´dm hj��x>�uh+��Z�m|h�enlgs���i�x>ZL�&©$]Ah���{j{jlns�{jlnm �uegZ �vz ZL�J��m hj����m|Y[ZLh�cfm s�h�c �[su¢�egWjZ�Y��ueglnm x>ZLc § cgZ>Z�¸�¹�ywaNlgsJi�egm hjZm h�egZ>lg¢£��x>ZLc ¨ xL�uh xL�ui�cgZ�i�hjhjZLx>ZLcncg��lgbNegl���°�x�m|h egWjZ�Y[Z>Y[s�lnb+Wjm|ZLln��lnx�Wdb��uh�� �uh�ijh���Z>lni�cgZL� xL��x�WjZJ®�z|s�xL�uz��ulnln�Sb�c ��lgZenW�i�c5i�cfZK�¯ens�enZ>Y[{�s�l��ulnm|z b¯cvens�lnZDcgij��¥¦Y���eglnmpx�ZLcL© �^enWjZ>l�egZKx�Wjhjmpo�ijZLc5cgi�x�W��Jc�z|sds�{Nijhjlns�z z|m hj��¡&lgZL��mpcvenZ>l��jz|s�x�´dm hj��¡³�j�uen�{jlnZ�¢­Z>enx�W³¡�Z�enx�©u�ulnZ���z cgswi�cfZK�D��ZL{�ZLh���m hj��s�hDegWjZ�Y���x�Wjm hjZJ©�yAz zdegW�ZLcgZ�enZLx�Wjh�m o�ijZKc���lgZ�x�sJh�eglns�z z|ZK���db�Y[�Jx�Wjm hjZ�¥ ��Z>{�Z>h���Z>h�e{���ln��Y[Z�egZLlncL©� h � 2�¹³��¹�= G "�m¬e²W���c-��ZLZ>h cgWjs�ªCh+egW���eDz Z>�JZ>z

3¸�¹µywa lgsJi�egm hjZLcDx>��h Z�°�x�m Z>h�egz b���Z$m|Y[{jz Z>Y[Z>h�enZL� sJhjz|b+ªCm|egW enWjZ

GEMMz Z>�JZ>z

3¸�¹�ywa-lgsJi�egm hjZ���h��²�C¢­Z>ª z|ZL��ZLz

2¸�¹µy�a�lns�i�enm|hjZKc>©��jsJl�{�s�lgen���jm z|m|evb�{jijln{�s�cfZJ¡u��c�ª�ZLz|zj�Jc³¢­sJlPcfm Y[{jz|mpx�m|evb�¡ª�Z�{jlnZ�¢­Z>lAegs����js�{�e^cgi�x�W±�u{j{jlnsJ�Jx�W³©P·�Z ªCm|z z&enW�i�cA��ZLx>s�Y[{�sJcgZ5egWjZ cg{��ul�cgZ�Y��ueglnm¬}d¥¦��ZLx�egsJl�{�lgs���i�x�e^x�sJlglnZLcg{�sJh���m hj�Degs

M2LsJ{�ZLln�uegsJl m|h cfZL��Z>l��uz

ZGEMV�jz s�x�´N{jlns���i�x�enc m h+egW�Z�Y[sJcfe-Z�°�x>m|ZLhJeDª��SbJ©

ZGEMVlns�i�enm|h�Z�m c-i�cgZL� WjZLlgZcgm|h�x�Z�ª�Z^eglnZL��eC� Y��ueglnm¬}d¥¦��ZLx�egsJlr{jlnsd�ji�xeK¡���i�eCm|h�cfZKxegm s�h § >�© º ¨ ª�Z�ªCm z|z&cgZ>Z^W�s�ª3egs²i�cfZwY���eglnm|}�¥¦Y���enlgm|}�{jlgs���i�xencL¡d�uh��

ZGEMMlns�i�enm|h�Z�ªCm|z z&egW�Z>h���Z i�cgZL�±��cCm h � 2�¹³��¹�= G "¦©�yAz z³enWjZ sJ{�egm Y[m �K��egm s�h�cClgZKx>��z|z ZL���u��s���Z5ªCm z|z³��Z i�cgZL�±��i�eAz|Z>¢ e�JcrY-i�x�W���c¶{�s�cgcgm|��z|ZCens�egW�Z^ijh��jZ>lnz|bdm hj� § ��h���Y���x�W�m|hjZw��Z>{�Z>h��jZ>h�e ¨ ZGEMV

�ZGEMM

¸�¹µy�a[lgsJi�egm hjZ^xL�uz z|ZK�&©?·NZ{�s�m h�e5sJi�e5hjs�ª s�hjZ²m Y²{�s�lgen��h�ew¢£�JxeL®wm|h�s�i�lwm Y[{jz|ZLY[Z>h�en�uegm s�h�s�¢regW�Z[�?_¯_�¡&ª�Z[�ulnZ ¢­lnZ>Z²m|h�egWjZ[Y[Z>Y[sJlgb�cfegs�l��u�JZ su¢enWjZD��z|s�x�´�c^s�¢TM2L

cgm|h�x>Z-m|enc5x�sJh�cfeglni�xenm|sJh¯m c�{jlnZLx>s�Y[{ji�enZL�¯�ue�ZK��x�W�z Z>�JZ>z?su¢PenWjZDs�x�eglnZ>Z²m|h�egWjZ[��s�ªChdª���ln��{��Jcgcwsu¢enWjZ²�?_¯_�©�V�WjZLlgZ>¢­s�lnZ�¡�Y²s�cve�su¢r{jlns���z|ZLY[cAegW��ue���lgmpcfZ-ªCWjZ>h�x>s�h�cgmp��Z>lnm|h���egWjZDz|ZK����m hj���jm|Y[Z>h�cfm s�h¯s�¢¶��Y���enlgm|}�ªCm|z z���Zm lglnZ>z Z>����hJe ªCm|egW s�ijl ��z|s�x�´�c>©�_�sJlgZLs���ZLlL¡³ª�Z��uzpcgs�lgZKx>�uz zrenW���e-egWjZ�����z|ijZKc s�¢P��lgZ�z m|Y[m|egZK�&®[m|h {jl���x�egmpx�Z�enWjZ>b�su¢ enZ>hl��uhj�JZA¢­lns�Y

3¢­s�l�z s�ª {jlnZLx�mpcgm|sJh�egs

15¢­s�l�Wjm|�JW${�lgZKx�mpcfm s�h³©�·�Z5xL�uh�egWjZLlgZ>¢­s�lnZ^hjs�e�m h�x�z i���Z�ens�s²Y��uhdb�������m¬enm|sJh��uz �LZ>lnsJcm h±egWjZD�jz sdx�´���ZLx>s�Y[{�sJcgm¬enm|sJh�s�¢?egWjZ

M2Legl��uh�cf¢­Z>lAY��ueglnm¬}�ªCm¬enW�cfm hj�Jz|Z�WjZLm|�JW�eA´�Z>lnhjZLzµcfm h�x>Z Z>�JZ>lnb$������m¬enm|sJh��uz�x�sJcfeAmpc��Y²{�z|m|¤�ZL���db�enWjZ���ZLlgb�W�m|�JW$hdijYD��ZLlCsu¢?i�cfZKc�su¢�egWjZ

M2LsJ{�ZLln�uegs�lC��h���ZKcf{�ZLx>m ��z|z b�x>sJcfegz b�¢­s�lCz s�ª ���uz ijZKc�su¢

¸�Z�¢­sJlgZ�{jlnZLcgZ>h�egm hj�wegWjZ�enWjlnZ>Z��jz sdx�´ �jZLx�sJY[{�s�cfm|egm s�h�c?i�cfZK�&¡uª�Z�¤�lncfePZ�}�{�s�cfZ�egW�ZCijh���ZLlgz bdm|hj�5cfeglni�xenijlgZ�s�¢TM2L©�ywccgij���JZLcfegZK�$m h�m|encClnZ>{jlnZLcgZ>h�e���egm s�h���m ��ZLh±m|h § >�© < ¨ ¡�egWjmpcAY���enlgm|}�xL�uh±m h±¢£��xew��Z �dm Z>ª�ZL�±��c^� �fx>s�h�xL��egZLh���enm|sJh �ws�¢PcgZ>�JZ>l��uzcgij��¥¦Y���eglnmpx�ZLcC�jZ>hjs�egZL����c

BI1,I2

©

O , Á �R�3�>�L�� ���� �� ½�Á DTM2L

� �jsJl^�uz z(I1, I2) ∈ J0, P K2

¡�z|Z>eBI1,I2

��ZLhjsuenZLcA�[Y���enlgm|}±su¢Pcfm �>Z(I1 + 1)× (2I2 + 1)��Z>¤�hjZK�$�dbQ®

BI1,I2(i1, i2) = O−i1+I2−i2I1+I2

∀(i1, i2) ∈ J0, I1K× J0, 2I2K.

��s�lA�[��s�i��jz|Z5WjZLm|�JW�eA´�Z>lnhjZLz�enWjZTM2L

Y��ueglnm¬}�ª�s�i�z �$W��S��ZwegW�Z5¢­s�z z|s�ªCm hj�[�jz sdx�´$cvenlgi�x�egijlnZ�®

TM2L =

B0,0 B0,1 . . . B0,P

B1,0 B1,1 . . . B1,P

©©© ©©© ©©© ©©©BP,0 BP,1 . . . BP,P

.

����V����

Page 42: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 ºU=

adm h�x>Z�ª�Z���ZK�uz&WjZLlgZ5ªCm|egW�cfm hj�Jz|Z5WjZLm|�JWJeC´JZ>lnhjZ>zH¡degWjZ���z|s�x�´BI1,I2

m c^x�s�h�cfmp��Z>lnZL��egs����uh�m cgW�¢­sJlI1 + I2 > P

©��s�lP = 2

ª�Z5W��S�JZ^enWdi�c>®TM2L =

B0,0 B0,1 B0,2

B1,0 B1,1 03×5

B2,0 05×3 05×5

§ >�© º ¨

ªCWjZLlgZ0M×N

��ZLhjsuenZLc�egW�Z�h�i�z|z³Y��ueglnm¬}�s�¢�cgm �LZM ×N

©� e�x>��h ��Z�hjsuenm x>ZL��egW��ueDªCWjZLh x�sJh�cgm ��ZLlgm hj���¯�jz|s�x�´ ��ZKx�s�Y[{�sJcgm¬enm|sJh�su¢CenWjZ�Y-ijz|egm {�sJz|Z���ZKxens�l ensds�¡Pª�Z�s��jen�um h �cgm|Y[{jz Z��jz s�x�´�{jlns���i�xe �JZ>l�cfm s�hNsu¢M2Ls�{�Z>l���ens�l�¢­s�l-cgm hj��z Z[WjZ>m ��W�e ´�ZLlgh�Z>zH© � h���Z>ZK��ªCWjZ>h ��ZLhjsuenm|hj���db

vMI

¢­sJl �uz zI ∈ J0, P K

enWjZ5¢­s�z z s�ªCm|hj�²��ZKxens�l�su¢Pcfm �>Z2I + 1

®vM

I (i) = M i−II ∀i ∈ J0, 2IK,

ª�Z�W��S��Z § ¢­sJlP = 2 ¨ ®

vM =

vM0

vM1

vM2

��h��&®TM2L . vM =

B0,0vM0 + B0,1v

M1 + B0,2v

M2

B1,0vM0 + B1,1v

M1

B2,0vM0

.

¸�ZLxL�ui�cgZ5su¢?egW�Z���lnZL��enz|b$��m¬«QZ>lnZ>h�ewcgm �>ZLcAsu¢�egWjZ ��z|s�x�´�cBI1,I2

¡jenWjmpc^cgm|Y[{jz Z��jz sdx�´���ZLx>s�Y[{�sJcgm¬enm|sJh³¡jªCm|egW�s�h�Z ¸�¹�ywaxL�uz z §ZGEMV

lns�i�enm|h�Z ¨ ¢­sJl�ZL�Jx�W {jlnsd�ji�xe���Z�evª�Z>ZLh 2�jz s�x�´�c>¡�ª�s�ijzp�3Wjs�ª�Z>��ZLl�hjs�e�z|ZK���1ens egWjZN��ZKcve�Z�°�x�m Z>h�x�b�©V�WjZLlgZ>¢­s�lnZ5ª�Z5{jlnZLcgZ>h�eChjs�ª

3{�sJcncfm �jz Z���ZLx>s�Y[{�s�cfm|egm s�h�c�egW��ueCxL�uh±��Z�Z�°�x�m Z>h�egz b�x>s�Y-��m|hjZK��ªCm|egW�¸�¹µy�a�x>�uz zpc>©

�?� 8 �

� ,£�j�� ½ � Á � L Á �H9£�H9 Á 8�� �wijl�¤�l�cfe^��ZLx>s�Y[{�s�cfm|egm s�h�mpcAcvenlgmpxenz|b�����cgZL��s�h$egW�Z ijh���ZLlgz bdm|h��[cfeglni�x�egijlnZ5su¢TM2L�JcwZ>}�{�s�cfZK��m|h § >�© º ¨ ®wegWjmpc5cvenlgi�x�egijlnZ²z|sds�´�cwz|m ´�ZDij{�cgm �jZ�¥ ��s�ªChNcfen��m|l�c>¡QZK��x�W�cfegZL{�W��S�dm hj�$����m|«�ZLlgZLhJe�cgm �LZ § WjZ>m ��W�e��uh����ZL{�egW ¨ ©¶��s�lCZL�Jx�W�cfegZL{�x>s�lnlgZKcf{�s�h��jc�s�hjZ�cgm|hj�Jz|Z �\���$��©V�WjZ�¤�l�cve$x�W�s�mpx�Z�ens x�sJh�cfmp��ZLl�mpc�ens cf{�z|m|e

TM2Lm h �\��������Z>m|egWjZLl�m h egWjZNlgs�ª § s�l�W�s�lnm �Ls�h�en��z ¨ ��m lnZLxenm|sJh s�l$m|henWjZ�x�sJz|ijY[h § sJl���Z>lgegmpx>��z ¨ ��m lgZKxenm|sJh³© �wi�l�Y[�ueglnm x>ZLc5�ulnZ[cvens�lnZL�N��b¯x>s�z ijY[h�c�¢­s�l ¸�¹�ywaNx>�uz zpc>¡³��i�e-cfm h�x>Z²ª�Z[i�cgZDenWjZenln��h�cf{�sJcgZL��egl��uh�cf¢­Z>lwY[�ueglnm¬} § cfZLZ-m hJenlgs���i�xegm s�h�su¢¶cgZLxenm|sJh >�© � ¨ ¡QegWjmpc^sJhjZ-mpc�cvens�lnZL���db±lgs�ªAcL©wV�Wdi�cwm|e�cgZ>Z>Y�c���ew¤�lncfe��Z�egegZ>l�ens$x�sJh�cgm ��ZLl �\���$� �Am h¯enWjZ-lns�ª ��m|lnZLx�egm s�h³©5_�sJlgZLs���Z>lK¡ �\���$� �Am h�egW�ZDlns�ª ��m|lnZLx�egm s�h¯m Y[{�s�cfZKcwcgZ>�JZ>l��uz&enln�S�JZ>l�cg��z cs�¢µegW�ZwYDijz¬enm|{�s�z Z5Z�}�{���h�cfm s�h���ZLx�egsJl § s�hjZw¢­s�l�ZL�Jx�W �\���$� ¨ �u���um h�cve�s�h�Zwcgm|hj�Jz|Zwegl��S��ZLlncn�uz�su¢³enWjZ5z|s�xL�uz�Z�}�{��uh�cfm s�h��JZLx�egs�lK©� h¯s�egWjZLlwª�s�l��jcL¡�ªCm|egW��\�-��� �Am h�enWjZ-lns�ª ��m|lnZLx�egm s�h³¡�egW�Z-lnZLcgijz¬enm|h����jz sdx�´�cwsu¢?egW�ZDz s�x>�uz���ZKxegsJlw��lgZ i�{��j�uegZK��s�hjZ²��¢ enZ>lenWjZ�suenWjZ>lK¡�ªCWjZ>lnZL�Jc�egWjZ�x�s�lnlnZLcg{�sJh���m hj������en�±s�¢�egWjZ�YDijz|egm {�sJz|Z��JZLx�egs�l�Y��SbN��Z�lnZ>z sJ�J��ZL�+cgZ>�JZ>l��uz?egm Y[ZLcD��ijlnm|hj�±enWjZ�jz s�x�´¯Y���enlgm|}d¥H�JZLxens�l�{jlnsd�ji�xeK© �whNegWjZ[s�egWjZLl�W��uh��&¡��\�������^m h�enWjZ�x�sJz|ijY[h+��m lgZKxegm s�hNm|Y[{�sJcgZLc�cgZ>�JZ>l��uz�egl��S��Z>l�cn�uzpcAsu¢enWjZ�z sdxL�uzPZ>}d{��uh�cgm|sJhN�JZLx�egs�l����J�um h�cfe ��cgm hj��z Z�s�hjZ[sJhNenWjZ�Y-i�z¬enm|{�s�z Z�Z�}�{���h�cfm s�h���ZKxens�lK©�adm|h�x�Z[egW�Z�z|s�x>��zPZ�}�{���h�cfm s�h�JZLxens�l�m c¶egl��S��ZLlncgZL�²¢­sJl�i�{��j�uegm hj� § mH© ZJ©P��s�egW�lnZL�J��m hj�D��h���ªClnm¬enm|hj� ¨ ��h���enWjZ�Y-ijz|egm {�sJz|Z�Z�}�{���h�cgm|sJh���ZKxegsJlr¢­sJl�lnZL�J��m|h���¡m|eAm cAY²sJlgZ5Z>°�x>m|ZLh�e�ens�i�cgZ �\�-��� ��m|h�enWjZ�lgs�ª ��m|lnZLx�egm s�h³©V�WjZLlgZ�mpc

P + 1�\����������h���egW�Z�¤�l�cve^sJhjZ�mpcCegWdi�cAegWjZDx�s�h�x>��enZ>h��uegm s�h�su¢P�jz s�x�´dc

B0,0, B0,1 . . . B0,P¡�egWjZ-cgZLx>s�h��sJhjZ�egWjZAx>s�h�xL��egZLh���enm|sJh-s�¢��jz s�x�´�c

B1,0, B1,1 . . . B1,P−1¡��uh��Dcgs5s�h²ijh�egm z�egWjZCzp��cfe��\������ªCW�m x�W[x�sJlglnZLcg{�sJh��jcµegs��jz s�x�´

BP,0s�hjz b § cgZ>Z5¤���ijlnZ >�© < ¨ ©(¶�Jx�W��\���$�-mpcwegWjZLhNcfegsJlgZK�¯cfZL{��ul���enZ>z b���h���enlgZK��enZL��ªCm|egW�s�hjZ²x>��z|z�egs

ZGEMVlgsJi�egm hjZJ©�·�Z[cvens�lnZ egW�Z �\���$� �dblns�ªAcA�uh��$i�cfZ m|encAegl��uh�cg{�sJcgZ5¢­s�lCenWjZ-¸�¹µy�a±x>�uz zH©�V�W�Z z|ZK����m hj����m Y[Z>h�cgm s�h�mpcCWjZ>lnZ�enWjZ WjZLm|�JWJewsu¢?egWjZ � �-���u© � e�x>�uh���Zhjs�egZK�-enW���e¶egWjZ�¤�l�cfe � �-����z ZL�J�jc?ens ��cgm Y²{�z|Z^�jsuer{jlns���i�xerªCW�m|z Z�egWjZ^z �Jcve �\���$��z|ZK���jcPegs �5{�s�m hJeg¥HªCmpcgZ�{�lgs���i�x�er��Z>evª�ZLZ>h

2�JZLxens�l�c>®���suegW���s[hjs�eAsu«QZ>lAcgij��cfen��hJenm ��z&cf{�Z>ZK��ij{³©�whjZ�s��d�dm s�i�c¶{jlgsJ�jz Z>Y ªCm|egW±cfi�x�W$��ZLx>s�Y[{�s�cfm|egm s�h$m c�enW���eK¡j��c

P��lns�ªAc>¡�egWjZ�¤�l�cfe �\���$� �¶��lgZwegsds enWjm h���h���ens�s²z s�hj�ªCWjm z Z�egWjZ-z �JcveAsJhjZLcA��lgZ5ensds[egWjmpx�´���h��$egsds�cgWjs�lgeL©�V�WjmpcC{jlnZ>��ZLh�enc�enWjZ-¸�¹µy�a�lns�ijegm hjZ�egs[¢­i�z|z b��jZLx�sJY[{�s�cfZ�m h�egZ>lnh���z|z benWjZ^�Jm|�JZ>h �\�����A��x>x>s�l���m hj��egs�enWjZ^Wjm Z>l��ul�x�Wjmpx>��z�Y²ZLY[s�lnb-su¢QenWjZ^x�sJY[{ji�egZLlL©�·�ZAªCm|z z�egWdi�cPenlgb-egs i�cfZ �\�-��� �?ªCm|egW�Wjm ��W�Z>l

�fWjZ>m ��W�e � § mH© Z�©P��lnZL�uegZLl�hdijYD��ZLlCsu¢?lgs�ªAc ¨ m|h±s�l���ZLl�ens[lgZLz �u}�egWjZKcfZ�x>s�h�cfegl��um h�enc�s�h$egW�Z ¸�¹�ywa�Z�°�x�m Z>h�x�b�©����� 8 Â

� ,£���w ½ � Á � L Á �H9£�H9 Á 8�� � h � 2�¹³��¹ = G "H¡Senlgmp�uh���ijzp�ul³Y��ueglnm¬}d¥¦Y[�ueglnm¬}5{jlns���i�xe?ª���c³{�Z>lg¢­s�lnY[ZL��ªCm|egWZGEMMlns�i�enm|h�ZLcCenW��uh�´dcAegs���ZLx>s�Y[{�s�cfm|egm s�h�s�¢?egWjZ-eglnm ��hj��ijzp�ul^Y[�ueglnm¬}±m h �fcfeglnm|{�c �©AV�WjZLcgZ-cfeglnm|{�c^x�sJijzp����Z-��Z>lgegmpx>��z|z b�s�lAWjsJlgm|¥

�Ls�h�en��z|z b�s�lnm Z>h�egZK��z ZL�J��m|h��[egs�lnZLcg{�ZKxegm ��ZLz|b��jz|s�x�´�x>s�z ijY[h�cCsJlC�jz|s�x�´�lns�ªAcL©rV�WjZ x�Wjs�mpx�Z5��Z�evª�Z>ZLh$enWjZLcgZ2s�lnm Z>h�en�uegm s�h�cYDi�cveP¢£�S�Js�l�egW�ZCs�hjZ�enW���erY[m hjm|Y[m �>ZKc?egWjZChdijYD��ZLlrsu¢�ij{Q�j��enm|hj��c § mH© Z�©?��s�egW[ªClnm¬enm|hj��cP�uh��²lnZL�J��m|h��Jc ¨ s�¢Q�j�uen�5�u���um h�cfe�enWjZhdijYD��ZLl¶su¢QlnZL���jm|hj��c>©�y^c¶Y²ZLh�egm s�hjZK�[{��u�JZ�º =�egWjmpcrmpcPlnZL��z|m �>ZK�Dm h�s�i�l¶x>�JcfZCªCm|egW�cfeglnm|{�cPm|h[enWjZAWjsJlgm �>sJh�en�uzj�jm|lnZLx�egm s�h § mH© ZJ©�jz s�x�´[lgs�ªAc ¨ ©�·NZ5�ulnZCenW�i�c¶z Z�¢ e�ªCm¬enW$�D��ZLx>s�Y[{�s�cfm|egm s�h�s�¢ TM2L

m|h�Wjs�lnm �Ls�h�en��z�cfeglnm|{�c¶ªCWjs�cfZ �vWjZLm|�JW�e��^mpc�x>i�cvens�Y[m �L�u��z|ZV�VXW-Y�Z'[\Z^]

Page 43: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

>�� ���������^��!�

��m ��i�lgZ�>�© < ® �\���$��

�>; � ����ZLx>s�Y[{�s�cfm|egm s�h$¢­s�lP = 5®�egWjZ ��m|«QZ>lnZ>h�eA��l��Sb����uz ijZLcCcgWjs�ª enWjZ ��m|«�ZLlgZLhJe �\�-��� �©

�jijewx�sJh�cve��uh�e^�uY[sJhj���uz zµcvenlgm {�cL©¶·�Z h���Y²Z cgi�x�W�cfeglnm|{ : � �-����¢­sJl �gx�s�h�cve��uh�e � �-��� ��m h±lgZ>¢­Z>lnZ>h�x>Z5egs[enWjZ �\���$� ��i�cfZK��m|henWjZ �\������

� ; �����jZLx�sJY[{�s�cfm|egm s�h³¡j��h���egWjZLm|l^x>s�Y[Y[s�h�WjZ>m ��W�eCmpc�WjZ>lnZL�u¢ egZ>lCh��uY[ZL�dimcband

©· WjZLh�� : �\�����²x>s���Z>l�cL¡�¢­i�z|z b¯s�l5{���lfenz|bJ¡

2x�s�h�cfZKx�i�enm|�JZ �\���$� � § ��c���Z>¤�hjZK�¯¢­sJl �\�-���

�>; � �5��ZLx>s�Y[{�sJcgm¬enm|sJh ¨ ¡ �LZ>lnsJcW��S�JZ²egs±��Z��J�j��ZK�N�ue�enWjZ�Z>h���s�¢�enWjZ�z|s�ª�Z>l �\���$�[cfs�egW���e�egW�Z²ªCmp�denW�s�¢�enWjZ<: �\�-���[ZKoJi��uzpc^enWjZ�ªCmp�degW+su¢�egWjZ�i�{j{�ZLl�\���$��©�·�Z�W��S�JZ[egWdi�c m Y[{jz Z>Y[Z>h�egZK� ����Z�efenZ>l : �\���$�

�>; � ����ZLlncgm s�h³¡���c-x>s�h�¤�lgY[ZL���db�{�ZLlf¢­sJlgY��uh�x�Z[egZKcve�c>¡�egW���eDcg´dm|{enWjZLcgZ �>Z>lnsJc¶�db�i�cfm hj�Devª�s[¸�¹µy�a�x>��z|zpcL®�sJhjZw¢­s�l�egWjZ : � �-���wªCm|egW�ªCm �denW$ZKo�i��uz�egsDegWjZ5z s�ª�ZLl �\�-�����uh��$�uhjs�egWjZLl�sJhjZw¢­s�lenWjZwlnZ>Y���m|hjm hj�-����en�-��e¶enWjZ�Z>h���s�¢&egWjZ�ij{j{�Z>l �\���$��©?· WjZ>h�� : �\�����^x�s��JZ>l�c3sJl¶Y[s�lnZ �\���$� �¡ds�hjz b²egWjZ �>ZLlgs�cP��Z>evª�ZLZ>henWjZ²¤�lncfe �uh��¯egWjZ�cgZLx>s�h�� � �-���²�ulnZ[cf´dm {j{�ZK�&®wegWjmpc5Z>z m|Y[m h���enZLc5Y[sJcfe5su¢ �LZ>lnsJcwªCWjm z|Z��S��sJm �jm|hj�$hdijY[Z>lns�i�c�¸�¹µywaNx>��z|zpcªCm|egW�¢­Z>ª s�{�Z>l���enm|sJh�cL©

V�WjZ�i�{j{�ZLlf¥¦lnm|�JWJe��jz s�x�´¯su¢TM2L¡�h��uY[Z>z b�egW�Z��jz sdx�´

B0,PªCWjsJcgZ[WjZ>m ��W�e mpc

1¡��uh��NegW�Z�z|s�ª�Z>lg¥Hz Z�¢ e��jz s�x�´

BP,0¡ªCWjs�cfZ5ªCmp�degW±mpc

1¡j��lgZ�enlgZK��egZK�$cgZ>{��ul���egZLz|bQ®�egWjZLb�ª�s�ijzp�$m|h��jZ>ZL�±cgij{j{jz b�ens�s�Y���h�b �LZ>lnsJc�s�egWjZLlgªCmpcfZJ©

V�Wjmpc�mpcClgZL{jlnZLcgZ>h�egZK��m h$¤���ijlnZ�>�© �d©

c

c

������������������������������������������������������������������������

��m ��ijlnZ�>�© ��® : �\�-����

�>; � ����ZLx>s�Y[{�sJcgm¬enm|sJh�¢­s�lP = 5®?egWjZ���m|«�ZLlgZLh�e��Jln�Sb[���uz ijZKcCcfWjs�ª egWjZ ��m|«QZ>lnZ>h�e : �\���$� �©

c��Z>h�suegZKcenWjZ

dimcbandWjZLm|�JWJe��uh��²enWjZ^������m¬enm|sJh��uz��>ZLlgs�cr�ulnZC{jmpxegi�lgZK�[ªCm¬enW�cvenlgm {�ZLcL©?V�W�ZAij{j{�Z>lg¥Hlnm ��W�er�jz sdx�´[�uh��²egWjZwz|s�ª�Z>lg¥Hz Z�¢ e�jz s�x�´��ulnZ�eglnZL�uegZL��cgZ>{���ln�uegZ>z b�©

ywc�¢­sJl �\���$��

�>; � �$�jZLx�sJY[{�s�cfm|egm s�h³¡ : �\���$� ����lgZ�cfegsJlgZK� cgZ>{���ln�uegZ>z b�¡CªCm|egW ��z ZL�J��m|h�� ��m Y[Z>h�cgm|sJh ZLo�i���z^ens�enWjZ>m lx>s�h�cfen��hJeCWjZLm|�JW�eL¡j�uh���enlgZK��enZL����c�egl��uh�cf{�sJcgZL��¢­s�lZGEMV

lns�ijegm hjZ�©�whjZ²��l��SªC����x�´$su¢*: �\�����

� ; ���^��ZLx>s�Y[{�sJcgm¬enm|sJh¯m c^egW���e5ªCm¬enW�Wjm ��Wdimcband

ª�Z-m h�eglns���i�x�Z²cfsJY[Z-i�cgZ>z ZLcnc �LZ>lnsJc^m|henWjZ-x�sJY[{ji�en�uegm s�h³¡�ªCWjm z|Z�ªCm|egW¯cgY��uz zdimcband

ª�Z�W��S�JZ�egWjm h¯�uh��±z s�h���lgZKxen��hj��i�z ��l���z|s�x�´�c>©�V�W���e�� cAªCW�bJ¡���ZL{�ZLh���m hj�sJhP��h���s�h�egWjZ�Y���x�Wjm hjZwi�cfZK�&¡degW�Zwlnm|�JW�e����uz ijZA¢­sJl�egWjZ�WjZ>m ��W�e�su¢µsJijl : �\���$� �¶W��S�JZCegs²��ZwsJ��en��m|hjZK��Z>}d{�Z>lnm Y²ZLh�en�uz z b�©

� , Á �R��

� ,£�j�+ ½ � Á �ML Á �:9­�:9 Á 8�� �wijlDzp��cfe���ZLx>s�Y[{�s�cfm|egm s�h m cD����cgZL� s�h enWjZ�ijh���ZLlgz bdm|hj��cvenlgi�xegi�lgZ$su¢TM2L

ªCm|egWcgm|h���z Z-WjZLm|�JWJe�´�ZLlghjZLzµm Y[{�s�cfZK���dbOk

j = 0¡ ∀j > O

©5V�Wjmpcwcfeglni�x�egijlnZDxL�uh¯m h�¢£��x�e���ZDx>s�h�cgmp��Z>lnZL�¯�JcAlnZLx>ijlncgm ��Z�©w_�s�lnZ{jlnZLx>m cgZ>z b�¡�ª�Z^hjs�ª ��ZLhjsuenZTM2L

�JcT0,0 [P ]

ªCW�Z>lnZTI1,I2 [P ]

¡0 ≤ I1 ≤ P

¡0 ≤ I2 ≤ P

¡���Z>hjs�egZKcrenWjZ^Y���enlgm|}�su¢�cgm �>Z����V����

Page 44: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 > <

(P+1)(P+2)2 × (P + 1)2

��Z�¤�hjZL���dbQ®

TI1,I2 [P ] =

BI1,I2 BI1,I2+1 . . . BI1,P−(I1+1) BI1,P−I1

BI1+1,I2 BI1+1,I2+1 . . . BI1+1,P−(I1+1) 0

©©© ©©© ©©© ©©© ©©©BP−(I2+1),I2 BP−(I2+1),I2+1 . . . 0 0

BP−I2,I2 0 . . . 0 0

.

· WjZLhI1 + I2 ≤ P

egWjmpcCY���enlgm|}�mpcC��Z>h�cfZJ®Pª�Z�egW�Z>lnZ�¢­s�lnZ���Z>h�suegZ5m|eA�dbDI1,I2 [P ]

©r_¯s�lnZw{jlnZLx>m cgZ>z bQ®

DI1,I2 [P ] =

BI1,I2 BI1,I2+1 . . . BI1,P

BI1+1,I2 BI1+1,I2+1 . . . BI1+1,P

©©© ©©© ©©© ©©©BP,I2 BP,I2+1 . . . BP,P

.

·�Z�W��S��Z�hjs�ª egWjZ5¢­sJz|z s�ªCm|h��²lnZLx>ijl�cfm ��Z���ZLx>s�Y[{�s�cfm|egm s�h$¢­s�l0 ≤ I1 ≤ P

¡0 ≤ I2 ≤ P

®� ¢­s�lCs��j�����uz ijZLc�s�¢ P = 2Q + 1

®

TI1,I2 [P ] = TI1,I2 [2Q + 1] =

[DI1,I2 [Q] TI1 ,I2+Q+1 [Q]

TI1+Q+1,I2 [Q] 0

],

§ >�© > ¨� ¢­s�lCZL��Z>h����uz ijZLc�s�¢ P = 2Q

®

TI1,I2 [P ] = TI1,I2 [2Q] =

[DI1,I2 [Q] TI1,I2+Q+1 [Q− 1]

TI1+Q+1,I2 [Q− 1] 0

].

·�Z�x>�uh�egWjZLh�¢­ijlfenWjZ>lC��ZKx�sJY²{�sJcgZTI1 ,I2+Q+1 [. . .]

�uh��TI1+Q+1,I2 [. . .]

¡�ªCW�m x�W±�ulnZwcg{��ul�cgZwY���enlgmpx�ZKc�egsds�¡dijh�egm zµ�enZ>lnY²m h���zµx>�JcfZ5��Z�enZ>lnY[m|hjZK����b�egWjZ����uz ijZ�s�¢Q©��s�lCZ�}j��Y²{�z|ZJ¡�z|Z>e � cAx�sJh�cfmp��ZLl

P = 3¡�ª�Z5W��S�JZ�®

TM2L = T0,0 [3] = T0,0 [2× 1 + 1] =

O00 O1

1 O01 O−1

1 O22 O1

2 O02 O−1

2 O−22 O3

3 O23 O1

3 O03 O−1

3 O−23 O−3

3

O01 O1

2 O02 O−1

2 O23 O1

3 O03 O−1

3 O−23 0 0 0 0 0 0 0

O−11 O0

2 O−12 O−2

2 O13 O0

3 O−13 O−2

3 O−33 0 0 0 0 0 0 0

O02 O1

3 O03 O−1

3 0 0 0 0 0 0 0 0 0 0 0 0

O−12 O0

3 O−13 O−2

3 0 0 0 0 0 0 0 0 0 0 0 0

O−22 O−1

3 O−23 O−3

3 0 0 0 0 0 0 0 0 0 0 0 0

O03 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

O−13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

O−23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

O−33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

ªCWjmpx�W±x>�uh±��Z���ZLx>s�Y[{�s�cfZK��¢­sJz|z s�ªCm hj� § >�© > ¨ m h D0,0 [1]®

D0,0 [1] =

O00 O1

1 O01 O−1

1

O01 O1

2 O02 O−1

2

O−11 O0

2 O−12 O−2

2

,

��h���m hT0,2 [1]

�uh��T2,0 [1]

®

T0,2 [1] =

O22 O1

2 O02 O−1

2 O−22 O3

3 O23 O1

3 O03 O−1

3 O−23 O−3

3

O23 O1

3 O03 O−1

3 O−23 0 0 0 0 0 0 0

O13 O0

3 O−13 O−2

3 O−33 0 0 0 0 0 0 0

V�VXW-Y�Z'[\Z^]

Page 45: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

>d� ���������^��!�

T2,0 [1] =

O02 O1

3 O03 O−1

3

O−12 O0

3 O−13 O−2

3

O−22 O−1

3 O−23 O−3

3

O03 0 0 0

O−13 0 0 0

O−23 0 0 0

O−33 0 0 0

.

V�WjZ �J�����uh�en����ZKc¶s�¢�enWjm c^��ZLx>s�Y[{�s�cfm|egm s�h�mpc�egW��ueAª�Z�i�cgZ���c�YDi�x�W���c�{�s�cgcgm �jz|Z �jZ>h�cgZ5Y[�ueglnm x>ZLc § mU© Z�©DI1,I2 ¨ ªCW�m x�W��lgZ Z>°�x�m Z>h�egz b�enlgZK��enZL�±�db

ZGEMVlns�i�enm|h�Z�©C·�ZD��s�h�sue^z m|Y[m|e^enWjZD¸�¹µy�a±Z�°�x>m|ZLh�x�b��db�enWjZ-WjZLm|�JW�e^su¢PenWjZ �\���$� �Jcm h±egWjZ � �-���

�>; ���C�jZLx�sJY[{�s�cfm|egm s�h³¡��uh��±ª�Z ��s�hjs�e^x�sJY²{�i�egZ i�cfZLz|ZKcgc��LZ>lnsJcC�JcCm|h±enWjZ : �\������

� ; ���Cs�hjZJ©�V�WjZ egZ>lnY[m|h��uzxL��cgZ5��lgZ�enWjZ>h�eglnZL�uegZK�$�Jc�m|h �\���$��

� ; � �©� eCW��Jc¶ensD��Z5hjsuenZL��egW���h�enWjZ5lgZKx�ijl�cfm ��Zwx>�uz zQs�h�egWjZ�cgij��¥¦Y[�ueglnm¬} �fs�h�egWjZ�lnm|�JWJe �wmpc�{�Z>lg¢­s�lnY[ZL����Z>¢­s�lnZ^enWjZ5lgZKx�ijl�cfm ��ZxL�uz z&s�h$egWjZ�cgij��¥¦Y[�ueglnm¬} �f��Z>z s�ª ��®�egW�m c�z ZL�J�jc�m|h��jZ>ZL��egs[z ZLcnc�egl��S��ZLlncn�uzpcrsJh�enWjZ5z|s�x>��zQ��ZLx�egsJl § ¢­s�lClnZL�J��m|h��²��h���ªClnm¬enm|h�� ¨enW��uh±s�h$egW�Z�Y-ijz|egm {�sJz|Z��JZLx�egs�l § ¢­s�lAlnZL�J��m|h�� ¨ ��c�m h�{��u��Z�º =�©

� ��� � �� �3��� ���

y Y[�ueglnm¬}d¥¦��ZKxegsJlP{jlnsd�ji�xe¶lnZLo�ijm lnZLc O(N2)Y[Z>Y[sJlgb²cvens�l��u��Z § cfij{�{�s�cfm hj�-� cno�i��ulnZCY���enlgm|} ¨ lgZLz �uegm ��Z�egs O(N2)

s�{�Z>l���¥enm|sJh�x>s�ijh�eL©radm h�x>Z^enWjZ�x�s�Y[{jijen��enm|sJh�cg{�ZLZL�$su¢µY[s���Z>lnh�{�lgs�x�ZKcgcgs�l�cPmpc�Y-i�x�W�¢£��cfegZ>l�enW��uh�egWjZLm|l�Y[Z>Y[s�lnb�����h���ªCmp�degW³¡�m|empcA�JZ>hjZLln��z|z b�hjs�eA{�s�cgcgm|��z|Z5ens�x�sJhJenm|hdijsJi�cgz|b�cgij{j{�z|b$egWjZ 6 sJ�uegm hj�[{�sJm|h�e^Z>}dZKx�i�enm|sJh±ijhjm|encAªCm|egW±enWjZ hjZLZL��ZK���j��e��j®PenWjZLcgZZ>}dZKx�i�enm|sJhNi�hjm¬e�c5lgZLY��um h¯egW�Z>h�lgZL��ijzp�ulnz|b±mp��z Z²ª��um|egm hj�$¢­s�l��j�uen�$egs���Z[z sJ�J��ZL�¯¢­lgsJY�z|s�ª9z|ZL��Z>zPxL��x�WjZKcwsJlwY���m|h�Y[Z>Y²¥sJlgbJ©�q�ZLlf¢­sJlgY���h�x�ZDsu¢¶z Z>�JZ>z2¸�¹µy�a�mpcwegWjZLlgZ>¢­s�lnZ-z m|Y[m|egZL�N�db±egWjZ²l���egZ²su¢��j��e���Y[s���ZLY²ZLh�e^egW�lgsJij��W�egWjZ²Wjm Z>l��ul�x�Wjm xL�uzY[Z>Y[sJlgbJ¡J�uh��[z|ZL��Z>z

2¸�¹µy�a[��s hjs�e¶��ZLhjZ>l��uz z|bDlgZK��x�W²{�ZK�u´²{�ZLlf¢­sJlgY���h�x�ZJ© �wh[enWjZ^x�sJh�egl��ulnb�¡���Y��ueglnm¬}d¥¦Y[�ueglnm¬}-{�lgs���i�x�elnZLo�ijm lgZKc O(N2)

Y²ZLY[s�lnb�cfegsJln����Z § cfij{�{�s�cfm hj��enWjZ²Y[�ueglnm x>ZLcw�ulnZDcnoJi��ulnZ ¨ lnZ>zp��enm|�JZ�egs O(N3)s�{�Z>l���enm|sJh¯x�sJijh�eL© � ewmpchjs�ª3ZK��cgm|ZLlPegs s��JZ>lnz ��{[Y²ZLY[s�lnb-zp��egZLh�x�b²ªCm|egW�x>s�Y[{ji�e���egm s�h�s�¢QegWjZ 6 sJ�uegm hj� {�s�m hJe�Z�}�ZLx>i�egm s�h�ijh�m¬e�c>¡��uh��²egWdi�cPens lnZL��x�W{�ZL��´�{�Z>lg¢­s�lnY[��h�x�Z²su¢�egW�Z�{jlgs�x>ZLcncfsJlL©[_�s�lnZ[{jlnZLx�mpcgZ>z b¯�±�jz|s�x�´dm hj�$z Z>�JZ>zrmpc5m hJenlgs���i�x�ZL�Nm hNenWjZ�z s�sJ{�c�egW���e-x�sJY[{ji�egZKcenWjZ Y���enlgm|}d¥HY���enlgm|}${�lgs���i�x�e

C ← AT .B¡�ªCWjmpx�W¯x�s�lnlnZLcg{�sJh��jc�egs��[��z|s�x�´���Z>l�cgm|sJh$s�¢�enWjZ {jlns���i�xeK®���z|z�x�s�Y[{jijen��enm|sJh�cm hd��s�z �dm|h�� s�hjZ^��m ��Z>h���z|s�x�´[su¢

A�ulnZCegWdi�c�{�ZLlf¢­sJlgY[ZK����Z>¢­s�lnZAz sJ���jm|hj� egWjZwhjZ>ª �jz s�x�´[su¢

A©PV�Wjmpc�xL��x�WjZ^lgZLi�cfZ^{jlgZL��ZLhJe�cYDijz¬enm|{�s�z Z5z|s����jc¶¢­s�lC�j�uen�Dsu¢

AenW���e�ª�sJijzp���ulnmpcfZwm|h$egWjZ5hjsJh�¥¦�jz|s�x�´[��ZLlncgm s�h�su¢�egWjZ�{jlns���i�xeK©P·NZ�ªCm z|zQenWjZ>lnZ�¢­sJlgZ^eglnb[egs�JlgsJij{$YDijz|egm {jz|Z

M2LsJ{�ZLln�uegm s�h�c�m h�sJhjZ�cfm hj�Jz|Z5s�{�Z>l���enm|sJh�enW���eAª�s�i�z ��x�sJlglnZLcg{�sJh���ens��DY��ueglnm¬}d¥¦Y[�ueglnm¬}�{�lgs���i�x�eL©

� ijlnm|hj��egWjZ���s�ªChdª���ln�+{���cnc>¡P��e[�¯�Jm|�JZ>h z Z>��ZLz�s�¢CegWjZ�s�xenlgZLZ�¡P�uz zM2Ls�{�Z>l���enm|sJh�c�enW���e²W��S��Z�enWjZ±cg��Y²Z

M2L�JZLxens�lw��Z>evª�ZLZ>h�enWjZ²x>Z>h�egZLlws�¢PegWjZ[cgs�ijl�x�Z-x>Z>z z § x�sJhJe��um hjm hj��egW�ZDYDijz¬enm|{�s�z Z-Z>}�{��uh�cgm s�h ¨ �uh��±enWjZ[x�Z>h�enZ>l^s�¢PegWjZDen��lg�JZ�ex>Z>z z § x�sJh�en�um hjm hj� enWjZ5z|s�xL�uz�Z�}�{��uh�cfm s�h ¨ cgW��ulnZAenWjZ�cn�uY[Z �wi�egZLl¶¢­i�h�xenm|sJh�c § mH© ZJ© Okj ¨ �uh���egWdi�c�egW�Z5cn�uY[Z M2L

enln��h�cv¢­ZLlY���enlgm|}&© · WjZ>h x>s�h�cgmp��Z>lnm|h�����z|zA{��um lnc²su¢5Y-i�z¬enm|{�s�z Z �Nz|s�xL�uzCZ�}�{���h�cgm|sJh�cDegW��ue�cfW���lgZ�enWjZ¯cg��Y[ZM2L�JZLx�egs�lK¡¶m|e�mpcenW�i�cC{�s�cgcgm �jz|Z�ens�x�s�h�x>��enZ>h��uegZ5�uz z&egW�Z>m lCY-ijz|egm {�sJz|Z�Z>}�{��uh�cgm s�h���ZLx�egsJlnc���cCx>s�z ijY[h�c�su¢?s�h�Z5cgm hj��z Z ��; �� "��0; & & �^"������^�����

(����^���MM ¡��uzpcfs�h���Y[ZL�� ��; *� "��0; & (����^���J©�V�WjZ-z|s�x>��z³Z�}�{���h�cgm|sJh$�JZLxens�l�cC�ulnZ �uzpcfs�x>s�h�xL��egZLh���enZL�±��xLx�sJln��m hj�Degs�enWjZcn�uY[Z�s�l���Z>l¶egsD¢­s�lnY sJhjZwcgm hj��z Z ; �&:\�0; & �'"1�-�1�^����� (����^���

ML ¡j�uzpcgs h��uY[ZK�<; �#:\�0; (����^����©PV�WjZ�Y���enlgm|}d¥HY���enlgm|}[{jlgs���i�xeML = TM2L . MM x�sJY²{�i�egZKc�egWjZLh+egWjZ�x>s�lnlgZKcf{�s�h��jm|hj� M2L

s�{�Z>l���enm|sJh�c5�uz z¶��e�s�h�x�Z���c �jZLcnx�lnm|��ZL�Nm|h�¤��JijlnZ >�© º�©� e�W��JcDegs+��Z±hjs�egmpx�ZK��enW���e[egW�Z±x>s�z ijY[h1cfegsJln����Z$su¢wsJijl[Y���eglnmpx�ZLcD¢­sJl[egWjZ�¸�¹µy�a xL�uz z c²mpc�x�z ZL�ulnz b����j��{�egZK� ¢­s�l[enWjZx>s�h�xL��egZLh���enm|sJh$s�¢��JZLxens�l�c���c�Y���enlgm|}$x�sJz|i�Y²h�c>©��m lncfeL¡&ª�ZDªCm z zPlgsJij��Wjz b�x�sJh�cfmp��ZLl^enW���e�egWjZ[��ZLcfe�Z�°�x�m Z>h�x>b�m c�sJ��en��m|hjZK�¯ªCm|egW�z|ZL��ZLz

3¸�¹µy�a�ªCWjZLh�enWjZDY��u}dm Y-i�YhdijYD��ZLl�s�¢-Y-i�z¬enm|{�s�z Z � z|s�xL�uz�Z�}�{��uh�cfm s�h�c��ulnZNx>s�h�xL��enZ>h��uegZL� ZL��x�W egm Y²Z § cgZ>Z+cgZLxenm|sJh >�© ºj© º ¢­sJl$lnZ>�dmpcfm s�h�c�su¢-egWjmpc�JcgcgZ>lgegm s�h ¨ © � h+enWjZ�¢­sJz|z s�ªCm hj��¡�ª�Z�ªCm z zregWdi�cDcfZLZ�Wjs�ª egs�x>s�h�xL��enZ>h��uegZ[egW�Z�Y���}�m|YDijY#h�i�Y-��Z>l-s�¢CY-ijz|egm {�sJz|Z ��z|s�xL�uzZ>}d{��uh�cgm|sJh�c5¢­sJl-s�h�Z���m ��Z>h

M2Lenln��h�cf¢­Z>l Y���enlgm|}&¡���h��+ª�Z�ªCm|z zrenWjZ>h {jlgZKcfZLh�e�egWjZ$m|Y[{jz Z>Y[Z>h�e���egm s�h s�¢�egWjmpc Y���enlgm|}d¥Y���enlgm|}�{jlns���i�x�eCegW���hj´�c�egs[z|ZL��ZLz3¸�¹�ywa$x>��z|zpc>©

· WjZLh��JlgsJij{jm hj��Z>}d{��uh�cgm|sJh�c^�Jx>x>s�l���m|h���egsM2L�JZLx�egs�l�cAs�¢regW�Z²m h�egZLln�Jxegm s�h�z|mpcveK¡&ª�Z²�uzpcfs$W��S��Z-egs$en��´�ZD�Jx>x>s�ijh�eenW���e5cfsJY²Z x>Z>z z cw��s�hjs�ewW��S�JZ ��x�sJY[{jz|Z>egZ m h�egZLln�Jxegm s�h±z m cfeL®�ªCm|egW�¢­lnZ>Z>¥¦cg{���x>Z���sJijh��j��lgb�x�sJh���m|egm s�h�c § �?¸ * ¨ ¡�ªCWjZ>lnZ �uz zenWjZwcg{���x>ZCs�i�e�cfmp��ZAs�¢QegWjZ�x�s�Y[{jijen��enm|sJh��uz���sS}[m c�x�sJh�cfmp��ZLlgZK�²�JcrZLY²{jevb�¡JegWjmpc¶x>s�h�x>Z>lnh�c?egW�Z �f��sJln��ZLlrx�ZLz|zpc �Am h�ZL�Jx�W�z|ZL��Z>zH¡enW���eCmpc¶ens²cn�Sb²egWjZ�x>Z>z z c�z sdxL��enZL���ue�enWjZ���sJijh��j��lgm ZLc�su¢µegWjZ5x�sJY²{�i�en�uegm s�h���z���sS}&© � h�s�l���ZLl¶ensDZK��cgZAegW�Z>m lAx�s�Y[{jijen��enm|sJh³¡��h��[¢­s�l�Z�°�x>m|ZLh�x�b[{jijln{�sJcgZ�¡JegWjZKcfZ5x�ZLz|zpcrªCm|egW$m|h�x>s�Y[{jz Z�enZwm h�egZ>l���x�egm s�h�z m cfe���lgZwx�s�Y[{jijegZL�$cfZL{��ul���enZ>z b-ªCWjZLh�i�cgm hj�-z Z>�JZ>z

3¸�¹µy�a�¢­sJl

M2Lx�sJY²{jijen��enm|sJh³© � h$egWjZ xL��cgZ�s�¢�q?ZLlgm s���m x5¸�s�i�h��j�ulnb * s�h���m¬enm|sJh�c § q�¸ * ¨ ¡�ªCWjZLlgZ�enWjZ x�sJY²{�i�en�uegm s�h���z��sS}�mpc�{�ZLlgm s���mpx>�uz z b¯lgZL{jz m xL��egZK��m h�ZL��x�W+��m Y[Z>h�cgm|sJh³¡���z|zrx>Z>z z c�¡µ��e ZK��x�W�z|ZL��Z>zH¡³W��S�JZ²��x>s�Y[{jz Z�enZ²m h�egZLln�Jxegm s�h�z m cfe �uh��cgi�x�W���m|«�ZLlgZLhJenm �uegm s�h�m c�m lnlgZLz|ZL�S��h�eL©

����V����

Page 46: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 >Jº

���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

=

��m ��ijlnZ >�© ºj® * sJh�x>�uegZ>h���egm s�h�su¢?Y-i�z¬enm|{�s�z Z �uh���z s�x>�uzµZ�}�{��uh�cfm s�h�c�m h�s�l���Z>l�ens�i�cfZ�z Z>�JZ>z3¸�¹µy�aQ©�V�W�Z�m|h�egZLln�Jxenm|sJh$z m cfes�¢�enWjZ�x>Z>z z¶m h ��l��Sb¯m c-Y��uln´�ZL�NªCm|egW cfeglnm|{�ZLcL© (¶��x�W s�¢�m|enc

M2Ls�{�Z>l���enm|sJh�c5m cDx�sJY²{�i�egZK�+WjZ>lnZ�ªCm|egW

3suenWjZ>l

M2LsJ{�ZLln�uegm s�h�cL¡�enW���e�cfW��ulnZAegW�Zwcn�uY[ZM2L��ZLx�egsJlL¡�m|h$s�hjZwcfm hj��z Z^Y��ueglnm¬}d¥¦Y[�ueglnm¬}[{jlns���i�xeK®�egWjZ5x�sJlglnZLcg{�sJh���m hj��Y-i�z¬enm|{�s�z Z��h��1z|s�x>��zC��ZKxegsJlnc[��lgZ$egWjZLlgZ>¢­s�lnZ�x�s�h�x>��enZ>h��uegZK� m h sJhjZ�Y-i�z¬enm|{�s�z Z�Y���eglnm|} �uh�� m h1sJhjZ±z|s�xL�uzCY���enlgm|}&¡���suenW ªCm|egW

4x>s�z ijY[h�c>©rV�W�Zwenln��h�cf¢­Z>lCY���enlgm|}�lnZ>{jlnZLcgZ>h�egZK��WjZLlgZ5mpc�¢­s�lA�[cgm|h���z Z�W�Z>m ��W�eC´�Z>lnhjZLzU©E � I ��5 � Á � L µ�:9 8 � �:N ½ , Á ��� , ½ L?� 8 �:9 Á 8 � Á DA� ½ , ,£� À 9­�:N 9 8 � Á �ML�, ½ � ½ 9 8 � ½ ���j�u�:9 Á 8 ,�9U�>�· m|egW�¢­lnZ>Z>¥¦cg{��Jx�Z���s�ijh����ulnb$x�sJh���m|egm s�h�cL¡�enWjZ �gx�ZLz|zpcCªCm|egW¯m h�x�sJY[{jz|Z>egZ m h�egZLln�Jxegm s�h�z m cfe��-�ulnZ �uz z³enWjZ-x>Z>z z c^ªCWjsJcgZ�{��ulnZ>h�eW��S�JZ���eCz|ZK��cfeCs�hjZ5hjZLm|�JW���s�l�enW���eAmpc�s�ijencgm ��Z�s�¢µenWjZ�s�xeglnZ>ZJ©radZ>Z5¢­sJlCZ�}j�uY[{jz Z�¤���ijlnZ�>�© >j©

�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

����������������������������������������������������������������������������������������������������������������������������

���������������������������������������������������������������������������������������������������

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

��m ��ijlnZ�>�© >�® * Z>z zpc�ªCm|egW²m h�x�sJY²{�z|Z>egZ�m|h�egZLln�Jxenm|sJh z|mpcfe § ªCm¬enW²cfeglnm {�ZKc ¨ ¢­s�lP��oJi����denlgZLZ�s�¢�WjZ>m ��W�e 3 ��h��-�wª�Z>z z¬¥ cfZL{��ul���enZ>hjZKcgcx>lgm|egZLlgm s�hws = 1

©� hDs�l���Z>lµegsweglnZL��e?�uz z�egWjZ

M2LsJ{�ZLln�uegm s�h�cµ¢­s�l�egWjZ�z sdxL�uz�Z�}�{���h�cfm s�h�cµs�¢�cfi�x�W-x�ZLz|zpc>¡�ª�Z¶i�cfZ��& :\� "���&'�µs�¢jegWjZ�Y-i�z¬enm|{�s�z Z��h��+z|s�xL�uzrZ>}d{��uh�cgm|sJh+��ZLx�egsJlncL© * sJh�x�lnZ�enZ>z b�¡³enWjZ�x>ijlglnZ>h�e z s�x>�uz¶Z�}�{��uh�cfm s�h�c-�ulnZ�x�s�{�m|ZK�Nm h+egW�Z�x�sJz|ijY[h�c-su¢�egW�Z�z|s�xL�uzY���enlgm|}&¡�egW�Z�x>s�lnlgZKcf{�s�h���m|h��AY-ijz|egm {�s�z Z�Z>}�{��uh�cgm s�h�c?�ulnZ�x>s�{jm ZL�Dm h-enWjZCx�s�z ijY[h�c�su¢�egWjZ�YDijz¬enm|{�s�z Z�Y���eglnm|}Q¡u��h���enWjZ

M2Lx>s�Y[{ji�e���egm s�h�mpc�{�ZLlf¢­sJlgY[ZL�$��cL®ML ← TM2L . MM + ML ©rV�WjZ�x>s�z ijY[h�c�su¢�egWjZ5z sdxL�uz&Y���enlgm|}��ulnZwegWjZLh�� & :\�\"���&\�m h�egWjZ�sJlgm ��m h��uz�z sdxL�uzPZ>}d{��uh�cgm|sJh�cL© � e x�sJijzp��W��S�JZ[��ZLZ>h�{�s�cgcgm|��z|Z²egs±i�cgZ��$h�i�z|zrz s�x>��zPY[�ueglnm¬}���h���egs¯�����¯enWjZ�lgZKcfi�z¬eens[egWjZ z s�x>��z³Z�}�{���h�cfm s�h�c>¡��jije^s�h±Y[s���Z>lnh±{jlgs�x>ZLcncfsJl�cgi�x�W���c�q?s�ª�Z>lnq * sJl � yC¥ �-> § � en�uh�m|ijY ¨ enWjZ�¢­i�cgZL��YDijz¬enm|{�z|b�¥ ���j�m h�cfeglni�xenm|sJh § �?_¯y-¡ds�l���_�y � � ¨ ��z|z s�ªAc¶x>s�Y[{ji�e���egm s�h�su¢ c = a.b + c

m|h�egWjZ5cn�uY[Z^hdijYD��ZLl�s�¢µx�b�x�z ZLc���cc = a.b

©P·NZenWjZ>lnZ�¢­sJlgZ5{jlnZ�¢­ZLl2x>s�{jm ZLcC���J��m|h�cfe

1¤�z z m|hj��ªCm|egW �LZ>lnsJc�{jz i�c

1���j�jm¬enm|sJh³©��s�l¶�5�Jm|�JZ>h[ª�ZLz|z|¥ cfZL{��ul���enZ>hjZKcgc?x�lnm|egZ>lnm s�h

ws§ cfZLZ^cgZLxenm|sJh < © < ¨ ¡JegW�Z M2L

��ZKxens�l�c?su¢�egWjZAm h�egZLln�Jxegm s�h[z m cfe¶s�¢&�5�Jm|�JZ>hx>Z>z z³�ulnZw��Z>egZ>lnY[m|h�ZL���Jx>x>s�l���m|h���egs²egW�Z � "1& � +3:\/F�?; ��s�¢³egWjZ�x>Z>z zU® � "1& � +3: / �?; �5��ZKcgx>lgm ��ZKc�WjZ>lnZAenWjZ5z|s�x>�uegm s�h�s�¢µenWjZ�x>Z>z zx>Z>h�egZLl�lnZ>zp��enm|�JZ>z b-ens egW�Z�x>Z>h�egZLl�s�¢³m¬e�c¶¢£�uegWjZLlL© � h3D¡�egWjZ�Z>m ��W�e��jm¬«QZ>lnZ>h�e � "�&.� +3:\/F�?; ���ulnZ�®?¸ � ¹¶¡�¸�]w¹r¡d¸ � ~�¡�¸�]^~ ¡� � ¹r¡?��]w¹r¡?� � ~�¡?�?]^~�¡�ªCm|egW ��¡?¸w¡�] ¡ � ¡?¹r¡�~ x�sJlglnZLcg{�sJh���m hj��lnZLcg{�ZKxegm ��ZLz|b�egs �g�jlns�h�e ��¡ �f¸��Jx�´ �¡ �g]A{ ��¡ � � s�ªCh �¡

�g¹³Z>¢ e��w�uh�� �f~Am|�JWJe ��©PV�ª�sD��m¬«QZ>lnZ>h�e� � "�&^� � + : / �?; ��cfW��ulnZ^cfsJY[ZM2L�JZLx�egs�l�cL©�adsJY²Z

M2L�JZLxens�l�c¶��lgZ^��z cgs-cgW��ulnZL�[�db��z|z�egWjZ. � "�&^��� +�:\/F�?; �u®?¢­s�lrZ>}j�uY[{jz Z�¡�ªCm¬enW

ws = 1¡���Y[s�hj�5enWjZ

189 M2L��ZLx�egsJlnc?s�¢�enWjZ^m h�egZLln�Jxegm s�h[z m cfe

53−33 = 98��lgZ�x�sJY[Y²sJh�ens��uz z � "�&'�.� + : / �?; ��©· WjZLh��JlgsJij{jm hj�

M2Ls�{�Z>l���egm s�h�c^��xLx�sJln��m hj��ens�enWjZ

M2L��ZKxens�lK¡�ª�Z enlgZK��e

M2L�JZLxens�l�cAsJhjZD�u¢ egZ>l�enWjZDs�egWjZLlL©V�ª�s�z sds�{�c^�ulnZ5egWdi�cAh�Z>ZL�jZL�&®�s�hjZ�¢­sJlCegW�ZC � "�& � + : / �?; �-��h��±�uhjs�egWjZLlAs�h�Z5¢­s�lAenWjZ

M2L�JZLxens�lK© VM2L

��Z>h�suegm hj��enWjZcgZ�eCsu¢��uz z�{�sJcncgm|�jz ZM2L�JZLx�egs�l�cL¡ TC

egW�Z�cgZ�eCsu¢��uz z³��m¬«QZ>lnZ>h�e� � "�&'� � + : / �?; �5�uh��TM2L(v)

enWjZM2Lenln��h�cv¢­ZLl�Y[�ueglnm¬}x>s�lnlgZKcf{�s�h��jm|hj�Degs²enWjZ

M2L��ZKxegsJl

v¡�enWjZ5¤�l�cveC{�sJcncfm �jm z|m|evb�mpc>®

V�VXW-Y�Z'[\Z^]

Page 47: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

> > ���������^��!�

� ∀ v ∈ VM2L�����

� ∀ t ∈ T C � �������� ������������������������� � �� ����������� �� �"! � ����������� ML #� � �� ������� � �������$ ��������$���"%�&������$ �����!� � ���������$� MM #'�������

� ���(��'��% ML = TM2L. MM #� � �� ��*) ���+, ��-�������� �� �*!� � ������� � �� .����/��������*���� 0���21 #'���*����3y^h��$egWjZ cgZLx>s�h��${�s�cgcgm �jm|z m|evb�m cL®

� ∀ t ∈ T C�����

� ∀ v ∈ VM2L � ��������� �����������������14������ � �� ����������� �� �"! � ����������� ML #� � �� ������� � �������$ ��������$���"%�&������$ �����!� � ���������$� MM #� ����(�����% ML = TM2L. MM #� � �� ��") ���+ ���� � �'������ ������������0��� �� �*!� � ������� #'�������

'���*����3V�WjZ-h�i�Y-��Z>lAs�¢ � & :\�\"���&'��mpc�enWjZDcn�uY[Z�m h���s�egW�{�sJcncfm �jm z|m|egm ZLcL¡��jije^m|h±enWjZ�¤�l�cfe^s�hjZ5enWjZ hdijYD��ZLl^su¢?��ZKxens�l�c�eglnZL�uegZL�{�Z>l�Y���enlgm|}d¥HY���enlgm|}D{�lgs���i�x�e�mpc�Wjm|�JWjZ>l�egW��uh�m h�enWjZ�cgZLx>s�h��[sJhjZ�© � h��jZ>ZL��m|h�egWjZw¤�l�cve��uz ��s�lnm|egWjY±¡J¢­s�l�ZL��x�W

M2L��ZKxens�lenWjZ>lnZAmpcrs�h�z|b²s�hjZ^z|ZL��Z>z

3¸�¹µywa[xL�uz zjenW���e�x>s�Y[{ji�enZLc��uz zjegW�ZAz|s�xL�uz��JZLx�egs�l�cPx�sJh�x�ZLlgh�ZL�²�db-enWjm c

M2L��ZKxegsJlL¡Jhjs�Y���egegZ>lenWjZ. � "1&�� +*: / �?; �Cs�¢QegWjZ^x>Z>z z�egW�Z>b²��ZLz|sJhj�5egs�©�· WjZLlgZK��cPm h[egW�Z^cfZKx�sJh��D��z|�Js�lnm¬enWjY±¡u¢­sJlPs�hjZ

M2L�JZLx�egs�l?enWjZ>lnZCmpc

8z|ZL��ZLz

3¸�¹µy�a�xL�uz z cL®wsJhjZD¢­s�l�ZL�Jx�W � "1& � +�:\/F�?; �u©�adm|h�x�Z²egWjZ�cg{�ZLZL��i�{�sJ��en��m|h�ZL�¯ªCm|egW�enWjZ[i�cfZ[s�¢�z Z>��ZLz

3¸�¹µy�a¯m h�x>lgZK��cgZLcªCm|egW�egW�Z�h�i�Y-��Z>l5su¢���ZKxegsJlnc^eglnZL�uegZK�&¡³ª�Z²{�lgZ>¢­Z>l5egs±i�cgZ²egWjZ²¤�l�cfe���z|�Js�lnm¬enWjY±©²_¯s�lnZ>s���ZLlAenWjZ[¤�l�cve �uz ��sJlgm|egW�Y��uz z|s�ªAcenWjZDlnZ>i�cfZ s�¢regW�ZDcn�uY[Z-Y[Z>Y[sJlgb±�ulnZL�[ens$cgi�x>x>ZLcncfm ��ZLz|b�cvens�lnZD��z|z?��m|«�ZLlgZLhJe

M2Lenln��h�cv¢­ZLl^Y���enlgmpx�ZKc>®�enWjZ>lnZ-mpc^h�s�hjZLZL�ens�´�Z>ZL{��ue�egWjZ cn�uY[Z�egm Y[Z�m|h±Y[Z>Y[s�lnb���z|zQenWjZ

M2Legl��uh�cf¢­Z>lCY���enlgmpx�ZKc>©� e^xL�uh���Z�hjs�egZK��enW���eCenWjZ cg��Y[Z5��z|�Js�lnm¬enWjY�x>s�ijzp����Z�i�cgZL��¢­s�lA��h±�J�j�u{jegm ��Z���Z>l�cgm|sJh�su¢�egW�Z ��_�_ � * �5~ G G "H©

E � I � ? � Á � L µ�:9 8 � �:N ½ , Á ��� , ½ L?� 8 �:9 Á 8 � Á DA� ½ , ,£� À 9­�:N1� Á �ML�, ½ � ½ 9 8 � ½ ���j���H9 Á 8 ,�9U�>�y^z|z³x>Z>z z c�ªCm|egW±x�sJY²{�z|Z>egZ�m|h�egZLln�Jxenm|sJh�z m cfeCW��S��Z^egWjZ�cn�uY[Zwm h�egZLln�Jxegm s�h$z|mpcfeCcgm �>Z�¡���h�����z|z³x>Z>z z c�su¢�egWjZ�cn�uY[Z� � "�&�� + :\/F�?; �cgW��ulnZ Z>}��Jxenz|b�egWjZ²cg��Y²Z

M2L��ZKxegsJlncL©CV�WjmpcAlnZ>��i�z ��lgm|evb$��z|z s�ªAcCª�Z>z z�cgijm¬enZL����z|�Js�lnm¬enWjY�c>©�·�Z egWdi�c�cfegi���b

2��m|«�ZLlgZLh�eY[Z�enWjs��jc�ens�x�s�h�x>��enZ>h��uegZ�m|h±{jl���x�egmpx�Z5s�i�l�YDijz|egm {�sJz|Z �Dz s�x>�uz&Z>}�{��uh�cgm s�h��JZLx�egs�l�cL®

� � cfm Y[{jz Z¯s�hjZ±enW���e��uz ª��Sb�c[i�cgZLc � & :\�\"���&'�[m h s�l���ZLl�egs+enlgZK��e��uz|egsJ��Z>egWjZLl�egWjZ�Y[�u}�m|YDijY hdijYD��ZLl�su¢5{���m|l�c�su¢Y-ijz|egm {�s�z Z �Sz s�x>��z&Z�}�{��uh�cfm s�h�c�5� �uhjs�egWjZLl^sJhjZ-enW���e5�S��sJm �jcAegWjZ[������m¬enm|sJh��uz?x�s�cve�su¢ � & :\�\"���&'�CegW���hj´�cAens��$cf{�ZLx>m ��z � �� � �\ ��� ��� &�su¢rs�i�lwYDijz¬enm|{�s�z Z�uh��$z sdxL�uz³�JZLx�egs�l�cL©�V�WjmpcCm Y[{jz|m ZLc^���flnZL�ulnl��uhj�JZ>Y[Z>h�e��As�¢�enWjZ cvens�l��u�JZwm h±Y²ZLY[s�lnb�su¢�egWjZKcfZ5�JZLxens�l�c>®�enWjm cAm cC��sJhjZ��Z>¢­s�lnZ²egWjZ��js�ªCh�ª��ul��¯{���cnc>©�V�WjZ�YDijz|egm {�sJz|Z���h���z s�x>��zr��ZKxegsJlnc5xL�uh+��Z�cfegsJlgZK��lns�ª9�db¯lns�ª�¡µcgz|mpx�Z��db�cgz m x>Z�s�lZ>�JZ>h+¢­s�l-egWjZ$ªCWjs�z Z�z Z>�JZ>zH¡?�ji�eDm|eDm Y[{jz m|ZKc § Z�}jx�ZL{�e-¢­sJl ��5= cvens�l��u�JZ ¨ egW�Z�i�cgZ>z ZLcnc-x>s�Y[{ji�e���egm s�h s�¢^cfsJY[Z�z|s�xL�uzZ�}�{���h�cfm s�h�c���Z>z s�h���m hj�²egs[ªCW���eAª�Z5ªCm|z z³h���Y[Z �>; �-��� �\���F&^�©� eAW��Jc�egs[��Z�hjsuenZL�$egW��ueC¢­s�lCz Z>�JZ>zpc�z s�ª�Z>l�s�lCZKoJi��uzQegs

2enWjZ>lnZ5m cCh�s[x>Z>z z c�ªCm|egW�x>s�Y[{jz Z�egZ�m h�egZLln�Jxegm s�h$z|mpcfeL©

Rµ� N ½ � ½�À 9­�:N � ½ � Á L�9 ½ � � y^c�m h � + � =J�."H¡�ª�Z�x�sJh�cfmp��ZLl�sJhjZM2L�JZLxens�lC��¢ enZ>l�egW�Z�s�egWjZLlL¡���h���¢­sJl�ZL��x�W$ª�Z�x>s�{db��uz zx>s�lnlgZKcf{�s�h��jm|hj��{��um lncPs�¢³Y-ijz|egm {�s�z Z ��z s�x>�uz���ZKxegsJlncrm|h�enWjZ^YDijz|egm {�sJz|Z��uh��[z s�x>�uz�Y���eglnmpx�ZLc��uh��²enWjZ>h�{�ZLlf¢­sJlgY s�h�Z^cfm hj�Jz|ZY���enlgm|}d¥HY��ueglnm¬}�{jlns���i�x�eL©rV�WjZLlgZ5mpc�egWjlnZ>Z5{�sJcncfm �jm z|m|egm ZLcL®

� � � ∀ t ∈ T C�����

� � �� �� ������ �� �"! � ����������� ML #� ∀ v ∈ VM2L � �������$ ��������$�������614������ � �� ������� � ������� ������������"%�&��'���� �����!� � ���'������� MM #� ���(�����% ML = TM2L. MM #'���*���

� � �� ��") ���+� ��"������� �� �"!� � ������� #'�������738 � � ∀ v ∈ VM2L

������ ∀ t ∈ T C � ��������� ����������������9�:������ � �� �� ������ �� �"!� � ����������� ML #

����V����

Page 48: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 >��

� � �� ������� � ������� ������������"%�&��'���� �����!� � ���'������� MM #� ���(�����% ML = TM2L. MM #� � �� ��") ���+, ��*�� �� � !� � ���'��� #'���*���

'�������73� � � � �� �� ����� �' �*!� � ����������� ML #� ∀ v ∈ VM2L � �$%�% ������� ��91 ������������ �������� ���7�� � �� ������� � �������$ ��������$���"%�&������$ �����!� � ���������$� MM #� ���(�����%

ML = TM2L. MM #'�������

� � �� ��") ���+/ ��-�������� �� �*!� � ������� #� ∀ t ∈ T C�����

� � �� �� ������ �� �"! � ����������� ML #� ∀ v ∈ VM2L � �������$ ��������$�������61� ���"����� � � �$%% ���,��� ��91 ������������� ���������� ������ � �� ������� � ������� ������������"%�&��'���� �����!� � ���'������� MM #� ���(�����% ML = TM2L. MM #'���*���

� � �� ��") ���+� ����� �� �"!� � ������� #'�������73��s�l�egWjZ�z �Jcve��uz ��sJlgm|egWjY±¡�ª�ZwlgZKx>��z|z�egW��ueL¡j�uY[sJhj��egW�Z

189 M2L�JZLx�egs�l�crs�¢³egW�Z^m hJenZ>l���x�egm s�h�z m cfeL¡

98�ulnZ^x�sJY[Y²sJh�egs��z|z � "�&^�.� + :\/F�?; ��©�V�W�Z

91lnZ>Y���m|hjm hj���ulnZ�i�cfZK��m|h$egWjZ cgZLx>s�h��$z s�sJ{ § s�h

t ¨ su¢�egW�m c�zp��cfe^�uz ��sJlgm|egWjY±©V�WjZ$cfZKx�s�h�����z|�Js�lnm¬enWjY±¡�x>s�Y[{���lgZK��ens�egW�Z�¤�l�cve-sJhjZ�¡�W��Jc�egW�Z���l��SªC����x�´�ens¯{�Z>lg¢­s�lnY Y[s�lnZ�x�sJ{jm ZLc5¢­sJl�egWjZ$z|s�xL�uz�JZLxens�l�c-ªCW�m|z Z$W��S��m hj��enWjZ�cg��Y[Z�hdijY-��Z>l²su¢w��ZLx�egsJlnc eglnZL��enZL� ZL��x�W�egm Y²ZJ©�V�WjZ$egWjm ln� �uz ��sJlgm|egWjY±¡Px�sJY[{��ulnZL�+ens�enWjZ¤�l�cfews�h�Z�¡�{jlgZKcfZLh�encCenWjZD�J�����uh�en����Z�ens�enlgZK��e8egm Y²ZKc^Y[sJlgZ �JZLx�egs�l�c�¢­sJl

98 M2L��ZKxegsJlnc^s�i�ewsu¢

189©^¸�i�ewm|ewW���c^egWjZ��l��SªC���Jx�´ egsD{�ZLlf¢­sJlgY evªCmpx�ZAY[sJlgZ�x�s�{�m|ZKcP¢­s�l¶egWjZ�z sdxL�uz���ZLx�egsJlncregW���h�egWjZ^¤�l�cve��uz ��s�lnm|egWjY±©?_�s�lnZ>s��JZ>lK¡�ª�Zw��ZLz|m Z>�JZAegW���eenWjZ5h�i�Y-��Z>l�su¢µ�JZLx�egs�l�c¶eglnZL��enZL��m h$egWjZw¤�l�cveC�uz ��sJlgm|egWjY mpc��uz lgZK����b�cgi�°�x�m Z>h�e�ensD���um h�ZLhjs�ij�JW�Z�°�x>m|ZLh�x�b�ªCm|egW$egWjZ5z Z>�JZ>z

3¸�¹�ywaQ© � h���ZLZL�±¢­sJlw��z Z>�JZ>z

lªCm¬enW��?¸ * ¡�egW�Z>lnZ m cL¡�m|h¯ZK��x�W¯��m Y[Z>h�cgm s�h³¡

2l−1 − 2wsx>Z>z z c^su¢PegW�ZDcn�uY[ZC � "1&(� + :\/F�?; ���h��±ªCm¬enW�x�sJY[{jz|Z>egZ m h�egZLln�Jxegm s�h±z m cfeL©

(2l−1 − 2ws)3��ZKxens�l�cC�ulnZ5egWdi�c^eglnZL��enZL�±�uz z��ue^s�h�x�Z ªCm|egW±enWjZ ¤�l�cfe^�uz ��s�lnm|egWjY±¡ªCWjmpx�W�m c

2744¢­sJl�z Z>�JZ>z

5¡µ��h��¯mpcwegWjZLlgZ>¢­s�lnZDW�m|�JW�Z>h�s�ij�JW¯¢­s�l5Y[sJcfe5�S��z|i�ZLc�su¢

P©²V�W���e5mpcwªCWdb�ª�Z²x�W�s�s�cfZDegW�Z-¤�l�cfe��z|�Js�lnm¬enWjY±©

+^s�ª�ZL��Z>lPsJhjZ^��l��SªC���Jx�´ ªCm¬enW[egWjZ^¤�l�cve¶��z|�Js�lnm¬enWjY9mpcPenWjZ^hjZLZL�²ens ´�ZLZ>{[m|h�Y²ZLY[s�lnbD�uz zjenWjZM2Lenln��h�cf¢­Z>lrY���enlgmpx�ZKc��i�lgm hj�²egWjZ

M2Lx>s�Y[{ji�e���enm|sJh$s�¢��[z Z>��ZLzU©

$ÁdÀ Â����K� �L� Á �S� � ½ � V�WjZD¤�lncfew{�sJcncgm|�jm z m¬evb±m h�s�l���ZLlAegs��S��sJm � �& :\� "$��&^�Ampcwegs�x�WjsdsJcgZ s�hjZD��m ��ZLh���m Y²ZLh�cgm|sJh��uh���egscfegsJlgZ-x>s�h�cgZLx>i�egm ��ZLz|b$m|h�Y[ZLY²sJlgb��uz z³enWjZ-z s�x>�uz���ZKxegsJlnc�enW���e���ZLz|sJhj�[egs$x�Z>z zpcAsu¢PenWjZ-cn�uY[ZC � "1& � + :\/F�?; �D�uz s�hj������m ��Z>hlns�ª m h$enWjmpcA��m Y²ZLh�cgm|sJh § cfZLZw¤���ijlnZ�>�© � ¨ ©rV�WjmpcCmpcC��s�h�Zw¢­sJlCZL�Jx�W�lns�ª su¢�egWjZ�z Z>�JZ>zH¡j�uh���egW�Z cg��Y²Z5cfegs�l��u�JZwmpcC�uzpcgs²��sJhjZ¢­sJlwenWjZ²Y-ijz|egm {�sJz|Z²��ZKxens�l�c>©�\As�egZ²Wjs�ª�Z>��ZLlAenW���e�¢­s�l�z|s�xL�uz?Z�}�{���h�cfm s�h��JZLx�egs�l�cL¡�sJhjz b±x>Z>z z c�ªCm|egW�x�s�Y[{jz Z�enZDm h�egZLln�Jxegm s�hz m cfe[W��S��Z�enWjZ>m l[z|s�xL�uz�Z�}�{��uh�cfm s�h�c-lgZK�ulnln��hj��ZK��m h lns�ªAcL¡�ªCW�m|z Z�¢­sJl-enWjZ�Y-ijz|egm {�sJz|Z�Z�}�{���h�cgm|sJh�c�enWjZ$lnZL��lgl��uh���Z>Y[ZLhJe�mpc{�Z>lg¢­s�lnY[ZL�±¢­sJlw�uz z?x�Z>z zpc^s�¢PegWjZ²z|ZL��ZLzU®�egW�m cwm cw��ZLx>��i�cgZ-z sdxL�uz�Z�}�{��uh�cfm s�h�c^su¢¶x>Z>z z cwªCm¬enWNx>s�Y[{jz Z�egZDm|h�enZ>l���xenm|sJh�z|mpcfewY��SblnZLo�ijm lgZ5YDijz¬enm|{�s�z Z�Z�}�{���h�cgm|sJh�c�su¢�x>Z>z z cAªCm¬enW�m h�x>s�Y[{jz Z�egZ5m h�egZ>l���x�egm s�h�z|mpcfeL©· m|egW cgi�x�W�����en��cfegsJln����ZDª�Z�x>��h�xL�uz z¶��z|ZL��ZLz3¸�¹�ywaNlgsJi�egm hjZ�cfen�ulgegm hj�±��e�enWjZ�z|s�xL�uzP��ZKxens�l5su¢�egWjZ[¤�l�cfe-x�Z>z zPsu¢ZK��x�W�lns�ª�¡JªCm|egW�egWjZ5x�sJlglnZLcg{�s�h���m hj�

M2Legl��uh�cf¢­Z>l�Y���eglnm|}���h���enWjZ5x�s�lnlnZLcg{�sJh���m hj��Y-ijz|egm {�s�z Zw�JZLxens�lK©?a�m|h�x>Z^enWjZ�z|s�x>��z�JZLxens�l s�¢�egWjZ$hjZ�}deDx>Z>z z¶m h egWjZ�lgs�ª�¡�ªCWjmpx�W W���c cn�uY[Z � "�& � + :\/F�?; �u¡Pm cDx�sJh�cfZKx�i�enm|�JZ�m|h Y²ZLY[s�lnbN�uh��+��ZKx>�ui�cfZ�m|e-mpcenWjZDcn�uY[Z�¢­sJlCegWjZDY-ijz|egm {�s�z Z-��ZKxens�l�c>¡jª�Z-xL�uh�WjZLlgZ�i�cgZ z Z>�JZ>z

3¸�¹�ywa±ªCm|egW�z s�x>��z��uh��±Y-ijz|egm {�sJz|ZDY[�ueglnm x>ZLcAcfegsJlgZK����bx>s�z ijY[h�c>©· m|egW �?¸ * ¡¶��e�z Z>�JZ>z

l¡�egW�Z>lnZ�m c

8l−1 x>Z>z z c�s�¢��+�Jm|�JZ>h � "�& � +<: / �?; ��© �js�l�ZK��x�W � "�&�� +<:\/F�?; �u¡�egWjZ�YDijz¬enm|{�s�z ZZ>}d{��uh�cgm|sJh��JZLxens�l�cw��lgZDlgZK�ulnln��hj��ZK�±m|h(2l−1)2

lns�ªAc^s�¢�cgm �LZ2l−1 ©DV�WjZLlgZ²mpc (2l−1 − 2.ws)3

x�ZLz|zpc�su¢����Jm|�JZ>h � "�&C� +:\/F�?; �$ªCm|egW1x�s�Y[{jz Z�enZ$m h�egZLln�Jxegm s�h z mpcveK®�egWjZ$z|s�xL�uz�Z�}�{��uh�cfm s�h�cD�ulnZ�enW�i�c-lnZL��lgl��uhj�JZL�Nm|h

(2l−1 − 2.ws)2lns�ªAc su¢�cfm �>Z

2l−1 − 2.ws©rV�WjZ�hdijY-��Z>lCs�¢�z sdxL�uz&Z>}d{��uh�cgm|sJh�c�eglnZL�uegZK��m h$ZK��x�W�Y���eglnm|}�¥¦Y���enlgm|}�{jlnsd�ji�xeAmpc�egWjZLlgZ>¢­s�lnZ�®

2l−1 − 2.ws©

$½ � ����� E � I�� �^� �-��U&)�. � �! " ; &) &)�� 0/1&���0= �^ ���� � &'��=�&�/1��%�& � � &�� �>; & � ���U&)���� + � � ���$� �): :\&'�\�� � 0/1& :\���� &)��� + � ��� �,:\&>;?;�0/1�-����� � !/�& :\�H�-����!�$�� &^� � + �!��3: &)�� &)� � �$/F� ��� ��&)��� �>; &\� �!� � � ���! " ; &) &)�� �������� 0/1�-����� � !/�&�2 ���^ ����-��U&)�^�!� � � �)& &.�)& :'������ � �� � �-���C!/ � ��� ���5; �)�C�& ��� �!�&\� � �(� ; � :\& �-����; &'%�& ; �^ �-���� &^� �R ,�9U� ½ Â����L���>� Á ��� � ½ � V�WjZ�Y[��m|h���l��SªC���Jx�´�s�¢�enWjZ ��5=��j�uen�5cfegs�l��u�JZ¶mpc?egW���e?egWjZChdijYD��ZLlrsu¢�z|s�xL�uz���ZKxens�l�c�x>s�Y[{ji�enZL�ZK��x�W�enm|Y[Z5Y[m|�JWJe���Z�o�ijm|egZ5cfY���z|z�¢­s�l�egW�Z^¤�l�cfe�z Z>��ZLz c�s�¢&egWjZ5s�xenlgZLZ�®d��e�z|ZL��Z>z

l = 4¡JenWjmpc�ZKo�i��uzpc

6ªCWjmpx�W�mpc�h�sue�Z>hjsJij��Wens�s���e��um h�enWjZ���ZKcveAZ>°�x�m Z>h�x>b�ªCm¬enW�egWjZ�z Z>�JZ>z

3¸�¹µy�aQ©

V�VXW-Y�Z'[\Z^]

Page 49: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

>�� ���������^��!�

13

12 28 48 44 56

1 5 17 13

32

37 49 61

22 10 30 50 42

3 15 31 39 51 55

12 24 4836 0 4 16 20 8 24 36 52 40 60

25 37 49 21 9 2925 33 53 574541

14 26 5038 2 6 18 14 26 34 38 54 625846

635947433527112319751392715

Local vectors Multipole vectors

3

8 9

11

16

18 19 22 23

24

27

28

31

32

34

36

39

42

44 45

49

55

61

6246

0 1 4 5

2 6

12 13

10 14

33

35

37

40 41

43 47

17 20 21

25 29

26 30

48 52 53

51 545038

56 6057

58 59 63

15

7

��m ��ijlnZ >�© ��®#� �0= �j��e���cvens�l��u�JZ §2D¡ws = 1

¡jz Z>��ZLz3 ¨ ©�V�WjZDx�Z>z zpcA�ulnZ�m|h���Z�}�ZL�±�Jx>x�sJln�jm|hj�²ens�_�s�lgegsJh$sJln�jZ>lnm|hj��© (¶�Jx�Ws�¢¶egW�Z

4 � "1&'�(� +�: / �?; �²W���c5����m|«�ZLlgZLhJe��Jln�Sb±���uz ijZ�©DV�WjZ[Z�}�{��uh�cfm s�h�cwsu¢�egWjZ�x>Z>z z c�ªCm|egW+cg��Y²Z � "1& � +�: / �?; �[�uz s�hj�±��Jm|�JZ>h�lgs�ª �ulnZ[x>s�h�xL��enZ>h��uegZL�³®5egWjZ[¢­sJijl

M2Ls�{�Z>l���enm|sJh�cL¡³ªCWjsJcgZ

M2L��ZKxegsJlnc5��lgZ[lnZ>{jlnZLcgZ>h�egZK��sJh�egWjZ�o�i��J�deglnZ>ZJ¡xL�uh�egWjZLh±��Z ��m lnZLxenz|b$x�s�Y[{jijegZL��ªCm|egW±Y���enlgm|}d¥HY���enlgm|}�{jlns���i�xe�c § z Z>�JZ>z

3¸�¹µywa ¨ ªCm¬enWjs�i�e.� & :\�\"���&'��©

V�W��ue � crªCWdb²ª�ZC{jlns�{�sJcgZCWjZLlgZCens-cfegs�lnZAx�sJh�cgZLx�ijegm ��Z>z b enWjZ^lns�ªAcPm h�Y[Z>Y[s�lnb-m h�s�l���ZLlPegs�¢­sJlgY � �gcfz m x>Z �^�uh��²egWjZLh[egsenlgZK��eCcfZL��Z>l��uz�lns�ªAc¶ªCm|egW�s�hjZ�z Z>��ZLz3¸�¹�ywa�xL�uz zU© � h�s�l���Z>l�egs[W��S�JZw�²x�sJlglnZLx�e�x�sJlglnZLcg{�s�h���ZLh�x�Zw��Z>evª�ZLZ>h�cfz m x>ZLc�su¢�z|s�x>��zZ>}d{��uh�cgm|sJh�c��uh���cgz|mpx�ZKc�su¢�YDijz|egm {�sJz|Z5Z�}�{���h�cgm|sJh�c>¡dª�Z5W��S��Z�Wjs�ª�Z>��ZLl¶ens[m|h�cgZ>lge �v�jzp�uh�´�x�ZLz|zpc � § s�l �>; �-��� � � �F&^� ¨ ��Z>evª�ZLZ>hlns�ªAc?su¢&z sdxL�uzjZ>}�{��uh�cgm s�h�cL®&egW�ZLcgZ^x�sJlglnZLcg{�sJh��-egs x�ZLz|zpcrh�suer��Z>z s�hj�Jm|hj�5ens�egW�ZAs�xeglnZ>ZCªCW�sJcgZ�z s�x>��zj��ZKxegsJlncP��lgZAx>s�Y[{ji�enZL�i�cgZ>z ZLcncgz|bJ©P· m¬enW

ws = 1¡�egW�Z>lnZ�mpc

1�>; ��� � �\� ����eCenWjZ���ZL��m hjhjm hj���uh��

1��e�enWjZ�Z>h���s�¢�ZK��x�W�lgs�ª § cfZLZ5¤���i�lgZ >�© � ¨ ©r·�ZxL�uh�Wjs�ª�ZL��ZLl�cg´dm|{�egWjZ5¤�l�cfe �>; ��� � �\� �5su¢�egWjZ�cgz|mpx�Z § enW���eCmpc�egs�cn�Sb�¡�egWjZ�¤�l�cfe �>; �-��� �\� �5su¢�egWjZ�¤�l�cveClns�ª ¨ ¡��uh��$��z cgs-enWjZzp��cfeAs�hjZJ©

ywcA¢­sJl ��5=�cvens�l��u�JZ�¡�lnZL��lgl��uh���Z>Y[ZLhJeAs�¢rz|s�xL�uzµZ>}�{��uh�cgm s�h���ZKxens�l�cAs�h�z|b�x�sJh�x�ZLlgh�c^x�ZLz|zpcAªCm|egW�x�sJY²{�z|Z>egZ-m h�egZLln�Jxegm s�hz m cfe5ªCWjm|z Z-lnZL��lgl��uh���Z>Y[ZLhJeCs�¢rY-ijz|egm {�sJz|Z²Z�}�{���h�cgm|sJh���ZLx�egsJlncAx>s�h�x>Z>lnh�c^��z|z?x�ZLz|zpcL©w_�sJlgZLs���Z>lK¡�enWjZ>lnZ-mpc^sJhjz b �>; ��� ���\���F&'���Z�evª�Z>ZLh�lns�ªAc�su¢Cx�sJh�x>�uegZ>h���egZK��z s�x>��zPZ�}�{��uh�cfm s�h���ZKxegsJlncL©�V�WjZ>lnZ[m c hjs±hjZ>ZK��¢­sJl cfi�x�W �>; �-��� � � �F&^�w¢­s�l5egW�Z�lgs�ªAc�su¢YDijz¬enm|{�s�z Z�Z�}�{��uh�cfm s�h��JZLx�egs�l�cL®µª�Zrtvi�cfeCW��S��ZCens²x>s�h�xL��enZ>h��uegZ^��z|zQY-i�z¬enm|{�s�z ZwZ>}�{��uh�cgm s�h�c¶su¢&egW�Z�ªCW�s�z Zwcgz|mpx�Zwm|h$s�l���Z>l¶egsW��S�JZ²��x�sJlglnZLx�e�x>s�lnlgZKcf{�s�h��jZ>h�x>Z ��Z>evª�ZLZ>hNegWjZ�cgz|mpx�ZD¢­s�lnY[ZL����b±enWjZ[z|s�xL�uz?Z�}�{���h�cfm s�h�c���h���enWjZ � ; ����� �\���F&^�¡³��h��¯enWjZcgz|mpx�Z5¢­sJlgY[ZK���db�enWjZ�Y-ijz|egm {�s�z Z�Z�}�{��uh�cfm s�h�cL©· m|egW1��¸ * ¡?��e²z|ZL��Z>z

l¡r��h���¢­s�l²ZL�Jx�WP � "�& � + : / �?; ��¡¶egWjZ$Y-ijz|egm {�sJz|Z$Z�}�{���h�cfm s�h �JZLx�egs�l�c-��lgZ�lgZK�ulnln��hj��ZK��m h

2l−1cgz|mpx�ZKcAs�¢¶cfm �>Z(2l−1)2

©^V�WjZ-z|s�x>��zµZ>}d{��uh�cgm|sJh���ZKxegsJlncC��lgZ-lgZK�ulnln��hj��ZK��m h2l−1 − 2.ws

cfz m x>ZLcCs�¢¶cfm �>Z(2l−1 − 2.ws)2 +

2 ∗ (2l−1 − 2.ws)− 2§ mH© Z�©?egW�Z�hdijYD��ZLl�su¢�x>Z>z z c�s�¢��²��m ��ZLh � "1& � + :\/F�?; ��ªCm|egW�x�sJY[{jz|Z>egZ�m|h�enZ>l���xenm|sJh�z m cfeCm|h

1cfz m x>Z�¡{jz i�c

1�>; ��� � �\������e�egWjZwZ>h����uh����ue¶enWjZ^��Z>�Jm|hjh�m|hj�Dsu¢³ZK��x�W�lns�ª�¡�Y[m|hdi�c¶egW�Z^¤�l�cfe��uh���egWjZwz �Jcve � ; �-��� �\���ws�¢&egWjZ�cfz m x>Z ¨ ¡ªCWjmpx�W±ZLo�i���z c�enWjZ�hdijY-��Z>lCs�¢�z sdxL�uz&Z>}d{��uh�cgm|sJh�c�eglnZL�uegZK��m h±ZL��x�W$Y���eglnm|}�¥¦Y���enlgm|}�{jlnsd�ji�xeK©

����V����

Page 50: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 >d�

4832 36 52

37 4933 53

5034 38 54

39 51 5535

12 288 24

139 2925

10 3014 26

15 312711 63594743

42 625846

61574541

44 5640 600 4 16 20

1 5 17 21

222 6 18

3 231972715

14 26

13 25

12 24

5139

5038

4836

37 49

Multipole vectorsLocal vectors

���������������������

���������������������

���������������������

���������������������

���������������������

���������������������

���������������������

���������������������

������

���

���������

���������

� � � � � �

���������

������������

������������

���������

���������

���������������

���������

���������������

���������

���������

���������

��m ��ijlnZ >�© ��®3� ; � :\&[�j��e���cfegs�l��u�JZ §2D¡ws = 1

¡rz Z>��ZLz3 ¨ ®$cgZ>Z��uzpcfs�¤���i�lgZ >�© �d© (���x�W � "1& � + : / �?; �$W���c[���jm¬«QZ>lnZ>h�e�Jln�Sb±���uz ijZ�©[V�WjZ²lgs�ªAc�s�¢¶egW�Z � �0= ����en��cfegs�l��u�JZ-Y[s���Z��ulnZ²x>s�h�xL��enZ>h��uegZL��ªCm¬enW �>; �-��� �\� � &'� § Y[��lg´JZL��ªCm¬enW�cfeglnm|{�ZLc ¨m h ��Z>evª�ZLZ>h³®-egWjZ�Y��ueglnm¬}d¥¦Y[�ueglnm¬}N{jlgs���i�xe-hjs�ª m|hd�Js�z ��ZLc5YDijz|egm {�sJz|Z���h���z|s�xL�uzrY���enlgmpx�ZKc�ªCm|egW

6x�sJz|i�Y²h�c>¡��u�J��m|h�cfe

2x>s�z ijY[h�cCªCm|egW ��0=+cfegs�l��u�JZ § cfZLZ5¤���ijlnZ�>�© � ¨ ©

� ¢�� ; � :\&��j�uen� cfegs�l��u�JZ���z|z s�ªAc��+��Z�efenZ>l�Z>°�x�m Z>h�x>b ªCm|egW3egW�Z�z|ZL��Z>z3¸�¹�ywaQ¡¶m¬e�c�x�z ZL��l���ln�SªC����x�´ mpc[egW��ue�m¬e���z cgs{�Z>lg¢­s�lnY�c�i�cfZLz|ZKcgc�Z>}degl��Dª�s�ln´���ijZ�ens[egWjZ �>; ��� � �\� � &'�©

Q ½ ��½ ,PÂ����K�±�>� Á ��� � ½ � � h[enWjZ^cn�uY[ZCª��Sb�egW��ue¶ª�ZCW��S��ZCx�sJh�x>�uegZLh���enZL�²lgs�ªAc�ens5¢­s�lnY cgz|mpx�ZKcPm h�s�l���Z>l?ens s���e��um h[��Z>efegZLlz Z>�JZ>z3¸�¹µywa$Z>°�x>m|ZLh�x�bJ¡�ª�Z�xL�uh±x�s�h�x>��enZ>h��uegZ5cfz mpx�ZLc�m h±s�l���Z>l�ens²W��S��ZwegWjZ�ªCWjsJz|Z5z Z>�JZ>z³cfegs�lnZL�$m h$sJhjZ�cfm hj��z Z5Y[Z>Y[s�lnb�jz s�x�´��uh���x>s�Y[{ji�enZL�$ªCm¬enW�s�hjZ�cgm|h���z Z�z Z>�JZ>z

3¸�¹µy�a$xL�uz zU©PV�WjmpcCmpcCx>��z|z ZL�%; &)% &>;j�j��e��[cvens�l��u��ZJ©� h±���j�jm¬enm|sJh�ensDenWjZ �>; ��� � �\��� ��e�egWjZ5��Z>�Jm|hjh�m|hj����h��$�ue�egWjZ5Z>h��$s�¢�ZK��x�W�lns�ª�¡dª�Z5W��S�JZ^ens����j��¢­s�l ; &)% &>;�cvens�l��u�JZ��lns�ª su¢��>; ��� � �\���F&'�P��Z>evª�ZLZ>h�ZK��x�W�cgz m x>Z^su¢�z|s�x>��z��JZLx�egs�l�c § hjs-h�Z>ZL��¢­s�l�egWjZ�Y-i�z¬enm|{�s�z Zw�JZLx�egs�l�c ¨ ©?V�WjZA¤�l�cfe�lns�ª3su¢��>; ��� ��\���F&'��s�¢�enWjZ5z|ZL��Z>zH¡��Jc�ª�Z>z zµ�Jc�egWjZ�zp��cfeCs�hjZJ¡jx>�uh���Z cf´dm {j{�ZK�&©

V�WjZ±z Z>�JZ>zAº+¸�¹µywa Z>°�x>m|ZLh�x�b m c[Wjm ��W�Z>lK¡¶ZLcg{�ZLx�mp�uz z b ¢­s�l�z s�ª�z Z>�JZ>zpc>¡��ji�e�egW�Z�h�i�Y-��Z>l�su¢ � ; �������\���F&'�-i�cgZ>z ZLcncfz bx>s�Y[{ji�enZL��m c^x�z ZL�ulnz b�m|h�x>lgZK��cgZL��egsds�©rV�Wjmpc�W��Jc�hjsueAbJZ�eC��ZLZ>h±m Y²{�z|ZLY²ZLh�egZL�³©E � I � I 6 � L , ½ � ½ 8 �L���:9 Á 8 À 9­�:N�, ½ ��½ ,

3O�Q¶�3R3��� , ,£�

ywcwm h�cgZLx�egm s�h >�© �d¡�enWjZ-Y���enlgm|}d¥HY��ueglnm¬}±{jlnsd�ji�xew¢­s�l5��s�ij��z|ZDWjZ>m ��W�eM2L´�ZLlghjZLz�xL�uh¯��ZD��m lnZLxenz|b±m Y[{jz|ZLY[Z>h�egZK�¯ªCm|egWsJhjZ²cgm hj��z ZD¸�¹µy�a¯xL�uz zU¡QªCWjm z|ZD¢­s�l5cgm|hj�Jz|ZDWjZ>m ��W�e

M2L´JZ>lnhjZ>z�egWjZ[cg{��ul�cfZ-egl��uh�cf¢­Z>l�Y���enlgm|}�W���c^egs���Z[��ZKx�s�Y[{�sJcgZL��m h�jz s�x�´�c>©PV�WjZ ��mpcnx�i�cncfm s�h�su¢?cfZKxenm|sJh >�© �DmpcCWjZ>lnZ��uzpcfs²���uz m ��ªCWjZLh$lnZ>{�z �Jx�m hj�

ZGEMVlgsJi�egm hjZ5�db

ZGEMMs�h�Z�©

+^s�ª�ZL��Z>lK¡�ªCm|egW�cfm hj�Jz|Z W�Z>m ��W�eM2L´�Z>lnhjZLzU¡�ª�ZDW��S��Z egs$¢£��x�Z²��hjZLª9x�sJh�cvenln��m|h�e^ªCW�Z>h���ZKx�sJY²{�sJcgm hj��egW�ZDY���enlgm|}d¥Y���enlgm|}N{�lgs���i�x�e m|h�cgZ>�JZ>l��uzPz Z>�JZ>z

3¸�¹µy�a+x>�uz zpc>© � h���Z>ZK�+ª�Z�W��S�JZ���cncfijY[ZK���ue�egWjZ���ZL��m hjhjm hj��su¢�egWjmpc-cgZLx�egm s�h�egW��ueenWjZ�Y[s�lnZ[egW�Z�hdijY-��Z>lDsu¢Ax�sJz|i�Y²h�c m h egWjZ�Y-ijz|egm {�sJz|Z ��z sdxL�uzrY��ueglnm x>ZLcL¡µenWjZ���ZLcfe-enWjZ�Z�°�x>m|ZLh�x�b�ª�Z�s���e��um h+¢­s�l enWjZx>s�lnlgZKcf{�s�h��jm|hj�wz|ZL��ZLz

3¸�¹µywa-x>��z|zH© � ¢�s�hjz b�s�hjZ�cgm|hj�Jz|Z�z Z>��ZLz

3¸�¹µywaDx>��z|z�mpc?{�ZLlf¢­sJlgY[ZL��¢­s�l�egWjZ�Y���enlgm|}d¥HY��ueglnm¬}5{jlnsd�ji�xeK¡�Jc�¢­s�l²��s�i��jz|Z�WjZ>m ��W�e

M2L´�Z>lnhjZLz § cgZ>Z�cfZKxegm s�h § >�© ��© < ¨g¨ ¡�egWjmpcDm cDY��um hjz|bNeglnijZJ®-enZLcfencDW��S��Z�x>s�h�¤�lnY[ZL��enW���e²Z>��ZLh m¬¢cgs�Y[Z�Wjm ��WjZLlC{�ZLlf¢­sJlgY���h�x�Z�x>��h$��Z sJ��en��m|hjZK��ªCW�Z>h�cf{�z|m|efenm|hj�[enWjZ z s�x>�uz³��h���Y-ijz|egm {�s�z Z�Y[�ueglnm x>ZLc § ��cC��Z>z s�ª ¨ ¡�enWjZ��J��m|hm h±{�ZLlf¢­sJlgY��uh�x�Z5m c�lnZ>zp��enm|�JZ>z b�cfY���z|z³cgm|h�x�Z5egW�Z cfm hj��z Z5z|ZL��ZLz

3¸�¹�ywa�x>��z|z&{�Z>lg¢­s�lnY�c�m¬e�c�s�ªCh�cg{jz m¬egegm hj��©

¸�i�e[ªCm¬enW1cgm hj��z Z$W�Z>m ��W�e²´JZ>lnhjZ>zH¡rª�Z$W��S��Z$cgZ>�JZ>l��uz�z|ZL��Z>z3¸�¹µywa x>��z|zpc²{�ZLl²Y��ueglnm¬}d¥¦Y[�ueglnm¬} {jlns���i�x�eL© � ¢5�uz z�enWjZx>s�z ijY[h�c�su¢renWjZDYDijz|egm {�sJz|Z²s�l�z|s�xL�uz?Y���eglnm|}�xL�uhjh�sue5��Z[cvens�lnZL��m hN�$z Z>��ZLz�s�¢regW�ZDWjm Z>l��ul�x�Wjmpx>��zµY[Z>Y[s�lnb § z Z>�JZ>z

1¡2sJlZL��Z>h

3¡Psu¢^xL��x�WjZ ¨ ¡?s�lDhjZ>ZK��Y[s�lnZ�Y[Z>Y[sJlgb�{��u�JZLc egW���h egWjZ±VC¹µ¸ xL�uh�������lgZKcgcL¡�egWjZ�ªCWjsJz|Z�Y��ueglnm¬} ª�s�ijzp�+W��S��Z�ens��Z[lgZLz|s�����ZK�¯��e5ZL�Jx�WN¸�¹µy�a¯x>��z|zH© yAh���m h�enWjZ[s�lnm|�Jm|h��uz�cnx�WjZLY²Z²ªCm|egW �& : �\"���&'�^s�l�ªCm|egW � ; � : &5cfegsJln����Z-egWjZ²hdijY-��Z>l5su¢x>s�z ijY[h�c¶m h�x>lgZK��cgZLcrcfeglns�hj�Jz|bDªCm¬enW�egW�ZwWjZLm|�JW�e¶su¢&enWjZ^s�xenlgZLZ�©?V�W���e�� c�ªCWdb-enWjZ^YDijz|egm {�sJz|Z��uh���z s�x>��z�Y���enlgmpx�ZKc¶�uzpcgs�W��S��ZensD��ZAenlgZK��egZK���db[�jz|s�x�´�cL®�ª�Zwcg{jz m¬e�egWjZLY m|h$cfij�j¥HY���enlgmpx�ZKcrªCm|egW��-x�sJh�cfen�uh�e�h�i�Y-��Z>l�su¢µx�sJz|i�Y²h�c>¡dh���Y²ZLz|b

NbExpmax¡��h��NegWjZ�cn�uY[Z[h�i�Y-��Z>l�su¢�lgs�ªAcwenW��uh�egW�Z²sJlgm ��m h���z�Y��ueglnm¬}&©�y^c���ZKcgx>lgm ��ZL�Nm|h�¤��JijlgZ�>�© �d¡³egWjZ

ithcgij��¥¦Y[�ueglnm¬}¯s�¢�enWjZz s�x>�uz�Z>}d{��uh�cgm|sJh�Y���enlgm|}�m c[x>s�Y[{ji�enZL���db��NY���eglnm|}�¥¦Y���enlgm|}�{�lgs���i�x�e²��Z�evª�Z>ZLh enWjZ

M2Lenln��h�cv¢­ZLlDY��ueglnm¬} ��h�� enWjZ

ithcgij��¥¦Y���eglnm|}�su¢�egWjZ�YDijz|egm {�sJz|Z�Z>}�{��uh�cgm s�h�Y[�ueglnm¬}&©�y Y��ueglnm¬}d¥¦Y[�ueglnm¬}¯{�lgs���i�x�e ªCm¬enW

NbExpZ>}�{��uh�cgm s�h�c5mpc5egW�Z>hx>s�Y[{ji�enZL���Jc

NbExpmax/NbExpY���enlgm|}d¥HY���enlgm|}N{�lgs���i�x�enc-ªCm¬enW

NbExpmaxZ�}�{���h�cfm s�h�c>¡�{jz i�c enWjZ�zp��cfe²x>s�z ijY[h�cx>s�lnlgZKcf{�s�h��jm|hj�[ens�enWjZDlnZ>Y���m|h��jZ>lAs�¢PegWjZ[��m ��mpcgm|sJh³©^V�Wjmpcw�jZLx�sJY[{�s�cfm|egm s�h¯s�¢PegWjZDY���eglnm|}�¥¦Y���enlgm|}${jlns���i�x�ewmpc^WjZLlgZK��¢ enZ>lh���Y[ZL� �

NbExpmax��ZLx>s�Y[{�sJcgm¬enm|sJh ��©

�w{�enm|Y���z&�S��z|i�ZLc�¢­s�lNbExpmax

ªCm|z z&��Z�Z�}�{�ZLlgm Y[Z>h�en��z|z b���Z>egZLlgY[m hjZL��m h±cgZLx�egm s�h >�© >�© < ©V�VXW-Y�Z'[\Z^]

Page 51: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

> G ���������^��!�

max max

=

max max

��m ��ijlnZ >�© �d®NbExpmax

��ZLx>s�Y[{�s�cfm|egm s�h §max��Z>h�suegZKc

NbExpmax ¨ ©�V�Wjm cAY[�ueglnm¬}d¥¦Y���eglnm|}�{jlgs���i�xe^mpcAx�sJY[{ji�egZK�±��ccgZ>�JZ>l��uzQY���eglnm|}�¥¦Y���enlgm|}�{jlnsd�ji�xe�c�ªCm¬enW±�ueAY[sJcfeNbExpmax

x�s�z ijY[h�c�m h�egWjZ�YDijz¬enm|{�s�z Z �uh��$z s�x>��z&Y[�ueglnm x>ZLcL©$½ � ����� E � E � � ��&*:\��� ��� � ��& !/����0/1& : /���� :\&� � �)��0=��)&���� :\& 0/1&�; �#:\�0; & �'"������\���-�1� �-�����)&'%�&'� �0;�*�! (&^� 0/1& ��; *� "��0; && �'"1�-�1�^������� � � & �'" ; ���!�$& � "���� & ���-� :\�� �'�!�$&\� =,�!0/ � :\�0; � �� �^ ���� � &�� + � � � �-*�^� :\&'�\� ; &\� � � /1&)�& � � ; & � ���!� �5@�-�! &)�1�^������"$�� �>; &) +'��� !/�& ��; *� "��0; & �-���%; �#:\�0; �-*�^� :\&'� � =�& �9: :\&'� � !/�&^�)& (����^� : &'�C (���!� ; � � � ��5=���=�/F�?; &3!/�& ��-�& �^ �-�&\� � � :\�0;�� ��� � �^�� � :\&)�^ �-�!� ;��C"1���\�\� �>; & =�/�&'� :\�����\��� &'�^�!� � 0/1& *� ���1��"�� �)&\� �-*�^���)@ (����^���("$��:� � :)3=,�!!/ �; &\� ���!� � ���! (&'���\���-� &������0; �

NbExpmax+'��� !/�& ��; �� "��0; & �-��� ; �#: �5; (����^� :\&^�# �.�'�5; %�&�!/ � �,"��� � ; &' ��� �0/F� ��=�� �#���-

�F�)&\� �^�!� :\&��!$"�� &'%�&'� �� !/�&.&\� � �,:\�-� :\�� &'�$�������� � + 0/1&.& �'"1�-�1�^��������� �3:\�0; � ��1��� + ����&� (����^����� 2 �-�&\��%�&'��0/F� ��; & � ���!� ��-�! &)�1�^����� "�� � �>; &' ����:/ ��$��,/1&\��%:�?;�� � � & :' 0/1&���������&�� :)��&)� : � �$½ � ����� E �!; � O�Q¶� R D Á �

M2M� 8 Â

L2LÁ L ½ ����� Á ��� � � ���3& �'"1���'&\���!� � �������0� �

M2M�-���

L2L:\�-� & ���^�?;��

�\& :\�� "�� &\�<=,�!0/ ; &'%�&>;3������� :\�0;?; ��� =�/�&'�

M2M�-���

L2L���& =,�^�!� &)� ��� (����^���9@ %�& :' ��� "���:� � :)�� �\&) =�&\&)� �

:\&>;?; & �'"1�-�1�^����� �-����0/1& & �'"1�-�1�^����� � + �!*� +'�-!/�&'�\���5;?; : &>;?; � � + !/�& �)�� (& � "�& � + :\/F�?; ���/����&30/1&3�'�- &M2M

���$�L2L

*��-�1�0+'&)��+�� � :'�������� � � &'%�&)��0; & �'"1�-�1�^������� :\��� 0/ �F� � &%:\�� "�� & � �5;?; ������ :\& =,�!0/ ; &)%�& ;3� � ��� :\�5;?; � =�/1&)�

�U�� �:"$�!� � 0/1&) &'�!0/1&)� =,�!0/ � & :\�\"���&'����� =,�!0/ ��� � "U"$�� "$�^���� &( (&' (��� �C�\ ��� ��� &�!/��� ��%������ ���& :\� "���&'� � ��5= ���$� �-!/�&'�� �� �C�^ ���� � &'� �F�)&\�#+'���M2L

:\��� ������\& �F�'&\��/1&)�& � & :\� �F�)& 0/1&.�\ ��� ��� & :\�-�����-��\& 0/1&��)�� (&��-�0/1& +'�-!/�&'� ; &'%�& ;,���$��-�0/1& : / �?; ��; &'%�&>; � �� ��� � ��)��� ����� � � � ��8� ���������q?Z>lg¢­s�lnY��uh�x>Z?egZKcve�c³W��S�JZP��ZLZ>h�{�Z>lg¢­s�lnY²ZK��m|h sJln�jZ>lQegs^�S��z|mp�j�uegZPenWjZ¶¸�¹µy�a�m|Y[{jz Z>Y[Z>h�e���egm s�hµ¡S��z|sJhj��ªCm¬enW m|enc³{��ul��uY[Z�enZ>l�c>¡enW���e�z|ZK���jc¶egs�enWjZA¢£�JcvenZLcfe

M2Lx>s�Y[{ji�e���enm|sJh³©PV�WjZLcgZCegZKcve�c¶W��S��ZA��Z>ZLh�{�ZLlf¢­sJlgY[ZK�[s�h�sJhjZA{jlns�x�ZLcncgs�lK®³Z>m|egWjZLl�sJhjZ � ¸�_q?s�ª�Z>l�º�¥ �f� · +w��� § º��u�D_<+ ��¡ < © � �5��¹ �wq�aQ¡�¹ < xL��x�WjZ5cgm �LZ�®r�->,2�¸�¡�¹��²x>�Jx�WjZ�cgm �>Z�®�>[_¯¸�¡j�uh��±�,�5¸ su¢�Y[Z>Y[s�lnb ¨ ¡sJl�sJhjZ � ¸�_ q?s�ª�Z>l >�� § < >���>±_<+ ��¡ ≈ � �5�?¹ �wq�a&¡µ¹ < x>�Jx�WjZ²cgm �>Z�®5ºJ��}���2�¸�¡&¹���x>�Jx�WjZ[cfm �>Z�® < © > < _¯¸�¡³¹µº�x>�Jx�WjZcgm �LZ�®^º���_¯¸�¡&�uh�� G �5¸ s�¢rY[Z>Y[s�lnb�¡�egWdi�c�lnZLo�ijm lgm hj���->u¥¦�jm|encwx�s�Y[{jm z Z>l�Y²s���Z ¨ © V�WjZKcfZ[�ulnZ z s�x>��enZL�N��e�¹���¸�~ �� ©�·�ZW��S�JZw��z cgs i�cgZL��q�s�ª�Z>l�º \�+w�-{jlgs�x>ZLcncfsJlnc § ¹ < x>��x�W�Zwcgm �LZ�® < � G 2�¸�¡�¹�� x>�Jx�WjZwcgm �>Z�® G _¯¸�¡d��h�� < � �5¸3su¢³Y[ZLY²sJlgb ¨ ��e* � \ (�a�J©V�WjZ�hdijYD��ZLl�su¢�{��ulgegmpx�z ZLc�i�cgZL�N¢­sJl5egWjZ�cgm|YDijzp��egm s�h�mpc�hjsue�i�cgi���z|z b¯{jlnZLx>m cgZL��cfm h�x>Z[egWjZ�lnijh�egm Y[ZLc5WjZLlgZ[Y[ZL�JcfijlnZL���ZL{�ZLh��¯sJhjz b$s�¢PegWjZDWjZ>m ��W�e^s�¢PegWjZDijhjm|¢­s�Y s�xeglnZ>ZD�uh���s�¢

P¡���i�ews�¢¶x�s�i�lncgZ5egWjZDWjZ>m ��W�e�i�cfZK�±m|Y[{jz m ZLc���ln��hj��Z-m|h�enWjZhdijYD��ZLlAsu¢�{��ulgegmpx�z ZLc�enW���eA����z ��h�x�ZKc�egWjZ�hjZK�ul�¤�ZLz �±��h���enWjZ5¢£�ul�¤�Z>zp��x>s�Y[{ji�e���enm|sJh�c>©��m lncfeCsu¢���z|z&ª�Z5Z>Y[{jW��Jcfm �>Z5sJh�enWjZ5i�cfZ5s�¢�z Z>�JZ>z

3¸�¹�ywa$m h�cvenZL�J��s�¢�z Z>��ZLz

2sJhjZLc�ªCm|egW�¤��JijlgZ�>�© G ®?¢­sJlA�uh�s�xeglnZ>Z�su¢cgm �LZ

5�uh��¯�js�ij�jz Z-W�Z>m ��W�e

M2L´JZ>lnhjZ>zµegWjZ²i�cgZ-su¢#� & :\�\"���&'�^x�z ZL�ulnz b$m Y[{jlgs��JZLc�enWjZ-{�Z>lg¢­s�lnY��uh�x>ZLcL©^V�Wjmpc^mpc��uzpcfs�����z|mp�¢­sJlwcgm|hj�Jz|Z-WjZ>m ��W�e

M2L´JZ>lnhjZ>z��uh���¢­sJlAsuenWjZ>lwWjZ>m ��W�encL©C�jsJlCegWjZDz|s�ª�ZLcfeA���uz ijZLc^su¢

P¡�hjs�cfi���cve��uh�egmp�uz��J��m|h±mpcAWjs�ª�Z>�JZ>lsJ��en��m|hjZK���ji�eCegW�m cCªCm z z&��Z ��sJhjZ�ªCm|egW ��0=+�uh�� � ; � :\&CcfegsJln����ZLc��Jc�Z�}�{jzp�um hjZL�$m|h�cgZLx�egm s�h >�© >�© ��©·�Z�ªCm|z zChjs�ª ��Z�enZ>lnY²m hjZ�egW�Z���ZKcve���ZKx�s�Y[{�sJcgm¬enm|sJh ¢­sJl[egWjZ¯cg{���lncgZ

M2Legl��uh�cv¢­ZLl�Y[�ueglnm¬}�m h1egWjZ¯cgm hj��z Z$W�Z>m ��W�e´JZ>lnhjZ>z�xL��cgZ�¡��uz s�hj��ªCm|egW[enWjZ^sJ{�egm Y��uz

NbExpmax���uz ijZLcL¡J��h��²egWjZLh�x�sJY[{��ulnZ�egWjZ���m¬«QZ>lnZ>h�e�cnx�WjZLY²ZKc?egW���e¶ZLh��u�jz ZAz Z>�JZ>z

3¸�¹µy�a�i�cg����Z�©

E � E ��5 ½ � Á � L Á �:9­�H9 Á 8 D Á ���:9 8 � , ½ N ½ 9 � NQ�M2L

� ½ � 8 ½ ,� h�egW�m c cgZLx�egm s�h³¡�ª�Z[ªCm z|zr¤�lncfe cfZLZ�Wjs�ª9ª�Z[W��S��Z[ZKcve��u�jz m cgWjZK�&¡&¢­s�l�ZK��x�W+�ul�x�Wjm|egZLx�egijlnZ § q?s�ª�Z>l�º�sJl�q?s�ª�Z>l > ¨ ¡&egWjZ���ZLcfeNbExpmax

����z|ijZ § cfZLZ5cgZLx�egm s�h >�© ºj© º ¨ ¢­s�l�enWjZ �\������

� ; ���¡ : �\�-����

�>; � ���uh�� �>; �&: ��

�>; ����lns�i�enm|h�ZLc�egW���eCm|Y[{jz Z>Y[ZLhJeCenWjZ� � + .�J$54+�H4J$165 � J$5 7� <?+ 16- 7� V *[I�� 5 [ �R " W �!WGU J$5^,T+�HI1 E�F� � � + < W [0 �� �V���� L ;DA� L WPHI5 �!WGU J$5^,T+�HI1 E�F� �/+�HI16J^W�+ < 7� <�� ; W�- 16Y^W , WPH F 3��05^1 *F 5�� �J^WPHI3 <6<61 5��� V � �L ;DA

����V����

Page 52: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 > =

10

100

1000

10000

100000

5 10 15 20

Tim

e (s

econ

ds)

P

With RecopiesWithout

��m ��ijlnZC>�© G ® � s�ªChdª��ul���{��Jcgc * q¶] enm|Y[ZLc-ªCm¬enW��uh s�xenlgZLZ�su¢CWjZLm|�JWJe5¡$+���;?;

� ; ����Y²Z>egWjs�� § ��s�ij��z|Z�W�Z>m ��W�e-´�ZLlgh�Z>z ¨ ¡ªCm|egW��uh��$ªCm|egW�s�i�e.�& :\� "$��&^�©

level = 4 level = 5 level = 6 level = 7�& : �\"���&'� � < � �J� > > �������J� �uº G ºJ� G��0=+cvens�l��u�JZ � < > º�� ���� ; � : &Acvens�l��u��Z >�� ���J� =�� G ºU=J���

V��u�jz Z < ®NbExp

���uz ijZLcA�Jx>x>s�l���m|h�� egs�sJijlA��m|«�ZLlgZLh�eCcnx�WjZLY²ZKc § ªCm|egW��?¸ * ¡��uh��ws = 1

¡jcgZ>Z�cgZLx�egm s�h >�© º�© � ¨ ©

x>s�lnlgZKcf{�s�h��jm|hj�5��ZKx�s�Y[{�sJcgm¬enm|sJh�cL©���s�l�: �\������

� ; ����lns�ijegm hjZ�egWjZC��ZLcfedimcband

�S��z|i�ZCW�������z cgs�egs���ZCZLcfen�u��z|mpcfW�ZL�&¡JªCWjm|z Z¢­sJl � ; �&: ��

�>; � ��lns�i�enm|h�Z�ª�Z�W��J�+�uzpcfs�egs¯�jZ�egZLlgY[m hjZ[egW�Z���ZKcve-egWjlnZLcgWjs�zp�N�S��z|i�Z�¡?��Z>hjs�egZK�N�dbsblock¡�egW��ue-��Z�enZ>lnY[m|hjZKcenWjZ�egZLlgY[m h��uz�x>�JcfZ�s�¢�enWjZ lnZLx�i�lncgm|sJh § cfZLZ-cgZLxenm|sJh3>�© ��© � ¨ ©�· m|egW±egW�ZLcgZ {��ul��uY[Z>egZ>l�cL¡�ª�Z�ªCm z|zµegWjZLh���Z²�u�jz Z5egs$x�s�Y[{���lgZenWjZ �\�-���

�>; � �¡ : �\���$��

�>; � �-��h�� �>; �#:���

� ; ���-lns�i�enm|hjZKc>¡r��h��+¤�h��uz z|b+Z>Y[{jW���cgm �LZ�s�h�egWjZ�m|h�enZ>lnZLcfeDsu¢^egWjZNbExpmax��ZKx�sJY²{�sJcgm|egm s�h³©�y^z|z�egW�ZLcgZ�enZLcfenc²W��S��Z$��ZLZ>h1{�ZLlf¢­sJlgY[ZK� s�h s�hjZ�cfm hj��z Z�Y[�ueglnm¬}d¥¦Y���eglnm|}�{jlns���i�x�eL¡¶x>s�lnlgZKcf{�s�h��jm|hj�¯egs

M2LsJ{�ZLln�uegm s�h³¡�¢­s�lA�jm¬«QZ>lnZ>h�eA���uz ijZLc�s�¢

��m lncfeAª�Z�h�Z>ZL�$ens���Z�enZ>lnY²m hjZ�enWjZ�s�{jegm Y[��zNbExpmax

����z|ijZKc>©�V�WjZLcgZ �ulnZ�x�z ZL��lgz b�Y���x�Wjm hjZ ��ZL{�ZLh���ZLhJeK¡���h��$egWjZLb��ZL{�ZLh��1s�hPensds+cgm h�x�Z

P�jZ�egZLlgY[m hjZLc²enWjZ�hdijY-��Z>l�s�¢wlns�ªAc²m|h egWjZ�YDijz|egm {�sJz|Z�Y���enlgm|} ��h�� m h egWjZ�z s�x>�uzCY��ueglnm¬}&©

� Z>{�Z>h��jm|hj� s�h1egWjZ�z Z>�JZ>z3¸�¹µy�a3cgx�W�Z>Y[Z±i�cfZK�3�uh��1s�h1enWjZ�z|ZL��ZLzAm|h1enWjZ¯s�xenlgZLZ�¡�egWjZ�hdijYD��ZLl�su¢5Y-ijz|egm {�s�z Z¯�uh��z s�x>�uz¶Z�}�{��uh�cfm s�h�c-x�s�h�x>��enZ>h��uegZK�&¡���ZLhjsuenZL���db

NbExp¡���m|«QZ>l�c cfm ��h�m¬¤�xL�uh�egz b�©��jsJl {�ZLlf¢­sJlgY���h�x�Z²egZKcve�c ªCm|egW���m|«QZ>lnZ>h�e

NbExpmax����z|ijZKc>¡�ª�Z�W��S��Z�s�hjz b-x>s�h�cgm �jZ>lnZL�

NbExp���uz ijZLc�¢­s�lPx>Z>z z c?ªCm|egW[x�sJY²{�z|Z>egZ�m|h�enZ>l���xenm|sJh-z m cfeL®�Y���eglnm|}�¥¦Y���enlgm|}{jlns���i�x�enc�¢­s�lPx>Z>z z c�ªCm|egW[m|h�x�s�Y[{jz Z�enZ�m h�egZLln�Jxegm s�hDz|mpcfe?W��S��Z���Z>lnb5���ulnb�m hj�����uz ijZLc�¢­s�l

NbExp�ji�e?egW�Z>b-��lgZ�s�i�enhdijY-��Z>lnZL�x>s�Y[{��ulnZL�$ens�Y[�ueglnm¬}d¥¦Y���eglnm|}�{jlnsd�ji�xe�c�¢­s�l^x>Z>z z c^ªCm¬enW¯x�sJY²{�z|Z>egZ�m hJenZ>l���x�egm s�h±z|mpcfeL©�V�WjZ5en���jz|Z < cfWjs�ªAc

NbExp����z|ijZKc�Jx>x�sJln�jm|hj�Degs�sJijlC��m|«�ZLlgZLhJe^cnx�WjZLY²ZKc�¢­s�lAx>Z>z z c�ªCm|egW�x�sJY[{jz|Z>egZ�m h�egZ>l���x�egm s�h$z|mpcveK©

� h[{jl���x�egmpx�Z�egZKcve�c?¢­s�lPsJ{�egm Y��uzNbExpmax

���uz ijZKcPªCm|z zj��ZC{�ZLlf¢­sJlgY[ZK�&¡���xLx�sJln��m hj�wegsP¡�¢­sJlrs�h�Z�cgm hj��z Z �v�jm �5Z>hjsJij��W �

NbExp����z|ijZJ¡^��ZLhjsuenZL�

NbExpref© � h���Z>ZK�&¡^��c$x�sJh�¤�lnY²ZK�3�db1Y[sJlgZ¯x>s�Y[{jz Z�egZ�egZKcve�c>¡CenWjZLcgZ�sJ{�egm Y��uzw�S��z|i�ZLc�¢­s�l

NbExprefªCm z zr�uzpcfs$��Z��uY[sJhj��enWjZ[s�{�enm|Y���z�����z|ijZKcw¢­s�l�Wjm ��WjZLl

NbExp���uz ijZLc § x�s�lnlnZLcg{�sJh���m hj��ens$Wjm ��W�Z>l5WjZ>m ��W�e�c ¨ ¡ªCWjm z ZwenWjZ�z s�ª�ZLl

NbExp���uz ijZLc�ªCm z|z&hjs�eClgZKoJi�m|lnZ���hdb

NbExpmax��ZKx�s�Y[{�sJcgm¬enm|sJh § ijhjz ZLcnc

Pmpc���lnZL��eK¡��uh���egWjZLh���ZLcfe

NbExpmax���uz ijZKcµ¢­sJijh��-¢­s�l

NbExpref�ulnZ���z cgs�s�{�enm|Y��uz ¨ ©��jsJl�q?s�ª�Z>l�ºA�ul�x�Wjm|egZKxegi�lgZJ¡ucfZK�ul�x�W-x>��h egWdi�c���Z�{�ZLlf¢­sJlgY[ZL�¢­sJl

NbExpref = 958§level = 6

��h���� ; � :\&�cvens�l��u��Z ¨ ªCWjm z|Z�¢­sJlwq?s�ª�Z>l >[s�{�enm|Y��uz����uz ijZLcA¢­s�l NbExpmaxWjm ��WjZLlAenW��uh

958xL�uh���Z[¢­sJijh��NegWdi�c5lnZLo�ijm lnm|hj�±����lnZL�uegZ>l

NbExpref¡µh��uY[Z>z b

2744§level = 5

��h��Ncnx�WjZLY²Z[ªCm|egW �& :\� "���&'� ¨ © � h{jl���x�egmpx�Z�ªCWjZ>hPl��uhj�JZLc¶¢­lgsJY

3ens

30¡ds�{�enm|Y��uzQ���uz ijZKc¶¢­sJijh���¢­s�l

NbExpmaxi�cfi���z|z b�l��uhj�JZA¢­lns�Y'cgZ>��ZLln��z�Wdijh���lgZK�jc¢­sJlCz|s�ª �S��z|i�ZLc�su¢

P¡�ij{�egs��D¢­ZLª ��s �>ZLh�c�¢­s�lCWjm ��W����uz ijZLc�s�¢

P®rcgZ>Z�¢­sJlCZ�}j�uY[{jz Z�¤���ijlnZ�>�© =�©

��s�l : �\�-����

�>; � �?�uh�� � ; �&: ��

�>; � �?lns�i�enm|hjZKc>¡SenWjmpcPcfZK�ul�x�W m cPx>s�ij{�z|ZK� ªCm|egW[��cgZL��lnx�W-su¢�lnZLcg{�ZLxenm|�JZ>z b�egWjZC��ZLcfedimcband��h��¯enWjZ���ZLcfe

sblock®5�uz zP{��um lnc5��lgZDegZKcvenZL��egs�¤�h��NegW�Z²��ZLcfe�s�hjZJ© +^s�ª�ZL��ZLlwlnZLcgijz|enc5W��S�JZDcgWjs�ªCh�enW���e

NbExpmaxmpcY��um hjz b m|h���Z>{�Z>h��jZ>h�e[¢­lgsJY

dimcbands�l

sblock®$ªCWjZ>h1cf{jz m|efegm hj����s�egW Y-ijz|egm {�sJz|Z���h���z s�x>�uz�Y���enlgmpx�ZKcD�Jx>x�sJln�jm|hj�¯egs

NbExpmax¡�enWjZ-cgij��¥¦Y[�ueglnm x>ZLcCcgm �LZ ��Z>{�Z>h��jcAm h���ZLZL��s�hjz b�sJh

P§ ¢­s�lCenWjZ hdijY-��Z>l^su¢?lgs�ªAc ¨ �uh�� NbExpmax

§ ¢­s�lCenWjZhdijYD��ZLlAsu¢?x�s�z ijY[h�c ¨ ®rcgZ>Z�¤��JijlgZ�>�© ��©V�VXW-Y�Z'[\Z^]

Page 53: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

��� ���������^��!�

��s�ldimcband

¡SenZLcfenc³W��S��Z¶��z cgsAcfW�s�ªCh5egW��ue�s�h�Z § sJlµevª�sAx�z sJcgZrs�h�ZLc ¨ ���uz ijZLc��ulnZPs�{�enm|Y���zU¡u��h���egWjZKcfZ��ulnZPm|h���Z>{�Z>h��jZ>h�es�¢P© �wh�x�Z5egW�Z�s�{�enm|Y��uzµWjZ>m ��W�eAsu¢P� �\���$��m cA�jZ�egZLlgY[m hjZL�³¡jm¬e�x�s�lnlnZLcg{�sJh��jc�m|h���Z>ZK��ens[egWjZ-s�{�enm|Y��uz³cgm �>Z�su¢�egW�Z-cgo�i���lgZ�jz s�x�´�c�i�cfZK����b

ZGEMMlns�ijegm hjZ��uh���egWjmpcClnZ>Y��um h�c�ijh�x�W��uhj�JZL��ªCWjZ>h�egW�Z

M2Lenln��h�cf¢­Z>lCY���enlgm|}���Z>eC�jm|�J��ZLlL©��s�l�egWjZw¤�l�cve����uz ijZLc�su¢

P§ lgsJij��W�z|b

P = 7m h�sJijl�egZLcfenc ¨ ��ZKcve sblock

�S��z|i�ZLc�ZLo�i���zPªCWjmpx�W�Y[ZK�uh�c�m¬e�mpc���Z�egegZLl�h�sueens�i�cfZDegWjZ[lnZLx>ijlncgm ��Z-��ZKx�sJY²{�sJcgm|egm s�h³®wª�Z[�ulnZ enWjZ>lnZ�¢­sJlgZ²�jlns�ij�JWJe�����x�´�ens$enWjZ�� �-���

�>; ������ZKx�s�Y[{�sJcgm¬enm|sJh³© +As�ª�Z>�JZ>lªCWjZLhPm c�Wjm ��WjZLlL¡&m|e�m cw¢£�JcvenZ>l�egs�i�cgZDenWjZ²lgZKx�ijl�cfm ��Z²��ZLx>s�Y[{�sJcgm¬enm|sJhN�uh���¢£��cfegZKcve�x�sJY[{ji�en�uegm s�h�c5��lgZ-egWjZLh�¢­sJijh���¢­s�lz s�ª ���uz ijZKc�su¢

sblock

§ ��Z�evª�Z>Z>h2�uh��

5m h�sJijl�egZKcve�c ¨ ®¶cfZLZ�¤���ijlnZ�>�© =�©\^s�ª egW��ue²enWjZ�s�{�enm|Y��uz����uz ijZKc-s�¢AegWjZKcfZ�{���ln��Y²Z>egZLlnc-W��S��Z$��ZLZ>h ¢­s�ijh���¢­s�l²ZL�Jx�W����uz ijZ$s�¢

P¡rª�Z�xL�uh1x�s�Y[{���lgZ

�\���$��

�>; � �¡7: �\���$��

� ; � ����h�� � ; �#: ��

�>; � ��lgsJi�egm hjZLcL© � e-��{j{�ZK�ul�cAenW���e�: �\������

� ; ���wmpc�¢£��cfegZLlwenW��uh �\���$��

� ; � �^sJhjz|b¯¢­s�lWjm ��W����uz ijZLc�s�¢P§P ≥ 14

sJh�enWjZ � ¸�_<q?s�ª�ZLlnº ¨ ®µegWjZ �>ZLlgs�c����j��ZK��m h�enWjZ : �\�-����

�>; � ����ZLx>s�Y[{�sJcgm¬enm|sJh��ulnZ^ensdsDYDi�x�Wx>sJcfegz b�ijhjz ZLcnc�egWjZM2Legl��uh�cf¢­Z>l5Y���enlgm|}¯m c��JZ>lnb��jm|��©-�jsJl � ; �#: �

�>; � �5lgsJi�egm hjZDegWjZ[sJ{�egm Y��uz?���uz ijZLcw¢­s�i�h��¯¢­sJlsblockY��u´JZ^m|enc�x�sJY²{�i�en�uegm s�h��Jcr¢£�JcveC��c � �-���

�>; ���¶lgsJi�egm hjZ^¢­s�l¶z s�ª ���uz ijZLc�su¢P�uh��[¢£�JcvenZ>l�¢­s�l�Wjm ��WjZLl¶���uz ijZLcL¡���c�Z�}�{jzp�um hjZL�����s��JZ�©PyAh��$¢­sJl�egWjZKcfZ�Wjm ��W�Z>l����uz ijZLcCs�¢

P¡ �>; �#:��

� ; � ��lgsJi�egm hjZ5m c�¢£�JcvenZ>l�enW��uh : � �-����

�>; ����lns�i�enm|h�Z�©� h-x>s�hjz i�cgm|sJh�ª�Z¶egWdi�c�x�WjsdsJcgZ?egWjZ �>; �&: �

�>; ���³lgsJi�egm hjZr¢­sJl�¸�¹µy�a�x�sJY[{ji�en�uegm s�h s�¢M2Ls�{�Z>l���ens�l�ªCm¬enW-cfm hj�Jz|ZrW�Z>m ��W�e´JZ>lnhjZ>zH©7+^s�ª�ZL��ZLl�enWjZ ���um h�cA�uh��±z|s�cgcgZLc�WjZLlgZ�Y[ZLhJenm|sJhjZL����lgZ ��z|zµz|s�ª�Z>l�enW��uh

5 � su¢?egW�Z �\������

� ; ���ClgsJi�egm hjZ�lnijh�egm|Y[ZJ®enWjm c^��sdZLc�hjs�eAlgZK�uz z|b5tvi�cfegm|¢­b$egWjZ�m Y[{jz|ZLY[Z>h�en�uegm s�h�su¢�egWjZ�Y[s�lnZ�x�sJY²{�z|Z>} : �\�-����

�>; � ���uh�� �>; �#:���

� ; ����lns�ijegm hjZLcL©¸�Z�¢­sJlgZ�x>s�Y[{���lgm hj�±egW�Z$��m|«�ZLlgZLh�eDcgx�W�Z>Y[ZLc-i�cfZK�+ªCm¬enW�z Z>��ZLz3¸�¹�ywa+m h+egWjZ$hjZ�}de[cfZKxegm s�hµ¡µenWjZ�lnZ>z Z>���uh�x�Z�su¢CenWjZ

NbExpmax��ZKx�s�Y[{�sJcgm¬enm|sJh�mpc�cgWjs�ªCh�s�h�¤���ijlnZ >�© =�¢­s�l�egWjZ�cgx�WjZLY[Z^ªCm|egW � & :\�\"���&'��®?¢­sJl¶ZK��x�W����uz ijZwsu¢

P¡dª�ZwcfWjs�ª3enWjZ���um h�¢­s�l�enWjZ���s�ªChdª���ln��{���cnc * q¶] egm Y²ZKcC��ijZ�egs²enWjZ

NbExpmax��ZLx>s�Y[{�sJcgm¬enm|sJh³©�· m|egW±�Jlgs�ªCm hj�-s�x�eglnZ>Z�WjZ>m ��W�eL¡denWjZhdijYD��ZLlnc¶su¢&Z�}�{���h�cfm s�h�c

NbExpeglnZL�uegZL�[ªCm|egW�s�hjZ^cgm hj��z ZAY���enlgm|}d¥HY���enlgm|}D{�lgs���i�x�e¶m h�x�lnZL�JcfZKc>¡���h��²egW�Z^�J��m|h�s�«�ZLlgZK�²��benWjZ

NbExpmax��ZLx>s�Y[{�sJcgm¬enm|sJh�m h�x>lgZK��cgZLc�enW�i�cCegsds�©C· m¬enWM��0=���h���� ; � :\&^cfegsJln����ZKc>¡

NbExpmax��ZLx>s�Y[{�sJcgm¬enm|sJh�ªCm|z z��Z�z|m ´�ZLªCm cgZ5lgZLz|ZL���uh�eCªCWjZ>h�egW�Z

NbExp���uz ijZ5Z�}jx>Z>ZL��c�egWjZ�sJ{�egm Y��uz

NbExpmax�S��z|i�Z�©

0

5

10

15

20

25

30

35

40

45

50

3 5 7 9 11 13 15 17 19 21 23 25

%

P

Height 5Height 6

������������� ���� �������� �

P sblock NbExpmax P sblock NbExpmax� � �&�$� � ������ � � � � ��� � � � � � � ��� � � �� � � � ��� � � �� ����� ��� � ������ � ����� ��� � �*���� � � ��� �$� � �*������ � ��� � ��� � �*����&� ��� � � � � ���&��0� ��� �0� � � � � �*���� � � � � � � �&� �*���� � � �0���

sblock

�����NbExpmax ��!#"$�% �'&)(+* ��, � �

��m ��ijlnZ >�© =j® �5��m|h[m h[{�ZLlnx>Z>h�en����Z�¢­s�l?enWjZ�¢­ijz z���s�ªChdª��ul�� {��Jcgc * q¶]1enm|Y[ZKcPsu«QZ>lnZL�²�db-��x�sJY[{ji�en�uegm s�h²ªCm¬enWNbExpmax��ZKx�sJY²{�sJcgm|egm s�h lnZ>zp��enm|�JZ�egs s�hjZ¯ªCm|egW�s�i�e

NbExpmax�jZLx�sJY[{�s�cfm|egm s�h³© VµZKcve�c�{�Z>lg¢­s�lnY[ZL�3sJh � ¸�_ q?s�ª�ZLl>�¡Ci�cfm hj�enWjZ �>; �#:��

� ; � ��lns�i�enm|h�Z § ªCm|egW s�{�enm|Y���zsblock ¨ ��h��3enWjZ�cnx�WjZLY²ZNªCm¬enW �& :\� "$��&^��¢­sJl���h s�xenlgZLZ�WjZLm|�JWJe�ZLo�i���z^ens 5§

NbExp = 2744 ¨ �uh�� 6§NbExp = 27000 ¨ ©?V�WjZ x�sJlglnZLcg{�s�h���m hj�D�S��z|i�ZLc�¢­s�l sblock

��h��NbExpmax

�ulnZ5��z cgs²��m ��Z>hµ©

E � E � ? �½ � Á L 9 ½ �D� 8  �HL ½ �U9U� ,¶Â����L�+�L� Á ��� � ½ �� h¯sJln�jZ>lCens�x�sJY²{��ulnZ�egWjZDcgx�WjZLY[Z ªCm¬enWM�& :\� "$��&^�AªCm|egWM� �0=��uh���� ; � : &wcfegs�l��u�JZLcL¡ * q¶]�egm Y²ZKc^W��S��Z���Z>Z>h�Y²ZK��cgijlnZL��s�henWjZ5¢­ijz z���s�ªChdª��ul���{���cnc�su¢�egWjZ �?_¯_�©�Vµª�s�x�sJY-�jm hjZ5Z�«QZLx�encA��{j{�ZK�ulK®

� y^c5Y[Z>h�enm|sJhjZL��m|h � + � =J�."¦¡&egWjZ�x>sJcfe�s�¢�x�sJ{db�m hj�$��ZLx�egsJlncwlgZLz �uegm ��ZLz|b±ens�enWjZ�x�sJcfe�su¢renWjZ[Y���eglnm|}�¥¦Y���enlgm|}�{jlgs���i�xe��ZLx>lgZK��cgZLcD¢­s�l��Jlgs�ªCm hj�N�S��z|i�ZLc[su¢P®¯x�sJ{jm|ZKc[su¢�Y-ijz|egm {�sJz|ZKc��uh�� z s�x>�uzCZ>}�{��uh�cgm s�h�c[�ulnZ�m|h��jZ>ZL�1{�Z>lg¢­s�lnY[ZL� m|h

O(NbExp × P 2)ªCWjm z|Z�enWjZ-Y��ueglnm¬}d¥¦Y[�ueglnm¬}${jlgs���i�xe^lnZLo�ijm lgZKc O(NbExp × P 4)

s�{�Z>l���enm|sJh�cL©�V�WjmpcAmpcAY[sJlgZs��d�dm|sJi�c�ªCm¬enW$��sJij�jz ZwWjZLm|�JW�e�´JZ>lnhjZ>z�egW���h�ªCm|egW±cfm hj�Jz|Z�WjZ>m ��W�e�´�Z>lnhjZLzQcgm h�x�Z^egWjZ��uY[sJijh�e�su¢?x�sJY²{�i�en�uegm s�h�¢­sJl�enWjZY���eglnm|}�¥¦Y���enlgm|}N{jlns���i�x�e-m c-Y-i�x�W Y²sJlgZ�x>sJcfegz bNªCm|egW ��s�ij��z|Z�W�Z>m ��W�eL¡?ªCWjm z|Z�egWjZ�x�s�cve-s�¢ �& : �\"���&'� m c egWjZ�cg��Y[Z�©��m|�JijlgZKc >�© < �^��h��.>�© < < cgWjs�ª enWjZ��J��m|hDsu¢ ��5=$��h��C� ; � :\&?cfegsJln����ZLc�lnZ>zp��egm ��Z¶egs�egW�Z�cnx�WjZLY²Z�ªCm|egW �& : �\"���&'���Jx>x�sJln�jm|hj�egs���m|«�ZLlgZLh�e�����z|ijZKc�su¢P¢­s�lA��h$s�x�eglnZ>Z5WjZ>m ��W�eCsu¢

6® ��0=+�uh�� � ; � :\&CcfegsJln����ZLc�su«QZ>l�enW�i�cC��Z>efenZ>lC�J��m|h�c�lnZ>zp��enm|�JZ^ens

�& :\� "���&'��¢­s�lCz s�ª ���uz ijZLc�s�¢P¡���h���egWjZKcfZ����um h�c��ulnZ5��z|ª��Sb�c¶W�m|�JWjZ>l�¢­sJlAcfm hj��z Z5WjZ>m ��W�eA´JZ>lnhjZ>zH©

����V����

Page 54: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 � <

� V�WjZLcgZC�J��m|h�cP�ulnZ���z cgs5m|h 6 ijZ>h�x�ZL�²�db enWjZAWjZLm|�JW�e?s�¢�enWjZAs�xenlgZLZ�®�ªCm¬enW���lns�ªCm|hj��WjZLm|�JWJe�c?su¢�egWjZ^sdx�eglnZ>ZJ¡�egWjZChdijYD��ZLlsu¢�Z�}�{���h�cfm s�h�c^enlgZK��enZL�NªCm¬enW s�hjZ[Y���enlgm|}d¥HY���enlgm|}¯{jlns���i�xe m h�x>lgZK��cgZLcw¢­s�l(��5=1��h�� � ; � :\&�cvens�l��u�JZLc § cgZ>Z[e��u�jz Z < ¨�uh��¯egWjZ[{jlns�{�s�lgegm s�hNsu¢ �>; �-��� � � �F&^�^��ZKx�lnZL�JcfZKcA¢­sJl � ; � :\&>© � hN¤��JijlgZ�>�© <U< ¡³ª�Z²W��S�JZ-s�h�z|bNbExp = 30

¢­s�l ��5=cvens�l��u�JZ�ªCWjmpx�W3z|ZK���jcD¢­s�l��js�ij�jz Z�WjZLm|�JWJe�´JZ>lnhjZ>zC�uh��P ≥ 11

egs ª�s�l�cfZ${�ZLlf¢­sJlgY��uh�x�Z�egW���h � & :\�\"���&'�[��h�� m|encNbExp = 27000

©C�js�l�z s�ª W�Z>m ��W�encwcfi�x�W¯�Jc4¡�enWjZ-i�cgZ-s�¢ �& : �\"���&'�Am cwZ>�JZ>h¯��z m|efegz Z²�jm¬ew¢£��cfegZLlA¢­s�l��uz z�����z|ijZKcAs�¢

Pcgm|h�x�Z�m|eAm c�enWjZ�s�hjz b�sJhjZ�egs��uz z s�ª Z>hjsJij��W

NbExpegs[��Z5eglnZL��enZL���uz z³��eAsJh�x�ZJ©

� ; � :\&Acfegs�l��u�JZwmpcCWjZLlgZ�Y[sJlgZ5Z�°�x>m|ZLhJeCenW��uh ��5= cvens�l��u��Z��ji�e^egWjmpcCmpcAY��um hjz b���ijZ�ens[egWjZ5ensds�cfY��uz zNbExp

¢­s�l���0=cfegsJln����ZD�ue�W�Z>m ��W�e6§ mU© Z�©

NbExp = 30 ¨ ªCWjm|z Z²¢­s�l�� ; � :\&�¡ NbExp = 958��z|z s�ªAcw��Z>efegZLl ¸�¹µywa

3Z�°�x�m Z>h�x>bQ®wm h���ZLZL�enZLcfenc²{�ZLlf¢­sJlgY[ZK� ¢­s�l

H7sJh � ¸�_ q?s�ª�Z>l�º�ªCm|egW < �)�5¸ Y[Z>Y[s�lnb § * � \ (�a ¨ cfW�s�ªAc enW���e3��0= cvens�l��u�JZ�m c²�Nz|m|efenz|Z±�jm|e¢£�JcvenZ>l�¢­s�l�egW�m c�WjZLm|�JW�eL© � h�¢£�Jxe�� ; � :\&Ccfegs�l��u�JZ^��sdZLc�h�sue�i�cfi��uz z|b�s�«�ZLl����um h�lnZ>zp��enm|�JZ^ens ��5=NcfegsJln����Zw��h���Y[sJlgZLs���Z>l � ; � :\&cfegsJln����ZAhjZLZL�jc���ZLlgb²z s�hj�-x>s�h�cgZLx>i�egm ��ZwY[Z>Y[s�lnb²��lgZK��c?enW���eCx>��hjhjs�e���Zw�uz z sdxL��enZL�[¢­sJl¶ens�sDWjm ��W����uz ijZKc¶s�¢

Ps�lrensds-Wjm ��WWjZLm|�JW�enc5ªCWjZLh�Y[ZLY²sJlgb¯��z|z s�x>�uegm s�h�ªCm|egW ��5=1cfegsJln����ZDY[�SbNcfi�xLx�ZLZL�&©��jsJl5egWjZKcfZ[lnZL�JcfsJh�c^ª�Z²¢£�S��sJl�� �0=3cvens�l��u��ZJ¡&�uh��cgm|h�x�Z�egWjZ

NbExp���uz ijZKcµZLh��u�jz ZL�-�db � ; � : &�cfegsJln����Z¶cgZ>ZLY egs���Z�Wjm ��W-ZLhjs�i���W³¡ ; &)% &>;Scvens�l��u��Z¶W���c�hjsue?��Z>Z>h²m Y²{�z|ZLY²ZLh�egZL�³©

� h�x>s�h�x>z|i�cgm s�h ��5=±��h�� � ; � :\&�cvens�l��u��ZKc?su«QZ>lr��suenW�s��d�dm s�i�cP���um h�cPlnZ>zp��enm|�JZ�egs�enWjZwcnx�WjZ>Y[ZAªCm|egW �& : �\"���&'�?¢­s�l¶z s�ª3�uh��Y[ZL��hD����z|ijZKc?su¢P�uh��²x�sJh�cgZLo�ijZ>h�e?WjZ>m ��W�e�c>©?_�s�lnZ>s��JZ>lK¡Lª�Z�ªCm|z z���ZLhjZ>l��uz z b�{�lgZ>¢­Z>l ��5=$�j�uen�5cvens�l��u�JZ�©³·�Z�Wjs�ª�ZL��ZLl�´JZ>Z>{enWjZDm Y[{jz Z>Y[Z>h�en�uegm s�hNªCm¬enW �& :\� "$��&^�wcgm h�x�Z²m¬e5Y��Sb±��Z²Y[s�lnZDcgijm¬e��u�jz Z ¢­sJl�egWjZ²{��ul��uz z Z>z m cn��enm|sJh�s�h���mpcfeglnm|�jijegZL��Y[Z>Y[s�lnb��lnx�Wjm|egZKxenijlgZKc^�JcAª�Z>z z���cA¢­s�lwegWjZ²���j��{�egm ��Z-��Z>l�cgm|sJh�s�¢?egWjZ[�?_¯_ § m h�enWjm cwzp��cfe�x>�JcfZ-m¬e�Y[�Sb�Wjs�ª�Z>�JZ>lC��ZDlnZ>ªClnm¬egegZLh�m|henWjZ cg��Y[Z�ª��Sb��Jc¶¢­sJl^x�ZLz|zpc�ªCm|egW±m|h�x�s�Y[{jz Z�enZ5m|h�egZLln�Jxenm|sJh$z m cfeL¡�cfZLZ5cgZLx�egm s�h >�© ºj© < ¨ ©

0

10

20

30

40

50

60

70

3 5 7 9 11 13 15 17 19

%

P

Row / RecopiesSlice / Recopies

��m ��ijlnZ�>�© < �j® �5�um h m h-{�Z>l�x�Z>h�e��u��ZPs�«�ZLlgZK���db ��0=���h�� � ; � :\&�cvens�l��u��ZKc&lnZ>zp��egm ��Z?ensAenWjZ�cnx�WjZLY²Z¶ªCm¬enW �& :\� "$��&^�&¢­sJl���s�ªCh��ul��{��Jcgc * q¶] enm|Y[ZLc�ªCm|egW+�uhNsdx�eglnZ>ZDsu¢¶WjZLm|�JW�e6�uh�� � ; �&: �

�>; � �wlgsJi�egm hjZ § cgm|hj�Jz|Z²WjZLm|�JWJe5´�ZLlgh�Z>z ¨ © V�ZLcfenc�{�ZLlf¢­sJlgY[ZK��s�h� ¸�_#q?s�ª�ZLl>�©� h�cgijY[Y��ulnb�¡�enWjZA��ZLcfe�¸�¹µywa²m Y[{jz Z>Y[Z>h�en�uegm s�h�c¶�ulnZ�egWjZLlgZ>¢­s�lnZ � ; �#: �

�>; � �r�uh���+���;?;�

�>; ��� § ��Z>{�Z>h���m|h�� s�h²egW�ZM2L´JZ>lnhjZ>z&WjZLm|�JW�e ¨ ¡�ªCm¬enW�� �0=+�j��e��²cfegsJln����ZJ©

� ��� � � � � �� �� ��� �� � �����

·�Z�WjZ>lnZ�{�lgZKcfZLhJe�egW�Z�Y[ZLY²sJlgb�lnZLo�ijm lnZ>Y[Z>h�encµ¢­s�l�enWjZC¸�¹�ywa-x�s�Y[{jijen��enm|sJh-s�¢M2L©µ��m|l�cvePs�¢��uz zU¡�Y-ijz|egm {�sJz|Z�Z>}d{��uh�cgm|sJh�chjZLZL��egs-��Z5x�s�hd�JZ>lgegZL�[m h�YDijz|egm {�sJz|Z�Z�}�{���h�cfm s�h���ZLx�egsJlncPªCW�sJcgZwcgm �LZwmpc>® ∑P

j=0

∑jk=−j c = (P + 1)2c

¡dªCWjZLlgZc��Z>h�suegZKcenWjZ¯cfm �>Z�su¢5�+x�s�Y[{jz Z�}�hdijYD��ZLl § cgZ>Z�cgZLxenm|sJh < © �j© º ¨ ©1V�W�Z>h1egWjZ M2L

egl��uh�cv¢­ZLlD¢­i�h�xenm|sJh�c��ulnZ�x>s�hd��ZLlfenZL� m hM2L

V�VXW-Y�Z'[\Z^]

Page 55: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

�J� ���������^��!�

-20

-10

0

10

20

30

40

50

60

3 5 7 9 11 13 15 17 19

%

P

Row / RecopiesSlice / Recopies

��m ��ijlnZ�>�© < < ® �5�um h m h-{�Z>l�x�Z>h�e��u��ZPs�«�ZLlgZK���db ��0=���h�� � ; � :\&�cvens�l��u��ZKc&lnZ>zp��egm ��Z?ensAenWjZ�cnx�WjZLY²Z¶ªCm¬enW �& :\� "$��&^�&¢­sJl���s�ªCh��ul��{��Jcgc * q�] egm Y²ZKc5ªCm¬enW �uh�sdx�eglnZ>Z[su¢�WjZ>m ��W�e6�uh�� +���;?;

�>; � ��lgsJi�egm hjZ § ��sJij�jz Z[WjZ>m ��W�e�´�ZLlghjZLz ¨ ©�VµZKcve�c5{�ZLlf¢­sJlgY[ZL��s�h� ¸�_#q?s�ª�ZLl>�©enln��h�cv¢­ZLlCY���eglnmpx�ZLcL©P�jsJlA��s�ij��z|Z5WjZLm|�JWJe

M2L´JZ>lnhjZ>zH¡degWjZ�cgm �LZ�su¢�egWjZKcfZ�Y���enlgmpx�ZKc�m cL®

Tmatrix =(P + 1)(P + 2)

2(P + 1)2c.

V�Wjmpc xL�uh+��ZKx�sJY²Z�o�ijm|egZ��jm|�±¢­sJl�Wjm ��W+���uz ijZLc�s�¢Pcgm|h�x�Z�m|e ��lns�ªAc��Jc O(P 4)

¡?�u�J��m|h�cve O(P 2)¢­s�l�enWjZ�x�zp��cncfmpx

M2Lx>s�Y[{ji�e���egm s�hµ©���s�l5cfm hj��z Z-W�Z>m ��W�ew´JZ>lnhjZ>zH¡�ª�Z[x�s�h�cfmp��Z>lwWjZ>lnZ-Y��ueglnm x>ZLc^�jZLx�sJY[{�s�cfZK�¯��xLx�s�l���m hj��ens �>; �&: ��

�>; ���w��ZLx>s�Y²¥{�sJcgm¬enm|sJh³©�V�WjZ>m l5Y[Z>Y[s�lnb$i�cg����Z-mpc�Wjs�ª�Z>��ZLlCegW�Z²cn�uY[ZD�Jc^ªCm|egW �\������

� ; ���w��ZKx�s�Y[{�sJcgm¬enm|sJh¯ªCWjmpx�WNxL�uh¯��Z²x>s�Y[{ji�enZL��Jc�¢­s�z z s�ªAc>®-egWjZ � �-�����5��Z>m hj�¯hdijYD��ZLlgZK��¢­lgsJY enWjZ�ens�{ ens�egWjZ���s�efegsJYÃsu¢�egWjZ$Y���eglnm|}Q¡�egW�Z �\���$��ªCm|egW hdijY-��Z>lM¡

M ∈ J0, P K¡�W��Jc

M + 1lns�ªAc���h�� ∑P−M

N=0 (2N + 1) = (P −M + 1)2x�s�z ijY[h�cL¡��uh���egWjZ�Y[Z>Y[s�lnb�i�cn�u�JZ^su¢?�uz z � �-�����mpc�egW�Z>lnZ�¢­s�lnZ�®

Tmatrix =P∑

M=0

(M + 1)(P −M + 1)2c =(P + 1)(P + 2)2(P + 3)

12c.

V�WjZ�Y[ZLY²sJlgb�i�cg����Z�¢­s�l : �\���$��

� ; � �C��ZLx>s�Y[{�s�cfm|egm s�h�mpcC�[z|m|efenz|Z��jm|eAWjm ��WjZLlA��ijZ5ens[egWjZ�{jlnZLcgZ>h�x�Z5su¢?cfsJY²Z �LZ>lnsJc�m h$enWjZ�\���$� �©· m|egW�z|ZL��ZLz

2¸�¹µy�a�h�sDs�egWjZLl�Y[ZLY²sJlgb�mpc�hjZLZL��ZK�&©P¸�ije�ªCm|egW�z Z>��ZLz

3¸�¹µy�aQ¡�ª�ZwhjZLZL�$Z�}degl��DY²ZLY[s�lnb�©?��m l�cveCsu¢��uz z¢­sJl�egWjZ x>Z>z z cCªCm|egW±m h�x�sJY[{jz|Z>egZ�m h�egZ>l���x�egm s�h$z|mpcveK¡jª�Z�h�Z>ZL�$evª�s²egZ>Y[{�s�l��ulnb��ji�«QZ>l�c>®PsJhjZ�¢­s�l�enWjZ�Y-ijz|egm {�s�z Z�Y[�ueglnm¬}��uh��enWjZws�egWjZLlr¢­sJl¶enWjZ^z s�x>�uz�Y���enlgm|}&©�V�WjZwhdijY-��Z>l�su¢³Z>}d{��uh�cgm|sJh�crlnZLx>s�{jm ZL�[m h�cgi�x�W��jij«�ZLl����ulnm ZLcr�JlgZK��enz|b[�uh���x>�uh���ZLx>s�Y[Z�JlgZK��ewªCm|egWN��lns�ªCm|h���WjZ>m ��W�encwsu¢¶egWjZ²s�xeglnZ>ZJ®�¢­s�l�Z�}j�uY[{jz Z-ªCm|egW+��W�Z>m ��W�ews�¢

6¡Qm|e�l��uhj�JZLcA¢­lgsJY

1egs

37952©4+^s�ª�ZL��ZLlenWjZ�x>s�Y[{ji�e���enm|sJh�x>�uh ��Z±��c Z>°�x�m Z>h�egz b+{�ZLlf¢­sJlgY[ZL�+ªCm|egW cfY��uz z Z>l-��i�«�ZLlnc-egW��uh enWjZ�Y���}�m Y-ijY#hjZLZL��ZK�&®�m¬¢CenWjZ±cfm �>Zs�¢PegWjZ-evª�s��jij«�ZLlnc^Z>h����jz|ZKc NBuf

Z�}�{���h�cfm s�h�c�egs$��Z�enlgZK��enZL���uz z|egs��JZ�enWjZ>lwm|h�sJhjZ-cgm|hj�Jz|Z-Y[�ueglnm¬}d¥¦Y���eglnm|}${jlns���i�xe��uh��m|¢n{��um lncwsu¢�Y-ijz|egm {�sJz|Z ��z|s�x>��z?Z�}�{��uh�cfm s�h�cwcfW��ulnZ egW�Z[cn�uY[Z

M2L�JZLx�egs�lK¡�ªCm¬enW

n > NBuf¡QegWjZLb��ulnZ enlgZK��egZK�¯ªCm|egW

nNBuf

x>s�h�cgZLx>i�egm ��ZAxL�uz z cL¡�{�z|i�crs�hjZ^xL�uz z�¢­s�lregWjZAlnZ>Y���m|hjm hj��Z>}d{��uh�cgm|sJh�cL©µqrlns��dm ��ZK�DegW���h NBufmpcPWjm ��W�ZLhjs�ij�JW²egs�lnZL��x�W

sJ{�egm Y��uz?z|ZL��ZLz3¸�¹µywa¯Z�°�x�m Z>h�x�b�¡�enWjZ[{�ZLlf¢­sJlgY��uh�x�ZLc^ªCm|z z?��Z²enWjZ²cn�uY[Z²��cwªCm¬enWN�jij«�ZLlncwZ>h����jz m|hj�

nZ�}�{���h�cgm|sJh�c>© � h{jl���x�egmpx�ZJ¡ NBuf

�S��z|i�ZLcr��lgZ�enWjZ^cn�uY[Z^��cPegWjZNbExp

����z|ijZKcr��mpcgx>i�cncfZK�[m|h�cgZLx�egm s�h >�© >�© �wegW���e¶�Jm|�JZLc?enWjZA��ZLcfe¶Z�°�x�m Z>h�x�bQ®x>s�h�x>lgZ>egZ>z b��D¢­Z>ª egW�s�i�cn�uh���c�su¢�Z>}�{��uh�cgm s�h�c��ulnZ5Z>hjsJij��W$¢­s�lA��z|z&����z|ijZKc�su¢P©��s�l x�ZLz|zpc5ªCm|egW x�sJY²{�z|Z>egZ�m hJenZ>l���x�egm s�h�z mpcveK¡�ª�Z[W��S��ZDegs¯��mpcfegm hj��ijmpcgW�enWjZ�cgx�W�Z>Y[Z[ªCm¬enWP�& : �\"���&'�¡���5=1cfegsJln����Z²�uh��

� ; � :\&�cfegs�l��u�JZ�©�· m¬enW �& :\� "$��&^��egWjZ�Y[Z>Y[s�lnb[lgZKo�ijm|lnZ>Y[ZLhJe�c���lgZ^egWjZ5cn�uY[Z��Jcr¢­sJlCx�Z>z zpc¶ªCm|egW�m|h�x�s�Y[{jz Z�enZwm h�egZLln�Jxegm s�h�z|mpcveK®ª�ZChjZ>ZK�Devª�s��jij«�ZLlnc?¢­sJl?egWjZ��& : �\"���&'��s�¢�enWjZCY-i�z¬enm|{�s�z Z^�uh��-enWjZCz sdxL�uzjY��ueglnm x>ZLcL©��jsJlrs�{jegm Y[��zjz Z>��ZLz3¸�¹µywaDZ�°�x>m|ZLh�x�bJ¡ª�ZDsJhjz b�m Y[{�s�cfZDegW���e�egWjZLb¯x>�uh���e5z|ZK��cfe�x>s�h�en��m|h���¢­Z>ª�egWjsJi�cg��h��jcwsu¢¶Z>}�{��uh�cgm s�h�cL©w·�Z[x�s�h�cfmp��Z>lwegW���e�egWjZKcfZ²�ji�«QZ>l�c

����V����

Page 56: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 �uº

xL�uh¯��Z-enWjZDcn�uY[Z²��c^egWjZDs�hjZKc^i�cgZL��¢­s�lwegWjZ²x�Z>z zpc^ªCm|egWNm|h�x>s�Y[{jz Z�enZ-m hJenZ>l���x�egm s�h�z m cfe5��h��±enW�i�cAenW���ewegWjZ[cgx�W�Z>Y[Z-ªCm|egW�& :\� "$��&^�C��sdZLc�h�sueAhjZLZL�±cfi�{j{jz Z>Y[Z>h�en��lgb�Y[ZLY²sJlgbJ©V�WjZ ��5= cfegsJln����Z±��sdZLc[hjs�e�lgZKo�ijm|lnZ±�uhdb egZLY[{�sJln��lgb �jij«�ZLl��ji�e�ªCm|egW3��lns�ªCm hj�Ns�x�eglnZ>Z±WjZ>m ��W�e�c>¡�m¬e�hjZKx�ZKcgcgm¬e���enZLcz s�hj�JZ>lAx>s�h�cgZLx>i�egm ��Z5Y[Z>Y[s�lnb$��lgZK��c�¢­s�l^ZL��x�W�lns�ª�©rV�Wjm c^m cAZ>��ZLh$Y[sJlgZ x>lgm|egmpx>��z&ªCm¬enW � ; � : &^cvens�l��u�JZ�cgm|h�x�Z�m|e^hjZ>ZK�jcCZL��Z>hz s�hj�JZ>lAx>s�h�cgZLx>i�egm ��Z5Y[Z>Y[s�lnb���lgZK��c�¢­s�lAZK��x�W±cfz mpx�Z�©r_¯s�lnZ>s���ZLl¶enWjZ �>; ��� � � � �F&^��m|h�eglns���i�x>ZL�$ªCm¬enW � ; � : &Acvens�l��u��Z�lnZLo�ijm lgZZ>}�enln�$Y[Z>Y[s�lnb�© * s�h�x>lgZ>egz b±ZL��x�WN�jzp�uhj´¯Z>}�{��uh�cgm s�h¯W��JcwegWjZ�cn�uY[Z�cfm �>Z[��c5�$z|s�x>��z?Z�}�{��uh�cfm s�h��uh���egWjZLm|l5hdijYD��ZLl x>�uh��Z²x>s�Y[{ji�enZL�¯�JcA¢­sJz|z s�ªAc § cfZLZD��z cgs$cgZLx�egm s�h >�© ºj© � ¨ ®^��e�z|ZL��Z>z l ¡�¢­s�l5x�ZLz|zpcwªCm¬enW�x�sJY²{�z|Z>egZ-m h�egZLln�Jxegm s�h�z|mpcve5�uh���¢­s�l�ZL��x�Ws�¢µegW�Z�Z>m ��W�e � "�&^�.� + : / �?; ��¡�egWjZLlgZ5mpc

2l−1 − 2.wscgz|mpx�ZKc�ªCm¬enW

2l−1 − 2.wslns�ªAc¶m h±ZL�Jx�W$cgz|mpx�ZJ©�·�Z�W��S�JZ^enWjZ>h

1� ; �-���

�\��� ��eCegW�Z�ZLh����uh�����e�egW�Z���ZL��m hjhjm hj�[su¢�ZK��x�W$lgs�ª�¡�Y[m h�i�c�egWjZ�¤�l�cveA��h���enWjZ�zp��cfe �>; �-��� �\� ��su¢�egWjZ�cgz|mpx�ZJ¡�ªCWjmpx�W$�Jm|�JZLc2 ∗ (2l−1− 2.ws)− 2

�jzp�uh�´�Z�}�{��uh�cfm s�h�c¶{�ZLlCcfz m x>Z�©PV�WjZ�hdijY-��Z>l�su¢��uz z��jzp�uh�´�Z�}�{��uh�cfm s�h�c NB¢­sJl���h�s�xenlgZLZws�¢³WjZ>m ��W�e

Hmpc�egWjZLlgZ>¢­s�lnZ ∑H

l=3 8(2 ∗ (2l−1 − 2.ws) − 2)(2l−1 − 2.ws)§ egWjZLlgZ�mpc5hjs�x�ZLz|zpc�ªCm|egW x�sJY²{�z|Z>egZ[m|h�enZ>l���xenm|sJhNz mpcve�¢­sJlz Z>�JZ>zpc

l ≤ 2 ¨ ¡jªCWjmpx�W$lnZLcgijz|enc�¢­s�l ws = 1m h³®

NB =

H∑

l=3

16(2l−1 − 3)(2l−1 − 2) =16

3.4H − 80.2H + 96.H +

128

3.

V�s�cfijY[Y��ulnm �>Z�¡denWjZ cnx�WjZ>Y[Z5ªCm¬enW �& : �\"���&'����h�� ��0=+cvens�l��u�JZwW��S�JZ^enWjZ cn�uY[Z5Y²ZLY[s�lnb�lgZKo�ijm|lnZ>Y[ZLhJeK¡dh��uY[Z>z bQ®MemSg(P, H) = N (H)

((P + 1)2 + (P+1)(P+2)

2

)c +NT Tmatrix

+NBuf

((P + 1)2 + (P+1)(P+2)

2

)c,

§ >�© � ¨��h���ªCm¬enW � ; � :\&CcfegsJln����Z�ª�Z5W��S�JZ�®

MemDb(P, H) = N (H)((P + 1)2 + (P+1)(P+2)

2

)c +NT Tmatrix

+NB(P+1)(P+2)

2 c +NBuf

((P + 1)2 + (P+1)(P+2)

2

)c.

§ >�© � ¨� ��� �7����� � ���� � � ��� �� ����� ��3 � ��� � �4� ��� �9��� � � �� �� � � � ����� �

M2L� � ���� �� � ������ �

�whjZ[x�sJijzp�N��lg�JijZ enW���e cgs�Y[ZDcg{�ZLZL��i�{NY[m ��W�e���Z[��c�ª�Z>z z�sJ��en��m|h�ZL��¢­s�l��?��V9�uh��Nlgs�en�uegm s�h�cwªCWjZ>hNi�cgm|hj���& :\� "$��&^��s�l�j�uen�[cfegs�l��u�JZLc�cgi�x�W��Jc�egWjs�cfZ���ZKcgx>lgm ��ZL���u��s���Z�©·�Z-W��S�JZ5egWdi�cwm|Y[{jz Z>Y[ZLhJenZL�±enWjZDcnx�WjZLY²ZDªCm¬enWM�& :\� "$��&^�^��h�� ��0=�cfegsJln����Z5¢­sJlw�?�?V5©�V�ZLcfencwª�ZLlgZ�{�Z>lg¢­s�lnY[ZL��¢­sJl���jz s�x�´N�JZ>l�cfm s�h�su¢CenWjZ��?�?V ªCm¬enW+egWjZ$i�cgi��uzr��z|s�x�´+cfm �>Z4©���m l�cve-m|e²��{j{�ZL�ul�c�egW���e-enWjZ�i�cgZ�s�¢�� & :\�\"���&^�-�jln��Y[�uegmpx>��z|z b��ZL��l�����ZKc�enWjZ�{�Z>lg¢­s�lnY��uh�x>ZLcL®Nm h���ZLZL�3enWjZNx>sJcfe$su¢(�& :\� "$��&^��¢­sJl$��z|s�x�´3���?V mpc$�ue$z ZL�Jcve�evªCmpx�Z�egWjZNs�hjZ�¢­s�l�¸�¹�ywax>s�Y[{ji�e���egm s�h�cgm|h�x�Z5egW�Z cfm �>Z�s�¢�enWjZ �ulnln�Sb�c¶¢­s�lCenWjZ �?�?V mpc2(P + 1)2

§ cgm hj��z Z�WjZ>m ��W�eA´JZ>lnhjZ>z ¨ ¡jx>s�Y[{��ulnZL��egs (P + 1)2¢­sJl�Y-ijz|egm {�sJz|Z��JZLx�egs�l�c��uh�� (P+1)(P+2)2

¢­sJl�z|s�x>��zPZ�}�{���h�cfm s�hN��ZKxegsJlncL©D_¯s�lnZ>s���ZLl^enWjmpc�x�sJcfe�m c5h�sue-�uY[sJlfenm �LZL�¯�db�enWjZzp�uln��Z>¥H�Jln��m|h�x�s�lnlnZ>zp��egm s�hNm|h O(P 3)�Jc�m¬eDª��Jc5ªCm¬enW+egWjZ�¸�¹�ywa+x�sJY[{ji�en�uegm s�h ��ijZ�egs±egW�Z�Y���eglnm|}�¥¦Y���enlgm|}�{jlns���i�xeDm|h

O(P 4)©Py�e¶zp��cfer��ZKcfmp��ZKcrz s�hj�JZ>lP{jm {�ZLz|m hjZKc>¡JegWjZ^s�hjz b-���um h-enW���e¶Y[m ��W�e¶��ZAZ�}�{�ZLx�egZL�²ªCWjZLh���lns�ij{�m|hj��cgZ>�JZ>l��uz

M2L{���m|l�cmpc5egs¯�S�Js�mp�¯enWjZ�lnZ>z sJ���Nsu¢�egW�Z��ulnln�Sb�x>s�h�en��m|hjm hj��egW�Z

M2Legl��uh�cf¢­Z>l5¢­i�h�xenm|sJh�m h��jsJijlnm|ZLl cf{��Jx�Z[��Z�evª�Z>Z>h�evª�s

M2Lx>s�Y[{ji�e���egm s�h�c>® {�suenZ>h�egmp�uz z b�¡�egWjZLlgZ�mpc�WjZLlgZ�h�s���lnZL��e ���um h³© � eDW���c ��z cgs�egs¯��Z�hjs�egZL��enW���e²cfi�x�W cnx�WjZ>Y[ZKc�m|Y[{jz b�s�hjZ��lgl��Sb�¢­sJl^enWjZ²z|s�x>��z�Z>}�{��uh�cgm s�h�c^m|h��js�i�lgm Z>l5cf{���x�Z ¢­s�l5Z>�JZ>lnb�x>Z>z z�s�¢PegWjZ²z Z>��ZLz�ªCW�m x�W�cfZL��Z>lnZ>z b�m|h�x>lgZK��cgZLcAegWjZ²Y[Z>Y[s�lnbhjZLZL�jcL©\^Z>��ZLlfenWjZ>z ZLcncL¡&ª�Z[W��S�JZ²��z cgs�enZLcfegZK���?�?V ªCm¬enW ��5=1cfegsJln����ZDªCWjm x�W �S�Js�mp�jcAenWjZ�x�s�cveg¢­ijz �& :\� "$��&^�©�V�WjZ�x>Z>z z c5ªCm|egWm h�x�sJY[{jz|Z>egZ�m|h�enZ>l���xenm|sJh�z m cfe�ªCW�m x�W�lnZLo�ijm lnZ^Y[s�lnZ.�& :\� "$��&^�r¢­sJl¶enWjZ>m l�z|s�xL�uz�Z�}�{��uh�cfm s�h�c¶ª�ZLlgZ�x�sJY²{�i�egZK����c�i�cgi��uzH©�+AZLlgZhjs�cgz s�ªA��s�ªCh�ª���c�Y[ZL�JcfijlnZL�³¡��ji�eAhjs[�J��m|h�Z>m|egW�Z>lK©ywc?Z�}�{jzp�um hjZL�Dm|h[cgZLxenm|sJh²º�© ºj¡uª�ZCxL�uhjhjs�e�i�cfZC¸�¹µy�a�ens5cg{�Z>ZL�Dij{²egW�ZM2Lx>s�Y[{ji�e���egm s�hDªCm¬enW[lgs�en��enm|sJh�cL©³· m¬enWjs�ije¸�¹µy�a�xL�uz z c5m|e�m c�enWjZ>h�z m|´JZ>z b±egW��ue hjs�cg{�Z>ZL�jij{NªCm z zP��Z�sJ��en��m|hjZK��¢­sJl�lgs�en��enm|sJh�cwªCWjZ>h���lns�ij{�m|hj�±cgZ>��ZLln��z

M2L{���m|l�cªCm|egW±Z>m|egW�Z>l.�& :\� "$��&^��s�l���5=�cfegsJln����ZJ©

V�VXW-Y�Z'[\Z^]

Page 57: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

�-> ���������^��!�

� 4 �-,.±�����>%µ� � �-0 ��!$�M2L

�>,.��?�A@ �A,B�C�D��%� ��� � � � � �� �� ��� �� � �����·�Z²¤�lncfe�x�s�Y[{���lgZ-egWjZ²Y[Z>Y[s�lnb�lnZLo�ijm lgZLY²ZLh�encAs�¢¶enWjZ²�jm¬«QZ>lnZ>h�e�cgx�WjZLY[ZLc5cfm h�x>ZDm|e�Y��Sb���Z-enWjZ²¤�l�cve�x�Wjs�mpx�Z²x�lnm¬enZ>lnm|sJh³©·�Z WjZLlgZ�¢­s�x�i�cAs�hjz b�sJh$enWjZ�Y[Z>Y[s�lnb�i�cgZL�$¢­sJlCegWjZ�Z>}�{��uh�cgm s�h�cL®�egWjZ Y[ZLY²sJlgb�i�cfZK�$¢­s�l�egW�Z {��ulgegmpx�z ZLc�lnZ>Y���m|h�c�m h���ZLZL�ijh�x�W��uhj�JZL�[ªCWjZLh�x�sJY[{ji�egm hj�

M2Ls�{�Z>l���enm|sJh[�jm¬«QZ>lnZ>h�egz b�©P]wcfm hj� enWjZ>sJlgZ>egmpx>��z�ZLcfegm Y���enm|sJh�crZKcve��u�jz m cgWjZK�[m|h § < © < > ¨ ¡d�uh��§ < © < � ¨ ¢­sJlrenWjZ^x�zp��cncgm x M2L

x>s�Y[{ji�e���enm|sJh³¡ § ��© = ¨ ��h�� § �j© < < ¨ ¢­s�l¶egWjZ M2Lx�sJY²{�i�en�uegm s�h[ªCm¬enW��?�?V5¡ § ºj© < = ¨ ��h�� § º�© ��� ¨¢­sJl�egWjZ�sJhjZ[ªCm¬enW lgs�en�uegm s�h�cL¡³�uh�� § >�© � ¨ �uh�� § >�© � ¨ ¢­s�l5enWjZ�¸�¹µy�aNx>s�Y[{ji�e���enm|sJh³¡µª�Z[W��S��Z[{jz suegegZL��m h�¤���ijlnZ���© < ¡�¢­s�lZK��x�WNcnx�WjZLY²ZJ¡QegWjZ²l���egm s�s�¢�m|enc�Y[Z>Y[s�lnb�hjZLZL��ens�enWjZ�x�zp��cncfmpx

M2LY[Z>Y[s�lnb±hjZ>ZK�&¡³i�cgm hj����h�s�xenlgZLZ-s�¢¶WjZ>m ��W�e

6��h��sJhjz|b�Y-ijz|egm {jz ZLc�s�¢¶egW�Z����?V �jz sdx�´Ncfm �>ZJ©[��s�l ¸�¹µy�a�x�s�Y[{jijen��enm|sJh�cL¡³ª�Z[W��S�JZDi�cfZK� NBuf = 5000

§ cgZ>Z�cgZLxenm|sJh�>�© � ¨ªCWjmpx�W±m cCcgijlnZ>z b��jm �[Z>hjsJij��W$¢­s�lCsJ{�egm Y��uzµ¸�¹µy�a�Z>°�x�m Z>h�x>b�©· Wjm z Z5egWjZ5lnsuen�uegm s�h$lgZKoJi�m|lnZ>Y[Z>h�e�c���lgZ5�uz Y[sJcfe�i�hjhjsuenm x>ZL���jz|ZJ¡j�uh���egW�Z ¸�¹�ywa�s�hjZKc�lgZLY��um h�Y[s���Z>l���enZ�¡j�?�?V Z�}denln�Y[Z>Y[sJlgb��u{�{�ZK�ulC��c�{jlns��jz Z>Y���enm x�¡JZKcf{�ZLx>m ��z|z b[¢­s�l���sJij�jz ZwWjZLm|�JW�eM2L´�ZLlghjZLzU©?V�WjZ5cg��Y[Zwl���enm|s�c¶�u{�{jz|b[¢­sJl�s�egWjZLlC���?V�jz s�x�´�cgm �>ZLcL©C_�s�lnZ>s��JZ>lK¡degWjZDln�uegm s�su¢

2¢­sJlw¸�¹µy�a�m|h±enWjZD��sJij�jz Z WjZLm|�JWJew´�Z>lnhjZLz³ªCm¬enW¯Wjm ��W����uz ijZKcAsu¢

Pm cw��ijZ-egs�enWjZ��ZLh�cgZ

M2Legl��uh�cv¢­ZLl�Y��ueglnm x>ZLc § cgZ>Z�cgZLxenm|sJh >�© � ¨ ®�¢­s�l5Wjm ��WjZLl5sdx�eglnZ>Z[WjZLm|�JWJe�cwegWjmpc5ln�uegm s$lnZ>Y���m|h�c5x>z|s�cfZDegs 1.5

¡³cgm|h�x>ZenWjZ hdijY-��Z>l^su¢M2L¢­ijh�x�egm s�h�c^m cAx>s�h�cfen��h�eAªCWjm|z Z5egW�Z hdijY-��Z>lAs�¢rx�Z>z zpcCm|h±enWjZ�s�xenlgZLZ���lns�ªAc�Z�}�{�sJhjZ>h�enm ��z|z b�©�y�eAz �JcveK¡enWjZ ���j�jm¬enm|sJh��uz³x>sJcfe�s�¢�enWjZ �>; ��� � �\���F&'��m h�� ; � :\&

� & �-�^���� � &Cs���Z>l � �5=�

�&\���^��-� � &�m c��JZ>lnb�cgY[��z|zH©

��� ����� �� � � � ��

RotationsBLAS with re-copies or rowsBLAS with slicesFFT with block size 4

� �� �� � ���� � � ����m ��ijlnZ^��© < ®�_�Z>Y[s�lnb-lnZLo�ijm lnZ>Y[Z>h�enc?s�¢QegWjZ^�jm¬«QZ>lnZ>h�e

M2Lx>s�Y[{ji�e���egm s�h�cnx�WjZ>Y[ZKc?¢­s�l¶��h�WjZ>m ��W�ers�¢

6§ ln�uegm sJc?ens x�zp��cncfmpx

M2Lx>s�Y[{ji�e���egm s�h�lnZLo�ijm lgZLY²ZLh�enc ¨ ©

� � � ��� ��� � �� � ���/� �������� � � �����M2L

�� � � ���m ��ijlnZD��© �[x�sJY[{��ulnZLc�enWjZD�jm¬«QZ>lnZ>h�ewcnx�WjZ>Y[ZKcC¢­s�lw�uh�s�xenlgZLZ su¢rcgm �LZ

5© � ¢?egW�ZD¸�¹µy�a±��ZLlncgm|sJh$sJi�eg{�Z>lg¢­s�lnY�cCegW�Z-x�zp��cncfmpx

M2L�JZ>l�cfm s�h+�uh���enWjZ�sJhjZ�ªCm¬enW lgs�en�uegm s�h�cL¡³enWjZ��jz s�x�´N�?�?V mpc5¢£�JcvenZ>lK¡µZLcg{�ZLx�mp�uz z b¯¢­s�l-�S��z|i�ZLc s�¢

PWjm ��W�Z>l5egW��uh

10©

+^s�ª�ZL��Z>l^ª�Z�lnZLxL�uz z³egW���eL¡�ªCm|egWjsJi�e^lnZLcnx>�uz m hj��su¢?egW�Z-{���lfenm x>z|Z x>s�sJln�jm|h��uegZKc>¡jm h�enWjm cAegZKcvewegWjZ²���?V ªCm|egW¯�jz s�x�´�cgm �>Z4mpcijh�cve��u�jz Z5¢­s�l

P ≥ 14¡j�uh��$egW�Z�sJhjZ�ªCm|egW±�jz sdx�´$cfm �>Z

3¢­s�l

P ≥ 23§ cgZ>Z5e��u�jz Z-��© < � ¨ ©· WjZLh1¢­sdx>i�cgm|hj�+sJh z s�ª �uh�� Y[ZL�jm|ijY {jlnZLx�mpcgm|sJh�c>¡¶ª�Z±lnZLx>��z|zC��z cgs�enW���e�¢­sJl���lns�ªCm|h���WjZLm|�JWJe�c²su¢�egWjZ±s�xenlgZLZ$enWjZ¸�¹µy�a�x�sJY[{ji�en�uegm s�h[ªCm|egW � �0=

�&\���^��-� � &PsJl � ; � :\&�

�&\���^��-� � &P��ZLx�sJY[ZLcrY[sJlgZCZ>°�x>m|ZLh�e�cfm h�x>ZCegWjZwz|ZLhj�uenW�su¢&lns�ªAcP�uh��cgz|mpx�ZKc�m|h�x�lnZL��cgZLc��ueCegWjZ5z ZL��¢?z Z>��ZLz&ªCWjmpx�W$lnZ>{jlnZLcgZ>h�e�c�Y[s�cveCsu¢�egW�Z�lgijh�enm|Y[Z�®denWjZ�hdijY-��Z>lCs�¢�Z>}�{��uh�cgm s�h�c�eglnZL�uegZK��m h±s�hjZz Z>�JZ>z3¸�¹µywa¯x>�uz z³enWdi�c^m h�x>lgZK��cgZLcL¡���c^ª�ZLz|z���c^egWjZDZ�°�x�m Z>h�x�b�su¢PegW�ZD¸�¹µy�aQ©���m ��ijlnZD�j© º�cgWjs�ªAcAegW��ue�¸�¹µy�a±m cwx�z ZL��lgz bx>s�Y[{�Z>egm|egm ��Z ªCm|egW¯egWjZ²���?V ªCm|egW¯�jz s�x�´$cgm �LZ

4¡�m|hN�uh±s�xeglnZ>Z-su¢PWjZ>m ��W�e

7��h���¢­s�lwz|s�ª �uh��±Y[ZK��m|i�Y {�lgZKx�mpcfm s�h�cL©�V�WjZY[Z>Y[sJlgb�lnZLo�ijm lgZLY[Z>h�enc�su¢�egWjZ��?�?V m Y[{jlgs��JZ>Y[Z>h�eC�ulnZw{�lgsJ�jz|ZLY���egmpxwWjZ>lnZ�¡�cgm|h�x>Z5s�h�¤���ijlnZ5�j© ºj¡�egWjZ5�jlni�e��uzQm|h�x�lnZL��cgZ�m|hlnijh�egm Y[Z5¢­s�lA�?�?V �ue

P = 10mpcC��ijZ5ens�cfª��u{j{�m|hj����ZKcf{�m¬enZwenWjZ < ���5¸ su¢�Y[ZLY²sJlgb$�S�S��m|zp�u��z|ZJ©

� ��� � ��� ��� � �� � ��� �4��� � � � ��������M2L

� �� � �· m|egW ��sJij�jz Z²W�Z>m ��W�e�´�Z>lnhjZLzU¡QenWjZ[i�cfZ[s�¢�¸�¹µy�a�x>z|ZK�ulnz|b�sJi�eg{�Z>lg¢­s�lnY�c���z|z?s�egWjZLl�Y²Z>egWjs��jcL©[��m ��i�lgZ���© >�x>s�Y[{���lgZKc^enWjZ��m|«QZ>lnZ>h�ewcnx�WjZ>Y[ZLc�¢­sJlA�uh±s�xenlgZLZ�su¢?WjZ>m ��W�e

5©��js�l�enWjZ-¸�¹µy�a$ª�Z�W��S�JZ5{jz|s�efenZL��s�hjz b�enWjZ(��5=+����en�[cfegsJln����Z�¡���i�e � ; � : &cfegsJln����ZD��h���enWjZ�cgx�W�Z>Y[ZDªCm|egW �& :\� "$��&^��W��S��Z²cfm Y[m|zp�ul�{�ZLlf¢­sJlgY���h�x�ZKc>©-��s�l�egW�Z²�?�?V5¡QegWjZ[�jz s�x�´���ZLlncgm|sJh¯ªCm|egW��jz|s�x�´�cs�¢�cfm �>Z

4W��S�JZ ��Z>Z>hN{jz suefenZL� 5&ªCm|egWNs�ijlwegZKcve�c>¡Qm|e�mpcws�hjz b�cve��u�jz Z-¢­sJl

P ≤ 8§ cfZLZDcgZLx�egm s�h���© G ¨ ¡³��h���Y[s�lnZDcfen���jz|Z²�?��V

����V����

Page 58: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 ���

1

10

100

1000

10000

100000

5 10 15 20 25 30

Tim

e (s

econ

ds)

P

classicRotations

FFT with block of size 2 FFT with block of size 3 FFT with block of size 4

Block blas with Row

��m ��ijlnZ²�j© �j®^¹³sJ�J�ulnm|egWjY[mpx ��s�ªChdª���ln�±{���cnc * q¶]9egm Y[ZLc�su¢¶egWjZ[��m|«�ZLlgZLhJeM2Lx>s�Y[{ji�e���enm|sJh�cgx�W�Z>Y[ZLcL¡�¢­s�l5�uh�s�x�eglnZ>Zs�¢�WjZLm|�JW�e

5��h���ªCm|egW�cgm|h���z Z�W�Z>m ��W�e

M2L´JZ>lnhjZ>zH©PVµZKcve�cC�ulnZw{�Z>lg¢­s�lnY[ZL�$s�h��uh � ¸�_ q?s�ª�Z>l�º-ªCm|egW¯�,�5¸ s�¢�Y[Z>Y[sJlgbJ©

ªCm|egW±z s�ª�ZLl��jz s�x�´�cfm �>ZKc��ulnZ�cgz|s�ª�Z>lK©�_¯s�lnZ>s���ZLlL¡�ª�ZwW��S�JZ�cfegsJ{�enWjZ�egZLcfencC�ueP = 19

cgm|h�x�Z�s�h$egWjZ � ¸�_ q?s�ª�Z>l�º § ªCW�Z>lnZenWjZ�egZKcve�cCª�Z>lnZ�{�Z>lg¢­s�lnY[ZL� ¨ ¡�egW�ZD�9�5¸ s�¢�Y[ZLY²sJlgb�ª�ZLlgZ�m h�cgi�°�x�m Z>h�eC¢­s�lA��z|zµ�?�?V �jz sdx�´$cfm �>ZKcCªCm¬enW P > 19© +As�ª�Z>��ZLlm|e�Y-i�cfe���Z[hjsuenm x>ZL�¯egW��ue��uewenWjmpcws�x�eglnZ>Z²WjZ>m ��W�eL¡QenWjZ²lgs�en��enm|sJhNcnx�WjZ>Y[ZD��ZKx�s�Y[ZKc^¢£�JcvenZ>l�egW��uhN��z|z�enWjZ�¸�¹�ywa�cgx�WjZLY[ZLc¢­sJl

P ≥ 23®�egW�m c5mpc�su¢�x�sJijlncgZDegWjZ��u¢ egZ>lnY���enWNs�¢¶egW�Z²z s�ª�Z>l5s�{�Z>l���enm|sJhNx�sJijh�e5¢­s�l5egW�Z�lgs�en��enm|sJhNcnx�WjZ>Y[ZJ©²��m h��uz z|bJ¡��Jc¢­sJl-cfm hj�Jz|Z[WjZLm|�JWJe�´JZ>lnhjZ>zH¡³enWjZ�¸�¹µywa�x>s�Y[{ji�e���egm s�h�ªCm|egW � �5=

� & �-�^���� � & �uh�� � ; � : &�

�&\���^��-� � &5��ZLx�sJY[Z�Z>��ZLhNY[sJlgZZ>°�x>m|ZLh�eC¢­s�lCWjm ��WjZLlCWjZ>m ��W�e�c�su¢µenWjZ�s�xenlgZLZ�©� ��� � � � � ������� ���4� � �� � � �� � � h sJln�jZ>l�ens�m z|z i�cfegl���egZ�egWjZNZ�°�x�m Z>h�x�b1su¢�egW�ZN¸�¹µy�a3��ZLlncgm|sJh�c[enW���e�Y[��´�ZKc[egWjZLYB¢£��cfegZLl�egW��uh enWjZ�s�egWjZLl$cnx�WjZ>Y[ZLcL¡ª�Z${�lgZKcfZLhJe²egW�Z$e��u�jz Z��¯enW���e�cgWjs�ªAcDegWjZ±_¯�?¹ �wq�a § _¯m|z z|m s�h�c[su¢w��z sJ��enm|h��Nq?s�m h�e �w{�Z>l���enm|sJh�cD{�ZLl�adZLx>s�h��jc ¨ ªCWjZ>hx>s�Y[{ji�enm|hj�

M2L©?V�WjZ�lgZKcfi�z¬e�c¶�ulnZwcgWjs�ªCh��Jc¶{�Z>l�x�ZLhJe��u�JZLcrs�¢&egWjZ�{�ZL�u´[{�Z>lg¢­s�lnY��uh�x>ZAsu¢&enWjZ � ¸�_»q?s�ª�Z>l�º5i�cgZL�&® < �����_¯�?¹ �wq�aQ©QV�WjZ>b±W��S�JZ���ZLZ>h�x>s�Y[{ji�enZL��ªCm|egW�enWjZ +w�ul���ª��ulnZ�q�ZLlf¢­sJlgY���h�x�Z _�sJhjm|egs�l § +^q¶_ ¨ Vµsds�z ´dm¬e § ��ZLlncgm s�h¯��© >�© º ¨�Jc^enWjZ[�S��Z>l��u�JZ _¯�?¹ �wq�a�l���egZDs���ZLlw�uz z

M2Lx>s�Y[{ji�e���enm|sJh�c^s�¢���¢­ijz|zP�?_¯_.x�sJY²{�i�en�uegm s�h³© ��s�l�z|ZL��Z>zPº$¸�¹�ywaQ¡&ª�ZW��S�JZ5i�cfZK� �>; �#:��

� ; � �C�uh�� +���;?;�

�>; � ��lgsJi�egm hjZLc�¢­sJlClgZKcf{�ZLx�egm ��ZLz|b�cgm hj��z Z��uh��±��sJij�jz Z�W�Z>m ��W�eC´�Z>lnhjZLz cL¡�ªCm¬enW��uh�sdx�eglnZ>Z5su¢WjZLm|�JW�e5�uh���ªCm|egW �& :\� "���&'� § enWjZ ���j�jm¬enm|sJh��uzµx>sJcfeAsu¢Px�sJ{�bdm hj�²egWjZ�Z>}�{��uh�cgm s�h�c�mpcChjs�e^x�s�h�cfmp��Z>lnZL�$WjZLlgZ cgm|h�x�Z5ª�Z5¢­s�x�i�csJh$enWjZ ¸�¹µy�a�lns�ijegm hjZ5Z�°�x�m Z>h�x>b ¨ © � eCen��´�ZKc�m|h�egs��Jx>x�sJijh�eA�uz z³x�Z>z zpc>¡jmH© Z�©PªCm|egW��uh���ªCm|egWjsJi�e^x�sJY[{jz|Z>egZ5m hJenZ>l���x�egm s�h�z|mpcveK©V�WjZwWjZ>m ��W�e¶s�¢&egWjZws�xeglnZ>Zw��sdZLcrh�sue¶Y���egegZLl¶¢­sJl�x�zp��cncgm x

M2L¡�lnsue���egm s�h�cr�uh������?V5©dV�WjZLcgZAlnZLcgijz|enc¶xL�uh�Wjs�ª�Z>�JZ>lPhjs�e���Z��m lnZLxenz|b²x�sJY²{��ulnZL��¢­lns�Y s�hjZ�lns�ª�ens5egWjZCs�egWjZLlL®�ª�Z�lnZLx>��z|z�W�Z>lnZ�enW���ePenWjZCs�{�Z>l���enm|sJh�cPx�sJijh�er��m¬«QZ>l�c � +^s�ª�ZL��Z>l?m|e¶x�z ZL��lgz bm z|z i�cfegl���enZLcwWjs�ª Z�°�x�m Z>h�enz|b�egW�ZD{jlns�x�ZKcgcgs�lwm cwi�cgZL��m h¯enWjZ²�jm¬«QZ>lnZ>h�e5m|Y[{jz Z>Y[Z>h�e���egm s�h�cw��h���ªCWdb�¸�¹�ywa�x�s�Y[{jijen��enm|sJh�csJi�eg{�Z>lg¢­s�lnY egW�Z�suegW�Z>lAcnx�WjZ>Y[ZLcL©V�WjmpcPe��u�jz Zw��z cgs�m h���mpx>��enZLc¶egW��ue¶s�i�l���ZKx�s�Y[{�sJcgm¬enm|sJh�su¢&enWjZ^Y���enlgm|}d¥HY��ueglnm¬}²{jlgs���i�xer¢­sJl�cgm|hj�Jz|Z^WjZ>m ��W�e¶´JZ>lnhjZ>z�m|h�enWjZ

�>; �#:���

� ; ����lns�ijegm hjZ�¡denWjs�ij�JW$cn��enm cf¢£��x�egs�lnb�¡dmpc�hjsueCsJ{�egm Y��uz&ªCWjZLh�x>s�Y[{��ulnZL��egs²egW�Z +���;?;�

�>; ����lns�i�enm|hjZ5Z>°�x>m|ZLh�x�b�su¢µenWjZ��sJij�jz Z�WjZ>m ��W�eC´�ZLlgh�Z>zH¡�ZLcg{�ZKx�mp�uz z|b�¢­sJlCz|s�ª ���uz ijZLc�s�¢P©

V�VXW-Y�Z'[\Z^]

Page 59: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

��� ���������^��!�

0

2000

4000

6000

8000

10000

12000

14000

3 4 5 6 7 8 9 10

Tim

e (s

econ

ds)

P

FFT with block of size 4Block blas with Recopies

Block blas with RowBlock blas with Slice

��m ��ijlnZ���© ºj® � s�ªChdª��ul��¯{��Jcgc * q¶] enm|Y[ZLc su¢¶enWjZ���m|«�ZLlgZLh�eM2Lx>s�Y[{ji�e���egm s�h+cnx�WjZ>Y[ZLcL¡&¢­sJl �uh�sdx�eglnZ>Z²su¢�WjZ>m ��W�e

7��h���ªCm¬enW±cgm hj��z Z5WjZ>m ��W�eM2L´�Z>lnhjZLzU©PV�ZLcfencA��lgZ�{�ZLlf¢­sJlgY[ZK��sJh±��h � ¸�_<q?s�ª�ZLlnºDªCm¬enW < ���5¸ su¢?Y[Z>Y[s�lnb § * � \ (�a ¨ ©

adm hj�Jz|Z5WjZLm|�JWJeM2L´JZ>lnhjZ>z � s�ij��z|Z5WjZLm|�JWJe

M2L´JZ>lnhjZ>z

P = 7 P = 15 P = 7 P = 15x�zp��cncgm x =�© > � < �j© º � < >�© � � <:G © º �lnsuen�uegm s�h�c �j© > � ��© G � G © > � < �j© = ��?�?V ªCm|egW±�jz s�x�´�cfm �>Z > >�© � � < º � < ��© > � <:G © > �z Z>��ZLz3¸�¹�ywa >J��© > � � > � G ��© = � G =j© � �

V��u��z|Z ��® * sJY[{ji�en�uegm s�h���zQZ�°�x�m Z>h�x>m|ZKcCsu¢�egWjZ �jm¬«QZ>lnZ>h�eM2Lx�sJY²{�i�en�uegm s�h±cgx�WjZLY[ZLcL©

� ��� � ������� �� � � �4��� ����� �� �4 �� ����� �� � � ���

·�Z^W��S�JZA�uz lgZK����bDcfZLZ>h § cgZ>ZAegWjZLs�lnZ>Y > ¨ enW���e��-cfW���lg{[ZLlglns�lr��s�i�h��[W���c¶��ZLZ>h[enWjZ>sJlgZ>egmpx>�uz z b-{jlns���ZLh²sJhjz b-¢­sJlPegWjZ�cfm hj�Jz|ZM2LWjZ>m ��W�e�´�ZLlghjZLzU©?V�WjZ5��s�i��jz|Z�WjZLm|�JWJe

M2L´�Z>lnhjZLz�mpc�x�Z>lgen��m|h�z|b[Y[s�lnZ^{jlnZLx>m cgZ�¡���h���¢­sJl��D��m ��ZLh�{jlnZLx�mpcgm|sJh�m¬eCª�s�ijzp�enWjZ>lnZ�¢­sJlgZ�lnZLo�ijm lgZKcC�[z|s�ª�Z>lC����z|ijZ5¢­sJl

PegW���h±egWjZ-cgm hj��z Z�WjZ>m ��W�eAsJhjZ�©�¸�ijewcfm h�x>Z�hjs�{jlnZLx�mpcgZ�Z>lnlgsJl���s�i�h��±m cw�S���um z ���jz|Z¢­sJlA��s�ij��z|Z�WjZLm|�JW�e�´JZ>lnhjZ>zH¡�ª�Z5xL�uhjh�sueA�²{jlgm s�lnm&´dhjs�ª ªCW��ueCegWjmpcCz s�ª�ZLl

PªCm z|z³��Z�©

·�Z�enW�i�c-x�sJY[{��ulnZ�WjZ>lnZ * q¶]'egm Y[ZLcDªCm¬enW�{jl���xenm xL�uz¶�Jx>x>ijln�Jx�m ZLc�¢­sJl-��suegW ´�Z>lnhjZLz¶WjZLm|�JWJe�c>©�ywcD��z|lnZL�J��b�Z>}d{�sJcgZL�§ cfZLZ5¢­s�l�Z�}j�uY[{jz Z,� · +*��=->9"&¢­s�lA��sJij�jz Z�W�Z>m ��W�eM2L´�Z>lnhjZLzU¡��uh�� � ~A��h�=U=."µ¢­s�lCcfm hj�Jz|Z5WjZLm|�JWJeC´JZ>lnhjZ>z ¨ ¡denWjZLcgZ5{jln�Jxenm xL�uz�Jx>x�i�ln�Jx�m ZLcA��lgZ���Z�egegZ>l^egW���h�egW�Z�egWjZLs�lnZ�enm xL�uzµsJhjZLcAªCWjm x�W¯x>s�lnlgZKcf{�s�h���ens�ª�s�l�cveg¥¦xL��cgZwZLlglns�l�c>©�V�WjZKcfZ ª�s�l�cfef¥ x>��cgZ�Z>lnlgsJlnc��lgZ�m|h���Z>ZK� sJ��en��m|hjZK��ªCm|egW3cf{�WjZ>lnm xL�uz�lgZL��m s�h�cL¡rªCWjm z Z$ª�Z$i�cfZ±m h ¢£�Jxe�cfY��uz z Z>l�x�ij��m xL�uzCx�ZLz|zpc²��ZKx>�ui�cfZ�su¢wegWjZ±s�xenlgZLZ�©_�sJlgZLs���ZLlL¡dª�Z�i�cfZ�lnZ>zp��enm|�JZ5Z>lnlgsJl�m h�cfegZK���±su¢P�u��cfsJz|i�enZ5s�hjZ cgs[egW��ueCegWjZ-lgZKcfijz|enc^�ulnZ�{�lgsJ�jz|ZLY�m h���ZL{�ZLh���Z>h�eK¡��uh���enWjZLcgZlnZ>zp��enm|�JZ²ZLlglns�l�c5�ulnZ²x>s�Y[{ji�enZL�N¢­s�l egWjZ�{�suenZ>h�egmp�uz¶��h��Nhjsue�¢­sJl5egWjZ�¢­sJlnx>Z�x�s�Y[{�s�hjZLh�enc5��ZLx>��i�cgZDenWjZLcgZ�zp��efenZ>l�c�x>��h���Z��z|Y[sJcfe^hdijz zU©^a�m|h�x>ZDcgs�Y[Z-��mpcnx�s�h�enm|hdijm|egm ZLcA��{j{�ZL�ulwm|h±enWjZ-{�suenZ>h�egmp�uz�Z>lnlgsJlC¢­s�lw{��ulgegmpx�z ZLc^x�lnsJcncfm hj��x�ZLz|z���sJijh��j��lgm ZLc § cgZ>Z

����V����

Page 60: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 �J�

10

100

1000

10000

100000

4 6 8 10 12 14 16 18

Tim

e (s

econ

ds)

P

classic FFT with block of size 4

RotationsFull blas with Row

��m ��ijlnZ²�j© >�®^¹³sJ�J�ulnm|egWjY[mpx ��s�ªChdª���ln�±{���cnc * q¶]9egm Y[ZLc�su¢¶egWjZ[��m|«�ZLlgZLhJeM2Lx>s�Y[{ji�e���enm|sJh�cgx�W�Z>Y[ZLcL¡�¢­s�l5�uh�s�x�eglnZ>Zs�¢µWjZ>m ��W�e

5�uh���ªCm|egW$�js�ij�jz Z�WjZ>m ��W�e

M2L´�Z>lnhjZLzU©?VµZKcve�c��ulnZA{�ZLlf¢­sJlgY[ZK��s�h$�uh � ¸�_�q?s�ª�Z>l�º5ªCm¬enW�� �5¸1su¢µY[Z>Y[sJlgbJ©

� ~A�uh =U=." ¨ ¡µª�Z²x�Wjsds�cfZDegs�cfegi���b¯egWjZ[Y[s�lnZ²cfen���jz Z[~^_�a��S�JZ>l��u�JZ Z>lnlgsJlwm h�cfegZK���Nsu¢¶enWjZ[Y���}�m|YDijY�ZLlglns�lK©-V�Wjmpc�~A_�a�S�JZ>l��u��ZwZ>lnlgsJlεrmsmpcCx�sJY²{�i�egZK���Jc�¢­s�z z|s�ªAcL®

εrms =

√√√√ 1

N

N∑

i=1

(ΦDir − ΦFMM

ΦDir

)2

.

·�Z�x>s�h�cgmp��Z>l�WjZ>lnZw�-��l��S�dm¬e���egm s�h��uz�{�suenZ>h�egmp�uzQx�sJY[{ji�egZK��¢­sJl���h�ijhjm|¢­s�lnY'��mpcvenlgm �ji�enm|sJh�ªCm|egW100000

��sd�jm|ZKc���h�����hs�xenlgZLZ�su¢QWjZ>m ��W�e4¡uªCW�m x�W²lgZKcfi�z¬e�c?m|h

25��sd�jm|ZKc?{�ZLlrz|ZK��¢�m|h²egW�ZCY²ZK�uh³©�·NZClnZLxL�uz zdegW��uerªCWjZ>hDegW�ZCh�i�Y-��Z>lPsu¢Q��sd�jm|ZKc?{�ZLlz ZL�u¢?m h�x>lgZK��cgZLcL¡degWjZ {��ulgeAsu¢�egWjZ h�ZL�ul�¤�Z>zp� § ��m lgZKxenz|b±x�sJY²{�i�egZK� ¨ m h$enWjZ {�suenZ>h�egmp�uz³��ZLx>s�Y[ZLcAWjm|�JWjZ>lw�uh��$egW�Z {�s�egZLhJenm ��z��ZLx>s�Y[ZLc¶egWdi�c�Y[s�lnZ^{jlnZLx>m cgZ�©?��m|�JijlgZ5��© �5{jlnZLcgZ>h�encL¡J¢­s�l¶ZK��x�W

M2Lcgx�W�Z>Y[Z�¡JegWjZ^egl�����ZLsu«±��Z>evª�ZLZ>h�{�ln�Jxegmpx>��z�ZLlglns�l¶��h��

* q¶]�egm Y[ZLc § ��s�ªChdª���ln�${��JcgcCsJhjz b ¨ ªCm¬enW���s�egW�cgm|h���z Z �uh�����sJij�jz Z WjZLm|�JWJeA´JZ>lnhjZ>zpcL©�V�WjZDcgxL�uz ZLcC�ulnZ�z s��J��lgm|egW�Y²mpxu¡��uh��enWjZ����uz ijZKc�su¢P{jz suefenZL��¢­sJl-��s�i��jz|Z�WjZ>m ��W�e ´�ZLlgh�Z>zrl��uhj�JZ[¢­lgsJY

3ens

14ªCm¬enW ��cfegZ>{ s�¢

1¡�ªCWjm|z Z�¢­sJl-cfm hj�Jz|Z�WjZLm|�JW�e´JZ>lnhjZ>z�egWjZLb¯l��uhj�JZ�¢­lgsJY

3ens

29ªCm¬enW�cfegZL{

P = 14m|h���s�ij��z|Z²WjZ>m ��W�e��uh��

P = 29m|h�cfm hj��z Z-W�Z>m ��W�e5x>s�lnlgZKcf{�s�h��m h���ZLZL�$egs[enWjZ cg��Y[Z5�Jx>x>ijln�Jx�b § {�lgZKx�mpcfZLz|b�enWjZ5¤�l�cveA�Jx>x�i�ln�Jx�b���Z>z s�ª

1.0× 10−9 m|h±s�i�l�cgm Y-ijzp��enm|sJh ¨ ©ywc²¢£�ul���c[x>z �Jcgcgm xM2Lm c�x>s�h�x>Z>lnhjZL�³¡regW�Z±cgm hj��z Z±WjZ>m ��W�e�´�ZLlghjZLz�m c[Y[s�lnZ±Z�°�x�m Z>h�e[¢­s�l[z s�ª�{jlnZLx>m cgm s�h�c[�uh���enWjZ��sJij�jz Z�WjZ>m ��W�e�s�h�Z[¢­s�l�Wjm ��W�{jlnZLx�mpcgm|sJh�c>©�V�Wjmpc cgz|m ��W�enz|b��jm¬«QZ>l�c�¢­lgsJY�enWjZ�lgZKcfi�z¬e�c5su¢�� (rz z =��." § cfZKxenm|sJh * © ºj© < ¨ ªCWjZLlgZ���jlnm Z�¢Cx�s�Y[{���lgmpcgs�h�i�cfm hj�±enWjZ>sJlgZ>egmpx>�uzPsJ{�ZLln�uegm s�h+x�sJijh�e �dcL©��Jx>x�i�ln�Jx�b¯cgWjs�ªAc�egW��ue ��s�egW WjZLm|�JW�enc ��lgZ²egW�Z>s�lnZ�enm xL�uz z|bN��cZ>°�x>m|ZLh�eL©y^h��N�JcwegWjZLs�lnZ�egmpx>��z|z b²tvi�cfegm|¤�ZL�Nm|h+cgZLxenm|sJh�c < © ��© >j¡µ��¡³º��uh����j© >j¡&ªCW�m|z Z[lgs�en��enm|sJh��uh��N¸�¹µy�a¯x>s�Y[{ji�e���egm s�h�c^¢£�S�Js�lenWjZ ��s�i��jz|Z�W�Z>m ��W�eC´�Z>lnhjZLzU¡denWjZ �?��V m Y²{�lgs��JZ>Y[Z>h�e�m c��JZ>hjZLln��z|z b�Y[s�lnZ�Z>°�x�m Z>h�eAªCm¬enW�cfm hj��z Z5WjZ>m ��W�eC´�ZLlgh�Z>zH©

V�WjZLlgZ>¢­s�lnZAª�Z�cfegm z|z�W��S�JZAegs[x�sJY[{��ulnZCegW�Zw��ZLcfe�s�¢µZL�Jx�W�cgx�W�Z>Y[Z�®�egW�m c�mpc���sJhjZ�m|h�¤���ijlnZ��j© � ªCWjZ>lnZ^ª�Zw{�lgZKcfZLhJe��?��V��h���¸�¹µy�a²��Z>l�cgm|sJh�cPs�h[enWjZwcn�uY[ZA{�z|s�e § x>z �Jcgcgm x^�uh��[lnsue���egm s�h�cPW��S��ZA��z|lnZL�J��b-��Z>ZLh���mpcgxL�ul���ZL�²m h�cgZLxenm|sJh�c��j© �5��h����j© º ¨ ©V�WjZ[¸�¹µy�a�m hN��sJij�jz ZDWjZLm|�JW�e�´JZ>lnhjZ>z?�ulnZ�egW�Z>h+x�z ZL�ulnz b$Y[s�lnZ-Z>°�x�m Z>h�ewenW��uh�egWjZ��?�?V ªCm|egWNcgm hj��z Z-WjZLm|�JW�e�´JZ>lnhjZ>zH®C�dbV�VXW-Y�Z'[\Z^]

Page 61: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

� G ���������^��!�

-10

-9

-8

-7

-6

-5

-4

-3

1 10 100 1000 10000Log

RM

S r

elat

ive

erro

r fo

r po

tent

ial.

Downward pass CPU times (seconds)

SingleDouble

� � � ��� � ���

-10

-9

-8

-7

-6

-5

-4

-3

0.1 1 10 100 1000Log

RM

S r

elat

ive

erro

r fo

r po

tent

ial.

Downward pass CPU times (seconds)

SingleDouble

����� � � � � � ��� � � � 4�

-10

-9

-8

-7

-6

-5

-4

-3

1 10 100 1000Log

RM

S r

elat

ive

erro

r fo

r po

tent

ial.

Downward pass CPU times (seconds)

SingleDouble

� � � � � � � �

-10

-9

-8

-7

-6

-5

-4

-3

1 10 100 1000Log

RM

S r

elat

ive

erro

r fo

r po

tent

ial.

Downward pass CPU times (seconds)

SingleDouble

����� � �����������������! �"$#&%(')�!� �*���� �"�+-,���. � ��� ��� � � ���m ��i�lgZ���© ��®PV�ln�J��Z>s�«Qc���Z�evª�Z>ZLh${jl���x�egmpx>��z³��x>x>ijl���x�m ZLc��uh�� * q�] egm Y²ZKc�¢­s�lAcgm hj��z Z��uh�����s�i��jz|Z�W�Z>m ��W�eC´�Z>lnhjZLz cL©

Z>}���Y[{jz|ZKc>¡�¢­sJl���{jln�Jxenm xL�uzµZLlglns�l^��ZLz|s�ª1.0 × 10−6

§ lnZLcg{�ZLxenm|�JZ>z b1.0 × 10−8 ¨ egWjZ²�J��m|h�m c�ºJ� � § lgZKcf{�ZLx�egm ��ZLz|b�º�� �²¨ ©V�Wjmpc�¢­ijz z b����uz m ����egZKc�egWjZ�lnZ>z Z>����h�x�Z�su¢?s�ijlCh�Z>ª ¸�¹�ywa$��ZLlncgm|sJh$x>s�Y[{��ulnZL��egs[enWjZ�{jlnZ>�dm|sJi�c

M2Lm|Y[{jlns���ZLY²ZLh�encL©

-10

-9

-8

-7

-6

-5

-4

-3

0.1 1 10 100 1000

Log

RM

S r

elat

ive

erro

r fo

r po

tent

ial.

Downward pass CPU times (seconds)

Single, FFT, block size 4Double, FFT, block size 4

Single, block_blas, rowDouble, full_blas, row

��m ��i�lgZ ��© �j®P�?�?V ��z|s�x�´�cgm �LZ�>��dcL©P¸�¹µywa § � ; �#: ��

�>; � � � +���;?;�

� ; ���¡ ��5=�cfegsJln����Z ¨ ©

����V����

Page 62: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 �-=

� 4 � ��������%µ�>� �� h$egWjmpc�{���{�ZLlL¡�ª�ZwW��S��Z�{jlgZKcfZLh�egZL�$�uh$s���Z>l��uz zQcveni���b�s�¢µegW�Z���ZLcfeCm|Y[{jz Z>Y[ZLhJe���enm|sJh$s�¢³egWjZ ����cfe�_¯ijz¬enm|{�s�z Z _�Z>egWjs���¢­s�lenWjZwcgZ>lnm ��z�x>s�Y[{ji�e���egm s�h�s�¢&��l��S��m|en�uegm s�h���zjs�l¶Z>z ZLxenlgs�cve���enm xAcgm Y-ijzp��enm|sJh�cPsu¢³i�hjm¬¢­sJlgY ��mpcvenlgm �ji�enm|sJh�cL©?y ��Z�e��um z|ZK��cveni���b[su¢enWjZ-ZLlglns�lA��s�i�h���W��JcAz ZL���±i�cCegs�evª�s�Z>}�{jlgZKcgcgm s�h�cCs�¢PegWjZ

M2Ls�{�Z>l���ens�l�enW���e5x�s�hd�JZ>lgencA��YDijz|egm {�sJz|ZDZ�}�{��uh�cfm s�h±m hJens�±z s�x>�uzPZ>}�{��uh�cgm s�h³®5ªCWjm z|Z � � � �>; &(/1&)���:/

M2L� &)�^��&>;�mpc��JZ>hjZLln��z|z b�Y[s�lnZ²Z>°�x�m Z>h�eL¡�s�hjz b �^�!� �9; & /1&)���:/

M2L�U&)�^��&>;ZLh�cfi�lgZKcC�²cgW���lg{�Z>lnlgsJl���s�i�h��&©��s�lCZL�Jx�W

M2LZ�}�{jlnZLcncfm s�h³¡�ª�Z�W��S�JZ�Z>°�x�m Z>h�egz b�m Y[{jz|ZLY[Z>h�egZK����m¬«QZ>lnZ>h�e^cnx�WjZ>Y[ZKc�egW��uewcf{�Z>ZK��ij{

M2Lx�sJY²{�i�en�u¥enm|sJh³®�cnx�WjZ>Y[ZKcAcfi�x�W±�Jc ����� =,�!!/ � ; �&: � �A��h������ �������������z|z s�ª �[lnZL��i�xegm s�h±s�¢�enWjZ5egW�Z>s�lnZ�enm xL�uz³sJ{�ZLln�uegm s�h±x�sJijh�eA¢­lgsJY

O(P 4)ens O(P 3)

¡PªCWjm z|Z�egWjZ$m|h�enlgs���i�x�egm s�h s�¢^¸�¹�ywa § ¸���cgm x�¹µm|h�ZL�ul²yAz ��ZL�jln�Nadij�j{jlns��Jln��Y�c ¨ �JlgZK��egz bNo�ijmpx�´�ZLh�c�enWjZO(P 4)

x�sJY²{�i�en�uegm s�h³©V�s�s�ijlC´dhjs�ªCz ZL�j��Z�¡denWjmpcAmpc�egWjZ5¤�lncfeAm|Y[{jz Z>Y[ZLhJe���enm|sJh�s�¢�enWjZ-�?�?V Z>hjW���h�x�ZLY[Z>h�eC¢­s�lA��sJij�jz Z�WjZ>m ��W�eM2L´JZ>lnhjZ>zH©·�Z�W��S��Z���z cgs$�Js�hjZ[m h�egs���Z�e��um z c5s�¢�enWjZ�m Y²{�z|ZLY²ZLh�en��enm|sJh���h���ª�Z[W��S�JZ²cgWjs�ªChNegW��ue hdijY[Z>lnm xL�uz?m|h�cve��u�jm z|m|egm ZLc lgZLY[��m|hZL��Z>h±m h�enWjZ �jz s�x�´���ZLlncgm s�h�s�¢µenWjm cAm|Y[{jlns���ZLY²ZLh�eL©PV�WjZ�lnsuen�uegm s�h±cgx�W�Z>Y[Z5W���c���Z>ZLh�{�lgZKcfZLhJenZL�$m|h���Z>en��m|zpcC��xLx�s�l���m hj�DegsenWjZ5¢­s�lnY-ijzp�uZ5i�cgZL�$m h�sJijlA�?_¯_#m|Y[{jz Z>Y[ZLhJe���enm|sJh³©ywc-�uh ��z¬enZ>lnh���enm|�JZ�¡���¸�¹�ywa § ¸���cgmpx�¹³m hjZL��l-yAz ��ZL�jln��adi��j{jlns���l��uY�c ¨ ��Z>l�cgm|sJhNW��Jc���Z>Z>h {�lgsJ{�s�cfZK�¯¢­sJl�egWjZ$��Z>h�cgZY���enlgmpx�ZKcCsu¢�egW�Z-��s�i��jz|Z�W�Z>m ��W�eA´�ZLlghjZLzµ��c�ª�Z>z z��Jc�¢­s�lCenWjZ-cg{��ul�cgZ�Y��ueglnm x>ZLc�su¢?enWjZ cfm hj�Jz|Z�WjZLm|�JW�eAs�hjZJ©�y�cnx�WjZ>Y[Z�ªCm|egW

�& :\� "$��&^��W���c¶¤�l�cve�Y�����Z�{�sJcncfm �jz Z^enWjZwi�cfZ�su¢�z|ZL��Z>z3¸�¹�ywa�lgZKcfijz|egm hj�²m|h$m|Y[{jlnZLcncgm|�JZwcg{�ZLZL��ij{�c>©¶ad{�ZLx>m ��z&�j��e��-cfegs�l��u�JZLc¢­sJl-enWjZ�Z>}d{��uh�cgm|sJh�c ZLm¬enWjZ>lD�db � �0=���s�lD��b � ; � :\&'�5W��S��Z�enWjZ>h Z>h����jz|ZK�+i�c-egsN�S�Js�mp�NegWjZ����j��m|egm s�h��uz�x�sJcfe-s�¢.�& : �\"���&'�¡ZKcf{�ZLx>m ��z|z b�¢­s�lCz s�ª {�lgZKx�mpcfm s�h�cL©qrlnZLx>m cgZAsJ{�ZLln�uegm s�h�x�sJijh�enc��uh���Y²ZLY[s�lnbDlnZLo�ijm lgZLY[Z>h�encPW��S��Z^��z cgs ��Z>Z>h$��m ��ZLh[¢­s�l¶ZK��x�W�cnx�WjZ>Y[Z��uh��[¢­sJl¶��suenW

M2L´JZ>lnhjZ>z�WjZ>m ��W�e�c>©�V�Wjm c5�JcAª�Z>z z?�Jc * q¶]9egm Y[ZLcw¢­lns�Y {jl���xenm xL�uz�cfm Y-ijzp��enm|sJh�cwW��S��Z ��Z>ZLh�i�cgZL��egs�{�lgZKx�mpcfZLz|b±x�sJY²{��ulnZ-�uz zenWjZLcgZ���m¬«QZ>lnZ>h�e���ZLlncgm|sJh�cL© � eA�u{�{�ZK�ul�crenW���e�egW�Z5¸�¹�ywa���Z>l�cgm|sJh��uh���egWjZ��?�?V m Y[{jlgs��JZ>Y[Z>h�e�ªCm¬enW$�jz s�x�´�c���lgZ^egWjZ5Y[sJcfeZ>°�x>m|ZLh�e ��Z>l�cgm|sJh�c>©²· Wjm z|Z�egWjZ�¸�¹µy�a¯�JZ>l�cfm s�hNm c-�uz ª��Sb�cw¢£��cfegZLl�m|h x>�JcfZ²su¢C��sJij�jz Z�WjZ>m ��W�e�´�ZLlghjZLzU¡³egWjZ��jz s�x�´��?�?V9mpc¢£�JcvenZ>l-ªCm|egW1cfm hj�Jz|Z�W�Z>m ��W�e-´�ZLlgh�Z>zr¢­sJl-Wjm ��W {jlgZKx�mpcfm s�h�c>©<+^s�ª�ZL��Z>l5enWjZ�Y[ZLY²sJlgb�lnZLo�ijm lgZLY²ZLh�enc s�¢�egWjZ��jz sdx�´+�?�?V ��cª�Z>z z³��c�egW�Z�lnZ>Y���m|hjm hj�Dh�i�Y²ZLlgmpx>��zQm|h�cfen���jm z|m|egm ZLcL¡�{jlnZLx�mpcgZ>z bD¢­sJl�Wjm|�JW${�lgZKx�mpcfm s�h�cL¡�z|m Y[m¬e^cgZ>�JZ>lnZ>z bDenWjZ5��ZLhjZ�¤�e�m|eCsu«QZ>l�c�¢­s�llnijh�egm Y[ZDm h¯enWjm c5xL��cgZ�©�V�Wjmpcwmpc�lgZLm|hj¢­s�l�x�ZL�±ªCW�Z>hNx>s�Y[{���lgm hj��enWjZDegl�����ZLsu«+��Z>evª�ZLZ>h�{�ln�Jxegmpx>��z��Jx>x>ijln�Jx�b±�uh��¯lgijh�enm|Y[Z��Y²sJhj�[�uz z��JZ>l�cfm s�h�c>®µegWjZ�¸�¹µy�a�ªCm|egW±��s�i��jz|Z�WjZLm|�JWJeC´JZ>lnhjZ>z�m c�enWjZ>h±�uz ª��Sb�c¶egWjZ5Y[sJcfe�Z�°�x�m Z>h�eL¡�ªCW�m|z Z5m|h�eglns���i�x>m|hj�DhjshdijY[Z>lnmpx>�uz&m h�cfen���jm|z m|egm ZLcA��h���z s�ª Z>}degl��-Y[Z>Y[sJlgb�lnZLo�ijm lnZ>Y[Z>h�encL©� e^W���c�ens���Z h�suegZK��egW��ue^m h � �5~#=d�&"���h���m|h � * �5~#= =0"¦¡��[hjZLª �JZ>l�cfm s�h�su¢�egW�Z-�?_¯_ÃW���cA��ZLZ>h�m hJenlgs���i�x�ZL�³©�¸���cgZL�sJh�Z>}�{�sJhjZ>h�egmp�uzPsJl �f{jz ��hjZ[ª��S�JZ �DZ>}�{��uh�cgm s�h�cL¡³m|e-z|ZK���jc�ens�m|Y[{jlnZLcncgm|�JZ[cg{�Z>ZL�jij{ x�s�Y[{���lgZK�¯ens±egWjZ�sJlgm ��m h���z?¢­s�lnY-ijzp��¥enm|sJh�su¢¶egWjZ��?_¯_ ©&V�Wjmpc�hjZ>ª ��Z>l�cgm|sJh�lgZKoJi�m|lnZLcwWjs�ª�Z>��ZLl^Y[s�lnZDx>s�Y[{jz Z�}�Y���enWjZ>Y���enm xL�uz?���Jx�´��JlgsJijh�����h���enW�i�cwY[sJlgZm Y[{jz|ZLY[Z>h�en�uegm s�h¯ª�s�ln´Q©wadm h�x�ZDhjs�¢­lnZ>Z²x�s���Z-s�¢PegWjmpcwhjZ>ª �JZ>l�cfm s�h±mpcwx>ijlglnZ>h�enz|b±�S���um z ���jz|ZJ¡�ª�Z W��S�JZ hjs�ewb�Z>ew��Z>ZLhN�u��z|Zens�x�s�Y[{���lgZ�m|eAªCm¬enW�sJijlC¸�¹µywa$�JZ>l�cfm s�h³©?\AZL��ZLlfenWjZ>z ZLcnc>¡�m|eAW��Jc�egs[��Z�h�suegmpx�ZK��enW���eCenWjmpcChjZ>ª ��ZLlncgm|sJh�m Y[{�s�cfZKc�egZL�jm|sJi�c�J�j�u{�e���enm|sJh$��Z�evª�Z>ZLh$enWjZ�Z>lnlns�l�m|h�enlgs���i�x>ZL�$�db�egWjZ-Y-ijz|egm {�sJz|Z ��h��$z|s�x>��z&Z�}�{���h�cfm s�h�c�su¢µenWjZ �?_¯_(�uh���enWjZ�Z>lnlgsJlC��ijZens-enWjZwi�cfZ�su¢µ{�z ��hjZ^ª��S��ZKc>®�s�hjz b�� ¢­ZLª {jlnZLx�mpcgm|sJh�c¶��lgZ^egWdi�c��S���um z ���jz|ZJ©�V�W�Zwi�cgZ^s�¢µ{jzp�uhjZ�ª��S��ZLcrm c�b�Z>e�{�lgsJY²mpcgm|hj�D�uh��mpcAcfegm z|z³m hd��ZKcvenm|����egZK� § cfZLZ � � +^�->9" ¨ ©� h�enWjZA¢­ijegijlnZ�¡�ª�Zw{jzp�uh[egs²�u{j{�z|b[¸�¹µywa[egs�enWjZw�J�j�u{�enm|�JZA��ZLlncgm s�h[su¢QegW�Zw�?_¯_ § cfZLZ � * �5~ GUG "Qs�l�� \�2�¹�· =U>0" ¨ ¡d�uh��enWjZ>h[ens cfZLZCWjs�ª enWjmpcPªCm|z zjY���e�x�W[m¬e�cr{���ln��z|z Z>z m �K��enm|sJh ¢­s�l¶��s�egW�ijhjm|¢­s�lnY ��h��²hjs�h[ijh�m¬¢­sJlgY ��m cfeglnm �ji�egm s�h�cPs�h���mpcvenlgm �ji�enZL�Y[Z>Y[sJlgb���lnx�W�m¬enZLxenijlnZLcL©: �����$� �'���C)�� �A,B�C�D��%·�Z^�ulnZ���l���enZ�¢­ijz�ens ��ijm z|zp�uijY[ZA¹���egiµ¡ � * q�a�¥ ¹�a �f� V § ¹��u��s�l���egsJm|lnZ���ZLc¶ajx�m Z>h�x>ZLcr��ZCz�� � Y[����ZJ¡J��ZCz�� � hj¢­s�lnY[�uegmpo�ijZCZ�e¶��Z^z �V�kLz|kK��k�enZLxenm|sJh ¨ ��h�� � \^~ � y * y^¹)( � {jlnsutvZKxeK¡u¢­s�l�cfZL��ZLln��zjWjZ>z {�¢­ijzQ��mpcgx>i�cncfm s�h�crs�h[egW�ZAijh���ZLlgz bdm|h���egZKx�WjhjmpoJi�ZLcrs�¢³¸�¹�ywa��h��$egWjZLm|lCm h�egZ>�Jln�uegm s�h$m|h�egW�Z ��_�_ ©

V�VXW-Y�Z'[\Z^]

Page 63: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

�J� ���������^��!�

: : �N�C��)$���¯*+;²±!$���?����� ��!����P,B� �$�>��%·�Z�m|h�enlgs���i�x>ZDW�Z>lnZ-enWjZ�cf{�WjZ>lnm xL�uz?W���lgY[s�h�m xLc^ªCWjmpx�W+�ulnZ-enWjZ[����cgm c�s�¢¶egW�Z²YDijz|egm {�sJz|Z���h��¯z s�x>�uzPZ>}�{��uh�cgm s�h�cwi�cgZL�Nm|henWjZ �?_¯_ ¡���h��$egWjZ �Jcgcgs�x�mp��egZK��¹µZ>��ZLh���lnZ^¢­i�h�xenm|sJh�c�egW�Z>b$��lgZwegW�Z>Y�cfZLz|�JZLc����JcfZK��sJh³©� ��� �-� ��� � ����� � � � �� � �� � �4� � ��� ����� �� h

3Dcf{��Jx�Z�ª�Z�i�cgZ¶enWjZ�¢­s�z z|s�ªCm hj�5x�sJh��JZ>h�egm s�hµ¡Sx>s�Y[Y[s�hjz b�i�cgZL�Dm|hD{jWdb�cfmpx>cL¡�¢­s�l�enWjZCcf{jW�Z>lnm xL�uzdx�sds�l���m h���enZLc�®

θ��Z>h�suegZKcenWjZwx>su¥¦z �uegm|egi���m h���z�x�sdsJln��m h��uegZ § ªCm|egW

θ ∈ [0, π] ¨ ��h�� φegWjZwz|sJhj��m|egi��jm|h���z�x>s�sJln�jm|h��uegZ § ªCm¬enW

φ ∈ [0, 2π[¡φx>s�lnlgZKcf{�s�h���cens[egWjZ�{�s�zp�ulC�uh���z Z�m h±{�sJz ��lAx�sds�l���m h���enZLc ¨ �JcCcfW�s�ªCh$m h�¤���ijlnZ�y © < ©

x

φy

0

θ

r

z

P (r, θ, φ)

��m ��i�lgZ�y © < ®rad{�WjZ>lnm xL�uz³x>s�sJln�jm|h��uegZKc�s�¢�{�s�m h�eP (r, θ, φ)

©

·�Z ��Z�¤�hjZ5egWjZ ¹µZ>�JZ>h���lnZ�{�sJz|bdhjsJY²mp�uzpc�ªCm|egW�~Cs���lnm|�JijZLc ��¢­s�lnY-ijzp�j®

Pl(x) =1

2ll!

dl

dxl

(x2 − 1

)l ∀ l ≥ 0.

V�WjZ �Jcgcgs�x�mp��enZL��¹µZ>�JZ>h���lnZ�¢­ijh�x�egm s�h�cL¡P m

l

¡��ulnZ5�jZ�¤�hjZK����bQ®

P ml (x) = (−1)m(1− x2)m/2 dm

dxmPl(x) ∀ (l, m) ∈ N

2 with 0 ≤ m ≤ l.

·�Z�Z�}degZLh��$egWjZ �jZ�¤�hjm|egm s�h±s�¢µegW�sJcgZ5¢­ijh�xenm|sJh�c�egs�h�Z>�J�uegm ��Z����uz ijZLc�s�¢m§ ªCm¬enW�cvenm|z z |m| ≤ l ¨ ��cL®

P−ml (x) = (−1)m (l −m)!

(l + m)!P m

l (x).§ y-© < ¨

V�WjZ5¢­sJz|z s�ªCm hj�D{�lgsJ{�ZLlfenm|ZKcC�uz z|s�ª ��h±Z�°�x�m Z>h�eAx�sJY²{�i�en�uegm s�h�su¢�egWjs�cfZ�¢­ijh�x�egm s�h�cL®(l −m)P m

l = x(2l − 1)P ml−1 − (l + m− 1)P m

l−2,

P mm = (−1)m(2m− 1)!!(1− x2)m/2,ªCWjZLlgZ

n!!��ZLhjsuenZLc�egW�Z�{jlgs���i�xeAsu¢?�uz z&s��j��m|h�egZL��ZLlnc�ZLo�i���z&s�lCz s�ª�ZLl�egW���h

n©ry^h��&®

P mm+1 = x(2m + 1)P m

m .

+^Z>lnZ �ulnZ^enWjZ5¤�l�cveA��cncgsdx>m �uegZK�$¹µZ>��ZLh���lnZ^¢­i�h�xenm|sJh�c>®P 0

0(x) = 1 P 0

1(x) = x P 0

2(x) = 1

2(3x2

− 1) . . . . . .

P 1

1(x) = −(1 − x2)

12 P 1

2(x) = −3x(1 − x2)

12 P 3

3(x) = −15(1 − x2)

32 P 3

4(x) = −105x(1 − x2)

32

P 2

2(x) = 3(1 − x2) P 4

4(x) = 105(1 − x2)2

. . .��m|h���z|z b�¡�ª�Z5W��S�JZ^enWjZ5¢­s�z z|s�ªCm hj�[{jlns�{�Z>lgevb�su¢�{��ulnm¬evbQ®P m

l (−x) = (−1)m+lP ml (x).

����V����

Page 64: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 � <

� � �7 � � � � � � � �8� � ���4� � � �· m|egW�egWjZ[��cncfs�x>m �uegZL��¹µZ>�JZ>h���lnZ�¢­ijh�xegm s�h�c

P ml

Z�}denZ>h���ZK�±egs$hjZ>����enm|�JZ ���uz ijZLcwsu¢m¡&��c���Z�¤�h�ZL��m h § y © < ¨ ¡&�$x�s�Y[Y[s�h��Z>¤�hjm|egm s�h±su¢�egW�Z cf{jW�Z>lnm xL�uzQW��ulnY[s�hjmpx�su¢ �U& �-� & &

l��h�� ���� &'�

m¡jªCm¬enW

l ≥ 0Z�e −l ≤ m ≤ l

mpcL®

Υml (θ, φ) =

√(2l + 1)

(l −m)!

(l + m)!P m

l (cos θ)eimφ.

+^s�ª�ZL��Z>lK¡d��c�Y[Z>h�egm s�h�ZL���db<� ��lnZ G G "¦¡degWjZ�hjsJlgY���z|mpcg�uegm s�h�¢£��xens�l √ (2l+1)4π

xL�uh±��Z���mpcnx>�ul���ZK��m h�egWjZ �?_¯_Ãx�sJY[{ji�¥e���egm s�hµ©�·�Z�egWjZLlgZ>¢­s�lnZCx�s�h�cfmp��Z>l?WjZLlgZK��¢ enZ>lrcg{jWjZ>lnmpx>�uzdW���lgY[sJhjm xLc?��Z�¤�h�ZL�²ªCm¬enWjs�ijePegWjmpcPhjsJlgY��uz mpcg�uegm s�h ¢£�Jxens�lK©�_�sJlgZLs���Z>lm h�s�l���Z>lregs-cgm|Y[{jz m|¢­b-enWjZC¢­s�lnY-i�z ��Z�¢­s�lPenWjZAs�{�Z>l���ens�l�c?i�cgZL�[m h[egWjZ^�?_¯_ § cgZ>ZAcgZLxenm|sJh < © ��© < ¨ ¡�ª�Z^m|h�eglns���i�x>Z εm

��Z�¤�hjZL��dbQ®εm =

{(−1)m m|¢ m ≥ 0,1

suenWjZ>lnªCmpcfZ,cgs²egW��ueAs�ijl § ijhjhjsJlgY��uz m �>ZL� ¨ cg{jWjZLlgmpx>��z&W��ulnY[s�hjmpx>c���lgZ5��Z�¤�hjZL���dbQ®

Y ml (θ, φ) = εm

√(l −m)!

(l + m)!P m

l (cos θ)ei.m.φ,§ y © � ¨

ªCWjmpx�W�x>��h���z cgsD��Z�ªClnm¬egegZ>h § ªCm¬enWjs�i�eCenWjZP m

l

ªCm|egW±hjZL�J��enm|�JZwsJln�jZ>l�c ¨ ®

Y ml (θ, φ) = (−1)m

√(l − |m|)!(l + |m|)!P

|m|l (cos θ)ei.m.φ.

$½ � ����� � �*5 � �$/F� ���U&�� � �!*���-�1:\���^� &^��"�������� �C!/�& �-��& �F�'&\� � ��� "$ �-��� � &) � �-�^/��� � � ��� �

· WjZLh¯hjsJlgY��uz m �>ZL�³¡jegW�Z²cg{jWjZLlgmpx>��z³W��ulnY[s�hjmpx>cA¢­s�lnY ��h¯s�lgegW�s�hjsJlgY��uz&����cgm cA¢­s�lw¢­ijh�xenm|sJh�cf(θ, φ) ∈ R

©�_�s�lnZ>s��JZ>lª�Z�Z>Y[{jW��Jcfm �>Z�enW���eCs�i�lAcf{jW�Z>lnm xL�uz&W���lgY[s�h�m xLc���lgZ�x>s�h�cgm �jZ>lnZL���Jc�m �jZ>h�egmpx>��z|z b�hdijz z&¢­s�ll < 0sJl |m| > l

©� h±{���lfenm x>ijz ��l�ª�Z5W��S�JZ�®Y 0

l (θ, φ) = Pl(cos θ),��h��±�uzpcfsDegWjZ5¢­sJz|z s�ªCm hj�[{jlgsJ{�ZLlfevb���Y[s�hj�²s�{j{�sJcgm|egZ�s�l���ZLlncL®Y −m

l = Ym

l

§ y © º ¨ªCWjZLlgZ

z��ZLhjsuenZLc�enWjZ x�sJY²{�z|Z>}�x�sJh�tvij����egZ�su¢

z ∈ C©· WjZLhDx>s�h�cgm �jZ>lnm|hj�w�^�JZLxens�l

Zs�¢�cg{jWjZ>lnmpx>�uz�x�sds�l���m h���enZLc

Z = (r, θ, φ)��h���m|enc�s�{j{�sJcgm|egZ¶�JZLx�egs�l −Z

ªCW�sJcgZ�cg{jWjZ>lnmpx>�uzx>s�sJln�jm|h��uegZKc���lgZ −P = (r, π − θ, π + φ)¡jª�Z5W��S��Z�egW�Z>h³®Y m

l (π − θ, π + φ) = (−1)lY ml (θ, φ).

y�eAzp��cfeCª�Z5W��S�JZwenWjZ5¢­s�z z s�ªCm|hj�²ª�Z>z z¬¥¦´dhjs�ªCh�enWjZ>sJlgZLY § cgZ>Z��!��lgZ GUG " ¨ ®B.N ½dÁ � ½ � ; � �[Â�Â�9£�H9 Á 8 B.N ½dÁ � ½ � D Á �$�HL�N ½ ��9£�J� , N��j� � Á 8 9£�J� � � � �!% &)� %�& :' ���\�

P1 = (r1, θ1, φ1)���$�

P2 =(r2, θ2, φ2)

�-���γ�\&'�!� �.0/1& ��� �5; & �\&) =�&\&)�C!/�&

2%�& :' ���\�#�U&�� �$&\� � ���

cos γ = cos θ1 cos θ2+sin θ1 sin θ2 cos(φ1−φ2)�

0/1&�� � ���!������ �$/1&\���&) +'��� � � ���*"�/1&)�^� :\�0;$/����^ (��� � :^�.� ���

Pl(cos γ) =

l∑

m=−l

Y ml (θ1, φ1)Y

−ml (θ2, φ2).

V�VXW-Y�Z'[\Z^]

Page 65: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

��� ���������^��!�

6 : �N�C��)$� ��*�� ��%µ���������("�� �$���>��� 2��?� �$%�0����P, ��!$�C�����V�WjZKcfZA��lgZ�x�zp��cncgm xL�uz���Z�¤�hjm¬enm|sJh�cr��h��-lnZLcgijz|enc?s�¢ � m cnx�lnZ�enZC�js�i�lgm Z>lrV�ln��h�cf¢­s�lnY § cgZ>Z�¢­s�lPZ>}���Y[{jz|Z � q¶V (w��=��."�sJl � ¸���+ =��#" ¨ ©� h�Y[sJcfe¶x>�JcfZJ¡�ª�ZCm|Y[{jz mpx�m|egZ>z b�x�sJh�cfmp��ZLl?egW��ueregWjZ^{�ZLlgm s��

Nm cPZL��ZLh³¡Jcgs5egW��ue N

2

m c��uh[m|h�enZ>��ZLlL© � e¶mpcrcfegl��um ��W�ef¢­sJlgª��ul��ens���Z>lnm|�JZ^enWjZ x�sJlglnZLcg{�s�h���m hj�D¢­s�lnY-ijzp�uZw¢­s�lCs��j�N©

�/��� �%��� ����� � �������¹µZ�e

(fl)l∈N

��h��(gl)l∈N

¡�evª�s�"�&)�^���H�-� :^cgZLo�ijZLh�x�ZKc�ªCm|egW±{�Z>lnm|s��N¡jª�Z���Z�¤�hjZ5egWjZ �jm cnx�lnZ�enZ5x>s�hd��sJz|ijegm s�h³¡

h = f ∗ g¡�su¢enWjZLcgZ5evª�s�cgZLo�ijZLh�x�ZKc��dbQ®

hk = (f ∗ g)k =

N2∑

l=−N2 +1

flgk−l ∀ k ∈ J−N

2+ 1,

N

2K.

§ ¸�© < ¨V�WjmpcCx>��h��uzpcfs²��Z�ªClnm|efegZLh���cL®

hk =∑

m+l≡k[N ]

(m,l)∈J−N2 +1, N

2 K2

flgm

§ ¸�© � ¨

ªCWjZLlgZa ≡ b[N ]

Y[ZL��h�c�egW��uea�uh��

b�ulnZ �fx>s�hj�JlgijZLh�e�Y[s���ijz s

m�©y

2Dx�sJh��Js�z i�egm s�h±su¢¶��cgZLo�ijZLh�x�ZKc

(f ln)(n,l)∈N2

�uh��(gl

n)(n,l)∈N2

¡���suenW¯{�ZLlgm s���mpx�ªCm¬enW¯lnZLcg{�ZKxegm ��Z�{�Z>lnm sd��cJ�uh��

K¡jm cC�jZ�¤�hjZK����bQ®

hkj = (f ∗ g)k

j =

J2∑

n=− J2 +1

K2∑

l=−K2 +1

f lngk−l

j−n.

�/� � � ��� � ����� �� �� � ��� � � � � � �8��� � ��� �¹µZ�e

(fl)l∈N

��ZLhjsuenZLcC�²{�Z>lnm|s���mpx5cfZKoJi�Z>h�x>Z�s�¢�{�Z>lnm sd�N¡jª�Z���Z�¤�hjZ5egWjZ § ¢­s�lnª���ln� ¨ � �?V s�¢?cgm �LZ N s�¢ f ��bQ®

fk =1

N

N2∑

n=−N2 +1

fnω−nkN ∀ k ∈ N

ªCWjZLlgZωj

N = ei2πj

N

§ ��h��i =√−1 ¨ ©V�WjZ�cgZLo�ijZLh�x�Z

fm cC��z cgs[{�ZLlgm s���m x�ªCm|egW±{�Z>lnm|s��

�/� � � � � ��� �1� � � � �8� � � ��� � � �� � ���4� � �� � �����4� � � � �¹µZ�e

(fl)l∈N

��ZLhjsuenZLcC�²{�Z>lnm|s���mpx5cfZKoJi�Z>h�x>Z�ªCm|egW±{�Z>lnm|s��N¡�ª�Z ��Z�¤�hjZ�egWjZ ¸ � ��V su¢Pcgm �LZ

Nsu¢

f�dbQ®

fn =

N2∑

k=− N2 +1

fkωnkN ∀ n ∈ N.

�/� � � � ��� � � � � � �$����� �� �� � ��� ����� � ��� ���B.N ½dÁ � ½ � S � 9£�K�u� ½ � ½ � Á 8 ��Á , µ�:9 Á 8 B.N ½dÁ � ½ ��� � � &)

(fn)n∈N

���$�(gn)n∈N

�\&T "1&)�^���H�-� : �)&�����&)� :\&^� =,�!0/ "�&'�^���:�N� =�&C�&'�*"�& :'��!%�& ;�� � &'�$�� &

(fk)k∈N

�����(gk)k∈N

0/1&)�!� � ��� � +��^� �H&N�M�$/1& � ���

hk� + !/�&'�!� :\��� % �5; � *���-�

hk� �

0/1&)��& �����0;� ���hk = Nfkgk.

y {jlnsdsu¢?x>�uh���Z5¢­s�ijh���m h1� ¸���+ =��#"H©rV�W�Zhk�ulnZ�{�Z>lnm sd�jm x�ªCm|egW±{�ZLlgm s��

����V����

Page 66: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 ��º

�/� � � � ��� � � � � �2D

� ����� �� �� �%��� ����� � �������V�WjZ ��{j{jz m xL��enm|sJh�ens

2Dx>s�hd��sJz|i�enm|sJh�c�m c^cvenln��m|�JWJeg¢­s�lnª���ln�³©

B.N ½dÁ � ½ � J��2D

9£�K�u� ½ � ½ � Á 8 ��Á , µ�:9 Á 8 B.N ½dÁ � ½ ��� � ��&)(fk

j )(j,k)∈N2

�-���(gk

j )(j,k)∈N2

�\&� �)& ����&'� : &'��� & ����&\��-� J ×K �-��� & � &'�$�U&\�,=,�!0/ "�&'�^���:��� :)�! � �

N2 �� & ���- &

J�-���

K0/1&:�"�&'�^���:� � �#�����.& �F�- #" ; &�� J = J−J

2 + 1, J2 K

�-��� K = J−K2 + 1, K

2 K� =�/1&)�&

J���$�

K�-�&

&)% &)����$/1&)�!�

2D � ����� =��-�� � � � �>:'�&) & ��� � �^��&)� � � ���1�0+'�-�^ � +��\� �:&J ×K

�-�& � & ����&\� � ���

fkj =

1

JK

n∈J

l∈Kf l

nω−njJ ω−lk

K ∀ (j, k) ∈ J ×K,

�-��� !/�&'�!�2D

� �9: �5=����� � ��� ��� �fk

j =∑

n∈J

l∈Kf l

nωnjJ ωlk

K ∀ (j, k) ∈ J ×K.

� & /1�-% & 0/1&)� �hk

j = JKfkj gk

j ∀ (j, k) ∈ J ×K.

�/��� � ��� �.3 � � ����� � � � ��� ��� ��� �.4� ���������y x>s�hd��sJz|i�enm|sJh�s�¢?cgm �LZ

N��Z�evª�Z>ZLh$evª�s3���-� @ "�&'�^���:��� :^cfZKoJi�Z>h�x>ZLc

(fl)l∈J−N2 +1, N

2 K

�uh��(gl)l∈J−N

2 +1, N2 K

¡jxL�uh±��Z���Z>¤�hjZK�$�dbQ®

hk =∑

l+m=k(l,m)∈J−N

2 +1, N2 K2

flgm ∀ k ∈ J−N

2+ 1,

N

2K.

·�Z x>��h$lnZ>zp��enZwenWjmpcC����x�´[ens § ¸�© � ¨ �db$��Z>¤�hjm hj���DcgZLo�ijZLh�x�ZKc (fl)l∈J−M2 +1, M

2 K

�uh��(gl)l∈J−M

2 +1, M2 K

�Jc>®∀ l ∈ J−M

2+ 1,

M

2K, fl =

{flm¢

l ∈ J−N2 + 1, N

2 K¡

0suegW�Z>lnªCm cgZ�¡

��h���z|m ´�ZLªCm cgZ�¢­s�lgl©·�Z5egWjZLh±Z�}degZLh��$egWjZ ��sJY��um h$s�¢µegW�ZLcgZ cfZKoJi�Z>h�x>ZLc�egs

NegW���hj´�c�egs

M{�Z>lnm sd�jm x>m¬evbJ©\^s�ª z Z�eL®

hk =∑

m+l≡k[N ]

(m,l)∈J−M2 +1, M

2 K2

flgm ∀ k ∈ J−M

2+ 1,

M

2K.

$½ � ����� O �*5 � �$/1&hk=,�!0/

k ∈ J−M2 + 1, M

2 K \ J−N2 + 1, N

2 K�-�&����� ��& :\&'� �)�-� �(� ��;?; �

¸�b�x�Wjsds�cfm hj�M

�f�jm|�[ZLhjs�ij�JW ��ª�Z�x>��h$W��S�JZ�®

hk = hk ∀ k ∈ J−N

2+ 1,

N

2K.

· WjZLh±egWjZ²x�sJh��Js�z i�egm s�h�mpc �gx�Z>h�enZ>lnZL� � § ��lgsJijh��0¡Q��cCm h § ¸�© � ¨ ¢­sJl^Z>}���Y[{jz|Z ¨ ¡�ª�Z i�cfi���z|z b�hjZ>ZK� M ≥ 3N

2

m|h�s�l���Z>lens�W��S��ZJ®

hk = hk¡ ∀ k ∈ J−N

2 + 1, N2 K©�¸�ijeAªCWjZ>h±enWjZ x�sJh��Js�z i�egm s�h�mpcChjsue �fx>Z>h�egZLlgZK� ��¡j�Jc�egW�m cCmpcCenWjZ x>�JcfZ5¢­sJl

M2L§ cfZLZ���ZLz|s�ª ¨ ¡�ª�Z�i�cgi���z|z b�hjZLZL��egs�W��S�JZ M ≥ 2N§ cgZ>Z�� ( � =J�0"µ�uh�� � (rz z =��#" ¨ ©V�Wjmpc�i�cgZ�su¢�Z�}degl�� �>Z>lnsJc�mpcAx>��z|z ZL���:&'� �0@ "��U�U�-�!� ��©·�Z²xL�uhNhjs�ª i�cgZ-enWjZ � mpcgx>lgZ>egZ * s�hd��sJz|i�enm|sJh�V�WjZLs�lnZ>Y § enWjZ>sJlgZLY�� ¨ m h�s�l���Z>l^egs±x�s�Y[{jijegZDegWjZ hk

�uh��¯egWjZLh�enWjZhk

§ ªCm|egW±����x�´dª��ul�� � ��V ¨ ¢­s�l k ∈ J−N2 + 1, N

2 K©

V�VXW-Y�Z'[\Z^]

Page 67: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

�U> ���������^��!�

� �C0������C�����C%� yAh���=J�." * W�lgmpcvens�{jW�Z>l5~�©&yAh���ZLlncgs�hµ©5y^hNm Y[{jz Z>Y[Z>h�en�uegm s�hNsu¢renWjZ-¢£�Jcve5Y-i�z¬enm|{�s�z ZDY[Z>egWjs��NªCm¬enWjs�i�e5Y-i�z¬enm|{�s�z ZLcL©

�����2 � � � �^���0; �-� � :'��&)���� ��:����$� � ���� �^*� :\�5; � �� "�� ��!� ��¡ < º § > ¨ ® =��uº��F=->��d¡ �Jijz b < =U=J�j©� ywa����." _¯m|z|egsJhNyA��ln��Y²s�ªCm|e �[�uh�� � lnZ>hjZ²y ©µa�enZ>��i�h³© ���-��� � �:�G� � + 2 ��0/1&) �-*� :\�5; � � � :'�������� � �!!/ �����^ ��; � �\�� ��\"1/F� � �����C2 ��0/1&) �-*� :\�5; � � �>; &^�©¶V�Z>h�enW�q¶lgm h�egm hj��¡ � ZLx>Z>Y-��Z>l < =�����©� ¸�¹µy " ��s�lgegl��uh¯���DlnZ�¢­ZLlgZLh�x�Z5m Y²{�z|ZLY²ZLh�en��enm|sJh�cfsJijlnx>Z�x�s���Z s�¢�enWjZ �jzp��c�¢­lns�Y hjZ�enz|m �³© (rz|ZKxenlgsJhjm xL�uz z|b��S���um z ���jz|Z�ueL® ���������� ����������������������������������� ©� ¸�� + =J�0" · m z z|mp�uY�¹¶©K¸�lnm|�J�Jc³��h�� (rY���ZLhD���uh +AZ>h�cfsJh³©��$/1& � ����� � � �7=,�$&'��! ��2 ��� ���5;'+'��� 0/1& � � �>:'�&) &�� � � �^��&'�

�1��-�1�0+'���^ ²© < = =J��©� * ¸ * + � < " ��© * © * ��lglK¡d~�©�2[©�¸�ZL�uencgs�h³¡ ��© ¸�© * WjZ>lnlgm Z�¡dV5© ��©�_�m|enx�W�Z>z zU¡d· ©�~�©��jlnm|�JW�eL¡d¸w© * ©�_¯x * �uz z|ijY±¡��uh���V5©�~�©

(¶�S��h�cL© ~CZLx>s�h�cfeglni�x�egm s�h ��h�� lnZ>{�lgZKcfZLhJe���enm|sJh su¢wº � s���tvZKxenc²ªCm|egW ln�J��m ��z�����cgm cD¢­ijh�x�egm s�h�cL© � h � � 2��� � � � � � � � � ��¡�{��u�JZLcC�d�"�j�u�j¡d¹³s�cCyAhj�JZ>z ZLcL¡ * y ¡�y^ij��i�cfew�u�J� < ©

� * �5~ GUG " ��© * ��lglnm|ZLlL¡�¹¶© ��lgZLZ>hj���ul��&¡j�uh�� (D©�~CsJ´�W�z|m h³©�y ¢£�Jcve^�J�j�u{jegm ��Z5Y-ijz|egm {�s�z Z-�uz ��sJlgm|egWjY'¢­s�lC{���lfenm x>z|Z cgm|YDi�¥zp��enm|sJh�cL©������2 � � � �^���0; �-� � :'��&)���� ��:����$� � ���� �^*� :\�5; � �� "�� ��!� ��¡�= § > ¨ ® ��� =#��� G ��¡ �Jijz b < = GUG ©� * �5~#=U=5" +-© * WjZ>h���¡u¹r©5��lnZ>ZLhj�J��ln�&¡���h�� (D©�~Cs�´dWjz m|hµ©jy�¢£�Jcver�����u{�enm|�JZ¶Y-i�z¬enm|{�s�z ZC�uz ��s�lnm|egWjY m h egW�lgZLZ��jm|Y[Z>h�cfm s�h�cL©

� � � �^���0; � + � �� "�� ��������$�0; ��/ � �^� :^�¡ < �J��® >J� G � > = G ¡ < =U= =j©� * � �5~#=U=5" * W�Z>s�z�+^s * WjsJmU¡ �JsJcgZ>{�W � ���uhjmpxu¡�_��uln´�a&©0��sJln�js�h³¡u��h�� 25zp�ui�c�~CijZK��Z>hd��Z>ln��©�~A��{jm �D�uh��Dcve��u�jz Z���Z�enZ>lnY²m|¥h���egm s�h$su¢³lnsue���egm s�h�Y[�ueglnm x>ZLc���Z>evª�ZLZ>h�cf{jW�Z>lnm xL�uz�W��ulnY[s�hjmpx>c¶��b��jm|lnZLx�e�lnZLx>ijlncgm s�h³© � � � �^�$�0;�� + � /1&) �� : �5;

��/ � �^� :^�¡ <U<U< ® G G �J��� G G º < ¡ < = =U=�©� � ��l = =0" (¶lgmpx � �uln��ZJ© 2%$'0/1�:�U&'�� ��; �� "�&5; &'���� "$���U&'� ����$'�)�0; � ������ � &^�'$ ����������������U&�2 � �9=�&>;?; "1�-� +'�-�^ ��; ��������1�

�!� �$ �U��0; &^�©PqrW � egWjZKcfmpcL¡j]Ahjm ��ZLlncgm¬enk5q?��lgmpcC�j¡ < =U= =j©� � * + � =J�0" ����x�´ ��© � s�h��J�ulnl��j¡ �JZ>lnZ>Y-b � i * lns �J¡Jad��ZLh�+^�uY[Y��ulnz m|hj��¡��uh�� � �um h � i�«?©&y cfZ>e¶su¢Qz|ZL��ZLz�º�¸���cgm x�¹³m hjZK�uly^z|�JZ>�jl���adij�j{�lgsJ��l��uY�c>©,� � 2 �1��-�1�)�9:)*���-�1� �-� 2 ��0/1&) �-*� :\�0;��$� +\ =��-�&>¡ < � § < ¨ ® < � < �d¡d_¯�ul�x�W < =U=J�j©� � * +�+ G G " ����x�´ ��© � s�h��J�ulnl��j¡ ��ZLlgZLY-b � i * lns ��¡�ad��ZLh +w�uY[Y��ulnz|m hj��¡j�uh��±~Cmpx�W��ul�� ��© +^�uh�cfsJh³©¶yAh�Z>}degZ>h���ZL�±cgZ�es�¢µ� ��~?VC~Ayw\ ¸���cgm x^¹³m hjZL��l�yAz ��ZL�jl��-adij�j{�lgsJ��l��uY�c>©�� � 2 �1������'�):'����������-� 2 �-!/�&' (���� :\�0;$�$� +\ =��-�&>¡

< > § < ¨ ® < � < ��¡�_¯��lnx�W < = GUG ©� � � ad����(�= G " ��© ��© � sJhj�J��lgl��j¡ � ©daQ© � i�«?¡ � © * ©da�s�lnZ>h�cgZ>h³¡d�uh�� + ©dy ©d���uh��jZ>l�(PsJlncfeL©)( � (&'�^� :\�0;1���!�$&\���#��; � & �)�� +'���

�.���:/�@ � &)�0+'���^ (��� :\& � �� "�� &'�\� � �$� +\ =��-�&^� � ��%:�!��-�� (&'� ��\��� �H�5; � � ©�a � y^_ ¡&qrW�m|zp����ZLz|{�Wjm ��¡µq&y ¡�]wa�y-¡< =U= G ©� � +w�->9" (¶lgmpx � ��lg�JZC�uh��²qP��cnx>��z�+^�S��kJ© (P°�x�m Z>h�er¢£�JcverYDijz|egm {�sJz|ZAY[Z>egWjs��D¢­s�lrz s�ª�¥H¢­lgZKoJi�Z>h�x>b cgxL��efenZ>lnm|h���© � � � �^�$�0;

� + � �� "�� ��������$�0; ��/ � �^� :^�¡ < =�� § < ¨ ® º-> < �dºJ��ºj¡ ��ijh�Z������U>�©� (¶¸ =��5" · m z z|mp�uY � © (rz z|m suege���h�� �Js�W�h y ©r¸�s��ul��&¡ ��lK© ���Jcve���s�ijlnm|ZLl²V�l��uh�cv¢­sJlgY(��xLx�ZLz|ZLln�uegZL� ¢£��cfe²YDijz¬enm|{�s�z Z��z|�Js�lnm¬enWjY±© � ���2 � � � �^���0; ��� � :'��&)���� ��: � �� "�� ��!� ��¡ < � § � ¨ ® º = G � > < ��¡ < =U=J�j©� ( � =J�." _¯m x�W���Z>z�y ©#(¶{�egsJh��uh���¸�ZLh�tf�uY[m h � ZLY-����lfeK©&_�ijz|egm {�sJz|Z^egl��uh�cgz �uegm s�h²egW�Z>s�lnb ¢­sJlrenWjZCegW�lgZLZ�¥ ��m|Y[ZLh�cfm s�h��uz¹��u{jzp��x>Z��uh�� +AZLz|Y[WjsJz¬e ��ZLo�i���enm|sJh�cL©������2 � � � �^�$�0;��-� � :)��&)���� ��: �,�- #" � *�!� �u¡ < � § > ¨ ® G �J��� G =d�d¡ < =U=���©� (rz z =��." · © � © (rz z|m suegeL©P_�ijz|egm {�sJz|Z���z|�Js�lnm¬enWjY�cr¢­sJlCY²sJz|ZKx�ijzp�ul���bdh���Y²mpx>c�cgm|YDijzp��egm s�h$s�h�Wjm ��W�{�Z>lg¢­s�lnY��uh�x>Z�x>s�Y²¥{�i�egZLlncL©�V�ZLx�Wjhjmpx>��zr~CZ>{�s�lge�=J��¥¦�J��º�¡ � ij´JZ�]Ahjm ��ZLlncgm|evb�¡ � Z>{���lfenY[Z>h�e su¢�(rz ZLxenlgmpx>��z (rhj�Jm|h�Z>Z>lnm hj��¡ < =U=���©

� s�xens�l��uz³��mpcgcgZ>lgen�uegm s�h³©� � �J���." _���efenZ>s[�jlnm|�JsD��h���a�enZ>��ZLh �²© �Js�Wjh�cfsJh³©µV�WjZ5��ZLcgm ��h���h���m Y[{jz|ZLY[Z>h�en�uegm s�h�s�¢��?�?V�· ºj© � ��&:\&\&\���!� ���.� +

0/1&�� � � ��¡ =Jº § � ¨ ® � < �#�j�uº < ¡>�u�J�J��©ucg{�ZLx�mp�uz�mpcgcgijZrsJh+*qrlns��Jln��Y ��ZLhjZ>l���enm|sJh³¡ �w{jegm Y²m �L�uegm s�h³¡���h���qrzp��eg¢­s�lnYyC���u{�e���egm s�h)*�©�!� � �Jº0" \w�um zry ©���ijY[ZLlgs��¯��h���~A��Y��uhjm � ijl��umpcfª��uY[mH©-~CZLx>ijl�cfm s�h�c^¢­s�l5enWjZ�x�sJY²{�i�en�uegm s�h�s�¢�YDijz¬enm|{�s�z Z²egl��uh�cf¥zp��enm|sJh ��h�� lnsuen�uegm s�h x>sdZ�°�x�m Z>h�enc�¢­s�l�enWjZ�ºu¥ � +^Z>z Y²W�s�z|e ��ZLo�i���enm|sJh³©T� � ��2 � � � �^�$�0; ��� � :)��&'� *� �7:

� �- #" � *�!� �u¡��J� § > ¨ ® < ºU>U> � < º G1< ¡J�u�J��ºj©����V����

Page 68: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

����������� ��������������������������! #"$���%�&' (&)��*�,+'�-�.0/1&��,232 �J�

�!�5~ G �." ¹¶©)��lnZ>Z>h��J�ul��-��h�� (-©J~As�´dWjz m|h³©�y3¢£��cfer�uz ��s�lnm|egWjY ¢­sJlP{��ulgegmpx�z ZCcfm Y-i�z �uegm s�h�cL© � � � �^�$�0;�� + � �� "�� ��������$�0;��/ � �^� :^�¡&��ºj® ºJ�J����º-> G ¡ < = G ��©

�!�5~ GUG " ¹¶©8��lnZ>ZLhj�J��ln�+��h�� (-©P~CsJ´dWjz|m h³©�V�WjZ�l��u{jmp�+Z>����z|i��uegm s�h s�¢A{�s�egZ>h�enm ��z¶¤�ZLz ��c-m h�enWjlgZLZ���m Y[Z>h�cgm|sJh�cL¡Pm|h�Js�lgegZ>} Y[Z�enWjs��&© � h * ©�yAh���Z>l�cfsJh �uh�� �²© ��lgZLZ>hj���ul��&¡�ZL��m|egsJlncL¡�� ���^ & � 2 &)!/��H����¡^��s�z ijY[Z < ºJ����su¢��& :'� �& (��� &'���!� 2 �-!/�&' (���� :'��¡�{��u�JZLc < � < � < > < ©�a�{jlgm hj�JZ>lg¥ (PZLlgzp�u��¡ < = GUG ©

�!�5~#=��." ¹¶©5��lgZLZ>hj���ul�� �uh�� (-©�~CsJ´�W�z|m h³©jy hjZ>ª ��Z>l�cgm|sJh�su¢jenWjZ�¢£��cfe�YDijz¬enm|{�s�z Z�Y[Z�egW�sd� ¢­s�l�egW�Z�¹��u{jzp��x>Z¶ZKoJi���egm s�hm h�egWjlnZ>Z���m Y[Z>h�cgm s�h�cL©��4:) � ( � (&'�^� :\�u¡��j® ���U=#�����U=�¡ < = =���©�!��lgZ GUG " ¹¶© ��lgZLZ>hj���ul��&© �$/�& � �\"���� � %��0;����������� � + �#�� &'� *���5;�����&>; � �(�!� � �-�^*� :>; & � � �^ &) ��© _ � V�qrlgZKcgcL¡ * �uY²¥��lgmp����ZJ¡j_¯y ¡ < = G G ©� + � =��5" �ri +Ai²�uh��-a&©S¹µZ>hjh��ulge��Js�Wjh�cncgs�h³© � Y[{jz Z>Y[ZLhJenm|h�� � § \ ¨ \C¥¦��s���b��uz ��sJlgm|egW�Y[cµZ�°�x�m Z>h�enz|b�m h-�j�uen��¥¦{���ln��z|z Z>zzp�uh���i�����ZLcL©�� :)��&'� *� �7: � � � �U��� � ��!� ��¡�� § > ¨ ® º�ºd�"��º��->�¡ < =U=���©� 2�¹³��¹ = G " ¸�s 2���u��cvenl��JY±¡&q�ZLl ¹³m hj��¡��uh�� * W��ulnz ZLc5���uh+¹³s��uh³© � (¶_¯_�¥H���JcfZK��z Z>�JZ>zrº±¸�¹µy�aQ®³Wjm ��W�¥¦{�Z>lg¢­s�lnY[��h�x�ZY[s���ZLzDm Y[{jz|ZLY[Z>h�en�uegm s�h�cN�uh�� {�Z>lg¢­s�lnY��uh�x>Z Z>���uz i���enm|sJh ��ZLh�x�WjY��uln´Q© � ��2 �1������ ��2 ��0/ ��� � +\ = � ¡�-> § º ¨ ® �u� G ��º��J�j¡ < = = G ©� ¹�+�232-��=0" * ©�¹¶©d¹��SªAcfsJh³¡J~ © ��©�+^��h�cfsJh³¡ � ©�~�©�25m h�x>��m �&¡���h�����©�V5© 25lns��JW³©³¸���cgm xw¹³m hjZL��l�y^z|�JZ>�jl��-adi��j{jlns���l��uY�c¢­sJl²� ��~?VC~Ay^\�i�cg����ZJ© � � 2 �1������'�):'�������� ��� 2 ��0/1&) (���� : �5; �$� +\ =��-�&�¡�� § º ¨ ® º�� G �dº��uº�¡�adZ>{jegZ>YD��ZLl< =��-=j©� \42�¹J· =->9" 25ZLm¬enW1\w�u��s�l�c>¡���©PV5© 2ws�l�cfY[ZLb�Z>lK¡P��©rV5©r¹³Z>m ��W�ens�h³¡¶��h�� ����x>s���· W�m¬enZ�©1qrlgZKx�sJh���m|egm s�hjZK�&¡¶�����u{�enm|�JZ�¡YDijz|egm {�sJz|Z>¥¦�Jx>x�ZLz|ZLln�uegZK�$m|egZLln�uegm ��Z Y[Z>egWjs��jc^¢­s�l^egWjlnZ>Z>¥¦��m Y[Z>h�cgm s�h���z&¤�l�cveg¥H´dm h���m hJenZ>�Jln��z³ZLo�i��uegm s�h�c^su¢P{�s�¥enZ>h�egmp�uz³egWjZLs�lnb�© � � ��2 �F� � �^���5;���� � :'��&)���� ��: � �� "�� ��!� ��¡ < � § º ¨ ® � < º��j�uºJ��¡�_¯�Sb < =U=->�©� \A· = < " 25ZLm¬enW \w�u��s�l�c²��h�� ����x>s���· W�m¬enZ�© ����cfenx>��{³®$y Y-i�z¬enm|{�s�z Z���x>x>Z>z Z>l���enZL� º�¥ � x>��{���x>m¬e��uh�x>Z�Z�}denln�Jxegm s�h{�lgsJ��l��uY±© � � � � �1��-�1�)�9:)*���-�1����� � �� "�� &'� @*� ��� & � � &^�^���U��¡ < � § < < ¨ ® < >U>d��� < >��-=�¡u\As��JZ>Y-��Z>l < =U= < ©� q�aja =��." +-© �²©�q?Z�egZLlncgZ>hµ¡ (A© ~�©�a�Y²m|egWµ¡���h�� � ©&adsdZ>z ����cgs�h³© (rlglns�lCZKcvenm|Y��uegZLcC¢­s�lCenWjZ�¢£��cfe^YDijz¬enm|{�s�z Z Y[Z�enWjs��&© �g� ©V�W�Z5egWjlnZ>Z>¥¦��m Y[Z>h�cgm s�h���z³x>��cgZ�© � ��&:\&\&\���!� ��� � + !/�& � � �U�5;��$�#:)��&' � � + �����$�U�-��� � &'�^��&'�����,2 ��0/1&) (���� : �5;

�-����"1/ � �^� :\�0;��>:'��&)� :\&'�¡1>U> G ® >J� < � > <HG ¡ < =U=���©� q¶V (w��=��." · © + ©µqrlgZKcgcL¡µaQ© y ©µV�Z>i�´�s�zpcg´�bJ¡&· © V5© (PZ>efenZ>lnz|m hj��¡��uh���¸�© q?©³��z ��hjhjZLlgbJ© ( � &)�^� :\�0; � & :)� "1&'� �!� � ���$/�&

� �^ � +�� :'��&)���� ��: � �� "�� ��!� �-� �$& :\���$��� �-�!*���-��© * ��Y-�jlnm �j��Z5]Ahjm ��ZLlncgm¬evb�q¶lgZKcgcL¡ < = =J�j©� ~A�uh =U=0" · © V5©P~A�uh�´�m h³© (P°�x�m Z>h�e²{��ul��uz z|ZLz¶m Y²{�z|ZLY²ZLh�en��enm|sJh�cDsu¢AY-i�z¬enm|{�s�z Z����JcfZK��\C¥¦��sd�jb+��z|�Js�lnm¬enWjY�c>©�qrW � ©

� mpcgcgZ>lgen�uegm s�h³¡ � ij´�Z�]^hjm|�JZ>l�cfm|evb�¡ � Z>{��ulgegY[Z>h�eAsu¢�(rz ZLxenlgmpx>��z�(rhj�Jm|hjZLZ>lnm|h���¡jyA{�lgm z < = =U=�©� a�+^V + =J�." ����cgªCm h���Z>l�q?��zwadm hj��Wµ¡ * Wjlgmpc�+^s�z|eL¡AV��u´���cgWjm^V�sue�cfi�´S��¡CyAhjsds�{$��i�{�en��¡A�uh�� �Js�Wjh +^Z>hjh�ZLcncfbJ© ¹µsJ������uzp�uh�x>m|hj� ��h����j�uen��z s�x>�uz m|evbDm h����j��{�egm ��Z^Wjm|ZLln��lnx�W�m xL�uzj\C¥¦��sd�jbDY[Z�enWjs��jcL®?¸���lghjZKcv¥ +AijeL¡u¢£�Jcve�Y-ijz|egm {�sJz|ZJ¡��h��$ln�J��m|s�cfm|evb�© � � � �^�$�0; � + � ��� �0;?; &>; �-��� � � �^��^� � � &\� � �� "�� ��!� ��¡��J��® < <HG � < > < ¡ < =U=���©� adq�=d�#" � ©CadsdZ>z �S�JcfsJh �uh��-+-© �²©�q?Z�enZ>l�cfZLh³© (rlnlgsJl�ZLcfegm Y���egZKc�¢­sJl�egW�Z¯¢£��cfe$YDijz|egm {�sJz|ZNY²Z>egWjs��&© �F� � �^���5; � +

�� �-*� �^�� :\�0;�� / � �^� :^�¡ G �j® ºU= < � >d�u��¡ < = =���©� adq¶� < " �wm ��s�����m�adijh��uh��²\^m|´JsJc?q?©�q¶m¬e�cfmp�uhjmpcL©�y Y���enlgm|}-�JZ>l�cfm s�hDsu¢�egWjZ�¢£�JcverYDijz¬enm|{�s�z ZAY[Z�enWjs��&©������2 � &)%H��&>=P¡

>�º § � ¨ ® � G =#��º�����¡J�u�J� < ©� · +���=U>5" * ©�y ©j· Wjm|egZD�uh���_ © +^ZL����¥ ��sJln��sJh³© � ZLlgm ����enm|sJh±��h��$Z�°�x�m Z>h�eAm Y²{�z|ZLY²ZLh�en��enm|sJh±su¢�egWjZ5¢£�JcveAYDijz¬enm|{�s�z ZY[Z>egWjs��&© � � � �^�$�0;�� + � /1&) � :\�0; � / � �\� :'�¡ < � < § G ¨ ® ���-=�º��d�J���J�j¡ ��xens���Z>l < = =->�©� · +���=J�0" * W�lgmpcvens�{jW�Z>lry ©�· Wjm¬enZ^�uh��²_��ulgegm h,+^ZL�J�d¥ ��sJln�js�h³©j~Cs�en�uegm hj� �ulns�ijh�� enWjZAo�i��ulgegmpxC�uhj�Jijzp�ul?Y[s�Y[Z>h�egi�Y���ulnlgm Z>l5m h�¢£�Jcve YDijz¬enm|{�s�z Z�Y[Z�enWjs���xL�uzpx�ijzp��enm|sJh�cL© � � � �^�$�0;�� + ��/�&' �� :\�0; � / � �^� :'��¡ < ��� § < � ¨ ® ����� < �������d�d¡< =U=J�j©

V�VXW-Y�Z'[\Z^]

Page 69: Multipole-to-local operator in the Fast Multipole Method: … · ISRN INRIA/RR--5752--FR+ENG apport de recherche Thème NUM INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

Unité de recherche INRIA FutursParc Club Orsay Université - ZAC des Vignes

4, rue Jacques Monod - 91893 ORSAY Cedex (France)

Unité de recherche INRIA Lorraine : LORIA, Technopôle de Nancy-Brabois - Campus scientifique615, rue du Jardin Botanique - BP 101 - 54602 Villers-lès-Nancy Cedex (France)

Unité de recherche INRIA Rennes : IRISA, Campus universitaire de Beaulieu - 35042 Rennes Cedex (France)Unité de recherche INRIA Rhône-Alpes : 655, avenue de l’Europe - 38334 Montbonnot Saint-Ismier (France)

Unité de recherche INRIA Rocquencourt : Domaine de Voluceau - Rocquencourt - BP 105 - 78153 Le Chesnay Cedex (France)Unité de recherche INRIA Sophia Antipolis : 2004, route des Lucioles - BP 93 - 06902 Sophia Antipolis Cedex (France)

ÉditeurINRIA - Domaine de Voluceau - Rocquencourt, BP 105 - 78153 Le Chesnay Cedex (France)��������� ���� ���������� ��� ���

ISSN 0249-6399