Class Math_Const
In: math_const.f90

数学定数集

Methods

img   iomega2   iomega3   iomega5   iomega7   pi   romega2   romega3   romega5   romega7   rotate_array  

Public Instance methods

img
Constant :
img =(0.0,1.0) :complex, parameter
: 虚数単位
iomega2
Variable :
iomega2 :complex, save, dimension(0:1,0:1)
: 波数 2 の回転行列 (逆変換用)
iomega3
Variable :
iomega3 :complex, save, dimension(0:2,0:2)
: 波数 3 の回転行列 (逆変換用)
iomega5
Variable :
iomega5 :complex, save, dimension(0:4,0:4)
: 波数 5 の回転行列 (逆変換用)
iomega7
Variable :
iomega7 :complex, save, dimension(0:6,0:6)
: 波数 7 の回転行列 (逆変換用)
pi
Constant :
pi =3.14159265 :real, parameter
: 円周率
romega2
Variable :
romega2 :complex, save, dimension(0:1,0:1)
: 波数 2 の回転行列 (正変換用)
romega3
Variable :
romega3 :complex, save, dimension(0:2,0:2)
: 波数 3 の回転行列 (正変換用)
romega5
Variable :
romega5 :complex, save, dimension(0:4,0:4)
: 波数 5 の回転行列 (正変換用)
romega7
Variable :
romega7 :complex, save, dimension(0:6,0:6)
: 波数 7 の回転行列 (正変換用)
Subroutine :

FFT 用の回転行列を計算する

[Source]

  subroutine rotate_array()
  ! FFT 用の回転行列を計算する
  implicit none

  integer :: i, j

  romega2=1.0
  romega2(1,1)=-1.0
  do j=0,2
     do i=0,2
        romega3(i,j)=cos(2.0*pi*i*j/3.0)-img*sin(2.0*pi*i*j/3.0)
     end do
  end do
  do j=0,4
     do i=0,4
        romega5(i,j)=cos(2.0*pi*i*j/5.0)-img*sin(2.0*pi*i*j/5.0)
     end do
  end do
  do j=0,6
     do i=0,6
        romega7(i,j)=cos(2.0*pi*i*j/7.0)-img*sin(2.0*pi*i*j/7.0)
     end do
  end do

  iomega2=1.0
  iomega2(1,1)=-1.0
  do j=0,2
     do i=0,2
        iomega3(i,j)=cos(2.0*pi*i*j/3.0)+img*sin(2.0*pi*i*j/3.0)
     end do
  end do
  do j=0,4
     do i=0,4
        iomega5(i,j)=cos(2.0*pi*i*j/5.0)+img*sin(2.0*pi*i*j/5.0)
     end do
  end do
  do j=0,6
     do i=0,6
        iomega7(i,j)=cos(2.0*pi*i*j/7.0)+img*sin(2.0*pi*i*j/7.0)
     end do
  end do


  end subroutine rotate_array