Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Implementation of 1D Fast Multiple Method

License

NotificationsYou must be signed in to change notification settings

JerryLingjieMei/FastMultipleMethod

Repository files navigation

Fast Multiple Method (FMM) is a fast technique to calculate forces in multiple positions of a n-body system. This project is an implementation of FMM in 1D. An brief introduction to this method can be found inthis short course.

File Descriptions

FMM.h

FMM.h is the header containing necessary classes for implementing FFM in 1D. TheFMM1d gives a class to intialize a n-body system with an array of weights in differnt places, as well as a parameterh and maximal erroreps.

FMM1d(double *begin,double *end,double *weightBegin,double *weightEnd,double h,double eps)

This class has equipped with a methodFMM1d::evaluate(double x) to evalute the total force at positionx.

main.cpp & RadialBasis.pdf

main.cpp contains test to meet the technical requirements in [RadialBasis.pdf](Radial Basis.pdf). It shows that the FMM has a run time complexity of$O(n\log(1/\varepsilon))$ with the maximal error$\varepsilon$, compared to a$O(n^2)$ of the brute force.

18_330_Final.pdf

18_330_Final.pdf is a detailed report on how the algorithm is implemented and comparative results.

Acknowledgements

This project is inspired byMatthias Taus from MIT Mathematics in the 18.330 class during the fall term in 2017.

About

Implementation of 1D Fast Multiple Method

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp