กลับไปหน้าบทความ

อ่าน 4 นาที

วิธีมัลติโพลแบบเร็ว

วิธีการมัลติโพลแบบเร็ว ( FMM ) เป็น เทคนิค เชิงตัวเลขที่พัฒนาขึ้นเพื่อเร่งความเร็วในการคำนวณแรงระยะไกลในปัญหาn -body โดยทำได้โดยการขยายฟังก์ชันกรีนของ ระบบ

วิธีมัลติโพลแบบเร็ว

วิธีการมัลติโพลแบบเร็ว ( FMM ) เป็น เทคนิค เชิงตัวเลขที่พัฒนาขึ้นเพื่อเร่งความเร็วในการคำนวณแรงระยะไกลในปัญหาn -body โดยทำได้โดยการขยายฟังก์ชันกรีนของ ระบบ โดยใช้การขยายมัลติโพลซึ่งช่วยให้สามารถจัดกลุ่มแหล่งกำเนิดที่อยู่ใกล้กันและถือว่าแหล่งกำเนิดเหล่านั้นเป็นแหล่งกำเนิดเดียว[ 1 ]

FMM ยังถูกนำไปใช้ในการเร่งความเร็วตัวแก้ปัญหาแบบวนซ้ำในวิธีการของโมเมนต์ (MoM) ที่ใช้กับปัญหาแม่เหล็กไฟฟ้าเชิงคำนวณ[ 2 ]และโดยเฉพาะอย่างยิ่งในชีวแม่เหล็กไฟฟ้าเชิงคำนวณ FMM ได้รับการแนะนำเป็นครั้งแรกในลักษณะนี้โดยLeslie GreengardและVladimir Rokhlin Jr. [ 3 ]และมีพื้นฐานมาจากการขยายมัลติโพลของสมการเวกเตอร์เฮล์มโฮลทซ์โดยการจัดการปฏิสัมพันธ์ระหว่างฟังก์ชันพื้นฐานที่อยู่ห่างไกลโดยใช้ FMM องค์ประกอบเมทริกซ์ที่สอดคล้องกันไม่จำเป็นต้องถูกจัดเก็บอย่างชัดเจน ส่งผลให้หน่วยความจำที่ต้องการลดลงอย่างมาก หาก FMM ถูกนำไปใช้ในลักษณะลำดับชั้น จะสามารถปรับปรุงความซับซ้อนของผลคูณเมทริกซ์-เวกเตอร์ในตัวแก้ปัญหาแบบวนซ้ำจากเป็นในเลขคณิตจำกัด กล่าวคือ เมื่อกำหนดค่าความคลาดเคลื่อนผลคูณเมทริกซ์-เวกเตอร์จะรับประกันว่าจะอยู่ภายในค่าความคลาดเคลื่อนความสัมพันธ์ของความซับซ้อนกับค่าความคลาดเคลื่อนคือกล่าวคือ ความซับซ้อนของ FMM คือสิ่งนี้ได้ขยายขอบเขตการประยุกต์ใช้ MOM ไปสู่ปัญหาที่ใหญ่กว่าที่เคยเป็นไปได้มาก่อน

FMM ซึ่งแนะนำโดย Rokhlin Jr. และ Greengard ได้รับการกล่าวขานว่าเป็นหนึ่งในสิบอัลกอริทึม ที่ดีที่สุด ของศตวรรษที่ 20 [ 4 ]อัลกอริทึม FMM ช่วยลดความซับซ้อนของการคูณเมทริกซ์กับเวกเตอร์ที่เกี่ยวข้องกับเมทริกซ์หนาแน่นบางประเภท ซึ่งสามารถเกิดขึ้นได้จากระบบทางกายภาพหลายระบบ

FMM ยังถูกนำไปใช้เพื่อจัดการกับปฏิสัมพันธ์คูลอมบ์อย่างมีประสิทธิภาพในวิธีการ Hartree–Fockและ การคำนวณ ทฤษฎีฟังก์ชันความหนาแน่นในเคมีควอนตั[ 5 ] [ 6 ]

ภาพร่างของอัลกอริทึม

วิธีมัลติโพลแบบรวดเร็ว – การประมาณค่าโพลที่x = 3 ด้วยพหุนามเชบิเชฟอันดับ 5

ในรูปแบบที่ง่ายที่สุด วิธีการมัลติโพลแบบเร็ว (fast multipole method) มุ่งที่จะประเมินฟังก์ชันต่อไปนี้: โดยที่เป็นเซตของโพล และเป็นน้ำหนักของโพลที่สอดคล้องกันบนเซตของจุดที่มีนี่คือรูปแบบหนึ่งมิติของปัญหา แต่สามารถขยายอัลกอริทึมนี้ไปยังหลายมิติและเคอร์เนลอื่นๆ นอกเหนือจาก ได้อย่างง่ายดาย

โดยทั่วไป การประเมินค่าบนจุดต่างๆ จำเป็นต้องใช้การดำเนินการ ข้อสังเกตที่สำคัญเบื้องหลังวิธีการมัลติโพลแบบเร็วคือ หากระยะห่างระหว่างและมีขนาดใหญ่พอ ค่าจะถูกประมาณได้ดีด้วยพหุนามโดยเฉพาะอย่างยิ่ง ให้เป็นจุดเชบิเชฟลำดับและให้เป็นพหุนามฐานลากรางจ์ ที่สอดคล้องกัน สามารถแสดงได้ว่าพหุนามการประมาณค่าลู่ เข้าอย่างรวดเร็วด้วยลำดับพหุนามโดยมีเงื่อนไขว่าขั้วอยู่ห่างจากบริเวณการประมาณค่ามากพอและนี่คือสิ่งที่เรียกว่า "การขยายแบบเฉพาะที่"

ความเร็วที่เพิ่มขึ้นของวิธีการมัลติโพลแบบเร็วมาจากการประมาณค่าแบบสอดแทรกนี้: หากโพลทั้งหมดอยู่ "ไกลออกไป" เราจะประเมินผลรวมเฉพาะที่โหนดเชบิเชฟด้วยต้นทุนและจากนั้นจึงประมาณค่าแบบสอดแทรกไปยังจุดที่ต้องการทั้งหมดด้วยต้นทุน:

เนื่องจากโดยที่คือค่าความคลาดเคลื่อนเชิงตัวเลข ดังนั้นต้นทุนรวมคือ

เพื่อให้แน่ใจว่าขั้วต่างๆ แยกออกจากกันอย่างดี เราจึงแบ่งช่วงหน่วยออกเป็นส่วนย่อยๆ ซ้ำๆ โดยให้มีเฉพาะขั้วอยู่ในแต่ละช่วงเท่านั้น จากนั้นจึงใช้สูตรที่กำหนดไว้อย่างชัดเจนภายในแต่ละช่วง และใช้การประมาณค่าในช่วงสำหรับทุกช่วงที่แยกออกจากกันอย่างดี วิธีนี้จะไม่ทำให้การปรับขนาดเสียไป เนื่องจากเราต้องการระดับอย่างมากที่สุดภายในค่าความคลาดเคลื่อนที่กำหนด

ดูเพิ่มเติม

อ่านเพิ่มเติม

  • Yijun Liu: วิธีองค์ประกอบขอบเขตมัลติโพลแบบเร็ว: ทฤษฎีและการประยุกต์ใช้ในงานวิศวกรรม , สำนักพิมพ์มหาวิทยาลัยเคมบริดจ์, ISBN 978-0-521-11659-6 (2009)
  • Gibson, Walton C. วิธีการของโมเมนต์ในแม่เหล็กไฟฟ้า (ฉบับที่ 3), Chapman & Hall/CRC, 2021. ISBN 9780367365066.
  • บทคัดย่อจากบทความต้นฉบับของ Greengard และ Rokhlin
  • หลักสูตรระยะสั้นเกี่ยวกับวิธีการมัลติโพลแบบรวดเร็วโดย ริค บีทสัน และ เลสลี กรีนการ์ด
  • แอนิเมชั่น JAVA ของวิธีการมัลติโพลแบบเร็วแอนิเมชั่นที่สวยงามของวิธีการมัลติโพลแบบเร็วพร้อมการปรับเปลี่ยนต่างๆ

ซอฟต์แวร์ฟรี

  • Puma-EMคือโค้ดโอเพนซอร์สประสิทธิภาพสูงสำหรับการคำนวณทางแม่เหล็กไฟฟ้าด้วยวิธี Method of Moments / Multilevel Fast Multipole Method
  • KIFMM3d ( Kernel-Independent Fast Multipole 3d Method) เป็นการนำ FMM มาใช้แบบใหม่ ซึ่งไม่จำเป็นต้องใช้การขยายมัลติโพลอย่างชัดเจนของเคอร์เนลพื้นฐาน และใช้การประเมินค่าเคอร์เนลเป็นพื้นฐาน
  • PVFMMคือการนำ KIFMM มาใช้แบบขนานอย่างมีประสิทธิภาพเพื่อคำนวณศักยภาพจากแหล่งกำเนิดอนุภาคและปริมาตร
  • FastBEMโปรแกรมองค์ประกอบขอบเขตแบบมัลติโพลที่รวดเร็วและฟรี สำหรับแก้ปัญหาศักยภาพ ความยืดหยุ่น การไหลของสโตกส์ และปัญหาเสียงใน 2 มิติ/3 มิติ
  • FastFieldSolversดูแลการเผยแพร่เครื่องมือที่เรียกว่า FastHenry และ FastCap ซึ่งพัฒนาขึ้นที่ MIT สำหรับแก้สมการของแม็กซ์เวลล์และแยกค่าพาราไซต์ของวงจร (ค่าเหนี่ยวนำและค่าความจุ) โดยใช้ FMM
  • ExaFMMคือโค้ด FMM 3 มิติที่รองรับทั้ง CPU และ GPU สำหรับเคอร์เนล Laplace/Helmholtz โดยเน้นที่ความสามารถในการขยายขนาดแบบขนาน
  • ScalFMM ถูกเก็บถาวรเมื่อวันที่ 2 พฤษภาคม 2017 ที่Wayback Machine ScalFMM เป็นไลบรารีซอฟต์แวร์ C++ ที่พัฒนาขึ้นที่Inria Bordeaux โดยเน้นความสามารถในการใช้งานทั่วไปและการประมวลผลแบบขนาน (โดยใช้OpenMP / MPI )
  • DASHMMเป็นไลบรารีซอฟต์แวร์ C++ ที่พัฒนาขึ้นที่มหาวิทยาลัยอินเดียนา โดยใช้ระบบรันไทม์ HPX-5 แบบมัลติทาสกิ้งแบบอะซิงโครนัส มันให้การทำงานแบบรวมศูนย์บนคอมพิวเตอร์ที่มีหน่วยความจำร่วมและแบบกระจาย และมีเคอร์เนลแบบ 3 มิติ Laplace, Yukawa และ Helmholtz
  • RECFMM คือ FMM แบบปรับได้พร้อมการประมวลผลแบบขนานแบบไดนามิกบนมัลติคอร์
  • FMM3Dคือไลบรารีสำหรับการคำนวณปฏิสัมพันธ์ระหว่างวัตถุ 3 มิติและ N วัตถุอย่างมีประสิทธิภาพบนเครื่องมัลติคอร์
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Fast_multipole_method&oldid=1354995445 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ วิธีมัลติโพลแบบเร็ว

วิธีการมัลติโพลแบบเร็ว ( FMM ) เป็น เทคนิค เชิงตัวเลขที่พัฒนาขึ้นเพื่อเร่งความเร็วในการคำนวณแรงระยะไกลในปัญหาn -body โดยทำได้โดยการขยายฟังก์ชันกรีนของ ระบบ

ภาพร่างของอัลกอริทึม

ในรูปแบบที่ง่ายที่สุด วิธีการมัลติโพลแบบเร็ว (fast multipole method) มุ่งที่จะประเมินฟังก์ชันต่อไปนี้: โดยที่เป็นเซตของโพล และเป็นน้ำหนักของโพลที่สอดคล้องกันบนเซตของจุดที่มีนี่คือรูปแบบหนึ่งมิติของปัญหา แต่สามารถขยายอัลกอริทึมนี้ไปยังหลายมิติและเคอร์เนลอื่นๆ...

ดูเพิ่มเติม

การจำลองแบบบาร์นส์-ฮัท การขยายแบบหลายขั้ว การจำลอง n -body

อ่านเพิ่มเติม

Yijun Liu: วิธีองค์ประกอบขอบเขตมัลติโพลแบบเร็ว: ทฤษฎีและการประยุกต์ใช้ในงานวิศวกรรม , สำนักพิมพ์มหาวิทยาลัยเคมบริดจ์, ISBN 978-0-521-11659-6 (2009)