h****y 发帖数: 61 | 1 版上有人用过那个FFTPACK(by Hugh C. Pumphrey)?
这里面FFT变换后得到的fourier transform的系数究竟是怎么对应的?
看了doc 文件,并和解析结果比较,对1D 的情况好像是这样的: 第一个数为fourier
transform 的常数项,即n=0的项;第2个数对应n=1项的实部,第3个数对应n=1项的虚部
,第3个数对应n=2的实部,第四个数对应n=2的虚部 ...
可是对于2D、3D的情况死活对应不了 :-( |
m***0 发帖数: 3 | 2 fftw is more popular
fourier
【在 h****y 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 版上有人用过那个FFTPACK(by Hugh C. Pumphrey)? : 这里面FFT变换后得到的fourier transform的系数究竟是怎么对应的? : 看了doc 文件,并和解析结果比较,对1D 的情况好像是这样的: 第一个数为fourier : transform 的常数项,即n=0的项;第2个数对应n=1项的实部,第3个数对应n=1项的虚部 : ,第3个数对应n=2的实部,第四个数对应n=2的虚部 ... : 可是对于2D、3D的情况死活对应不了 :-(
|
j**u 发帖数: 6059 | 3
nod.
【在 m***0 的大作中提到】![](/moin_static193/solenoid/img/up.png) : fftw is more popular : : fourier
|
h****y 发帖数: 61 | 4 谢谢~~
由于偶的程序中就只要一次FFT,所花时间也不多,最后偶决定还是用最土的办法,直
接算三重积分得到fourier transform coeffients. 对比用FFT得到的结果,发现两者
还是怎么都对不上,除了常数项外。
对于一个有inversion symmetry的周期性体系的势,做fourier transform 后,起
fourier transform coeffients的虚部应该为零,可 FFT后给出的结果则不是这样的。
偶怀疑到底FFT后直接给出的是不是就是fourier transform coeffients啊?这个FFT变
换后各个fourier transform coeffients究竟是怎么布局的?
一维的FFT情况已经清楚了,我的理解是三维的FFT不就在每一维度上先后做一次一维的
FFT吗?我的程序是用Fortran写的,这也是为什么最初选择用FFTPACK,而没有用FFTW的
原因。对3D的情况,FFTW中可以容易的找出如n1=-2,n2= 2, n3=0 对应的系数吗?
【在 m***0 的大作中提到】![](/moin_static193/solenoid/img/up.png) : fftw is more popular : : fourier
|
l******n 发帖数: 9344 | 5 fotran用fftw也很方便呀
你说的这个直接作cos或者sin transform就可以了
fftw里边也有直接的函数可用
【在 h****y 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 谢谢~~ : 由于偶的程序中就只要一次FFT,所花时间也不多,最后偶决定还是用最土的办法,直 : 接算三重积分得到fourier transform coeffients. 对比用FFT得到的结果,发现两者 : 还是怎么都对不上,除了常数项外。 : 对于一个有inversion symmetry的周期性体系的势,做fourier transform 后,起 : fourier transform coeffients的虚部应该为零,可 FFT后给出的结果则不是这样的。 : 偶怀疑到底FFT后直接给出的是不是就是fourier transform coeffients啊?这个FFT变 : 换后各个fourier transform coeffients究竟是怎么布局的? : 一维的FFT情况已经清楚了,我的理解是三维的FFT不就在每一维度上先后做一次一维的 : FFT吗?我的程序是用Fortran写的,这也是为什么最初选择用FFTPACK,而没有用FFTW的
|
l******n 发帖数: 9344 | 6 系数的话,看manual里边看结果怎么packing
一般都是0倒n/2+1,然后再是负数
【在 h****y 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 谢谢~~ : 由于偶的程序中就只要一次FFT,所花时间也不多,最后偶决定还是用最土的办法,直 : 接算三重积分得到fourier transform coeffients. 对比用FFT得到的结果,发现两者 : 还是怎么都对不上,除了常数项外。 : 对于一个有inversion symmetry的周期性体系的势,做fourier transform 后,起 : fourier transform coeffients的虚部应该为零,可 FFT后给出的结果则不是这样的。 : 偶怀疑到底FFT后直接给出的是不是就是fourier transform coeffients啊?这个FFT变 : 换后各个fourier transform coeffients究竟是怎么布局的? : 一维的FFT情况已经清楚了,我的理解是三维的FFT不就在每一维度上先后做一次一维的 : FFT吗?我的程序是用Fortran写的,这也是为什么最初选择用FFTPACK,而没有用FFTW的
|
O******e 发帖数: 734 | 7 I use fftw3 compiled using gcc together with my Fortran 95 code
compiled using ifort 9.1 and have no problems.
【在 h****y 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 谢谢~~ : 由于偶的程序中就只要一次FFT,所花时间也不多,最后偶决定还是用最土的办法,直 : 接算三重积分得到fourier transform coeffients. 对比用FFT得到的结果,发现两者 : 还是怎么都对不上,除了常数项外。 : 对于一个有inversion symmetry的周期性体系的势,做fourier transform 后,起 : fourier transform coeffients的虚部应该为零,可 FFT后给出的结果则不是这样的。 : 偶怀疑到底FFT后直接给出的是不是就是fourier transform coeffients啊?这个FFT变 : 换后各个fourier transform coeffients究竟是怎么布局的? : 一维的FFT情况已经清楚了,我的理解是三维的FFT不就在每一维度上先后做一次一维的 : FFT吗?我的程序是用Fortran写的,这也是为什么最初选择用FFTPACK,而没有用FFTW的
|