文件名称:matlab实现傅里叶变换代码-julia-pde-benchmark:使用Julia和其他语言对简单的PDE集成算法进行基准测试
文件大小:1.54MB
文件格式:ZIP
更新时间:2024-06-12 04:47:10
系统开源
matlab实现傅里叶变换代码Julia·佩德·基准 使用Julia和其他语言对简单的PDE集成算法进行基准测试 我们在Julia,Python,Matlab,C ++,C和Fortran中对一维非线性偏微分方程(PDE)的非常简单的数值积分算法进行了基准测试。 结果包括执行时间与离散化系统的大小之间的关系,以及执行时间与代码行之间的关系。 PDE是Kuramoto-Sivashinky(KS)方程是一维非线性PDE u_t + u_xx + u_xxxx + u u_x = 0 其中x是空间,t是时间,下标表示微分。 该算法在空间上使用傅立叶分解,并在时间上采用二阶Crank-Nicolson,Adams-Bashforth半隐式有限差分,并使用非线性项的并置计算。 所有语言的实现都使用相同的FFTW库进行快速傅立叶变换,因此该基准旨在比较诸如索引范围检查和临时数组分配之类的特定于语言的开销。 结果表明,Julia在行数(大约二十行代码)和C ++和Fortran的执行速度上与Python和Matlab竞争。 完整的结果和讨论在 美国国家科学基金会CBET奖编号1554149为这项研
【文件预览】:
julia-pde-benchmark-master
----1-Kuramoto-Sivashinksy-benchmark.ipynb(2.46MB)
----codes()
--------ksbenchmark.c(4KB)
--------ksbenchmark.jl(8KB)
--------ksintegrate.m(2KB)
--------ksintegrate.f90(2KB)
--------ksbenchmark.py(3KB)
--------ksintegrate.cpp(4KB)
--------ksbenchmark.m(3KB)
--------ksintegrateInplace.jl(2KB)
--------ksbenchmark.cpp(4KB)
--------ksintegrateNaive.jl(2KB)
--------ksintegrate.py(2KB)
--------ksbenchmark.f90(4KB)
--------ks-r2c.f90(3KB)
--------ksintegrateUnrolled.jl(2KB)
----LICENSE(1KB)
----README.md(1KB)
----benchmark-data()
--------cputime.asc(2KB)
--------linecount.asc(343B)