module defpi implicit none real(8),parameter::pi=3.14159265358979323846D0 end module defpi program f90_COMPLEX ! Use of complex number use defpi implicit none complex(8)::z1,z2,z ! Arithmetic operation write(6,*) '(1-i)/(1+i)=-i' z=cmplx(1.0D0,-1.0D0)/cmplx(1.0D0,1.0D0) write(6,'(2f10.3)') real(z),aimag(z) z=cmplx(0.0D0,-1.0D0) write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') ! i/(1-i)+(1-i)/i=-3/2-1/2*i write(6,*) 'i/(1-i)+(1-i)/i=-3/2-1/2*i' z=cmplx(0.0D0,1.0D0)/cmplx(1.0D0,-1.0D0)+cmplx(1.0D0,-1.0D0)/cmplx(0.0D0,1.0D0) write(6,'(2f10.3)') real(z),aimag(z) z=cmplx(-3.0D0/2.0D0,-0.5D0) write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') ! {(3+4*i)/(1-2*i)}^2=-3-4*i write(6,*) '{(3+4*i)/(1-2*i)}^2=-3-4*i' z=(cmplx(3.0D0,4.0D0)/cmplx(1.0D0,-2.0D0))**2.0D0 write(6,'(2f10.3)') real(z),aimag(z) z=cmplx(-3.0D0,-4.0D0) write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') ! Square root write(6,*) 'sqrt(2)' z=sqrt(cmplx(2.0D0,0.0D0)) write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') ! sqrt(3) write(6,*) 'sqrt(3)' z=sqrt(cmplx(3.0D0,0.0D0)) write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') ! pm:sqrt(-i)=cos(3/4*pi)+i*sin(3/4*pi) write(6,*) 'sqrt(-i)=cos(3/4*pi)+i*sin(3/4*pi)' z=sqrt(cmplx(0.0D0,-1.0D0)) write(6,'(2f10.3)') real(z),aimag(z) z=cmplx(cos(3.0D0/4.0D0*pi),sin(3.0D0/4.0D0*pi)) write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') ! pm:sqrt(-i)=exp^(i*3/4*pi) write(6,*) 'sqrt(-i)=exp^(i*3/4*pi)' z=sqrt(cmplx(0.0D0,-1.0D0)) write(6,'(2f10.3)') real(z),aimag(z) z=exp(cmplx(0.0D0,3.0D0/4.0D0*pi)) write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') ! sqrt(-i)=sqrt(2)/2*(i-1) write(6,*) 'sqrt(-i)=sqrt(2)/2*(i-1)' z=sqrt(cmplx(0.0D0,-1.0D0)) write(6,'(2f10.3)') real(z),aimag(z) z1=cmplx(0.5*sqrt(2.0D0),0.0D0) z2=cmplx(0.0D0,1.0D0)-cmplx(1.0D0,0.0D0) z=z1*z2 write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') ! Euler's formula ! e^(i*z)=cos(z)+i*sin(z) write(6,*) 'e^(i*z)=cos(z)+i*sin(z)' z1=cmplx(2.5D0,-7.3D0) z=exp(cmplx(0.0D0,1.0D0)*z1) write(6,'(2f10.3)') real(z),aimag(z) z=cos(z1)+cmplx(0.0D0,1.0D0)*sin(z1) write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') ! Trigonometric function write(6,*) 'sin(z)^2+cos(z)^2=1' z1=cmplx(1.0D0,2.0D0) z=sin(z1)**2.0D0+cos(z1)**2.0D0 write(6,'(2f10.3)') real(z),aimag(z) z=cmplx(1.0D0,0.0D0) write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') ! Addition theorem of a sine function ! sin(z1+z2)=sin(z1)*cos(z2)+cos(z1)*sin(z2) write(6,*) 'sin(z1+z2)=sin(z1)*cos(z2)+cos(z1)*sin(z2)' z1=cmplx(1.7D0,-3.6D0) z2=cmplx(200.0D0,-0.3D0) z=sin(z1+z2) write(6,'(2f10.3)') real(z),aimag(z) z=sin(z1)*cos(z2)+cos(z1)*sin(z2) write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') ! Addition theorem of a cosine function ! cos(z1+z2)=cos(z1)*cos(z2)-sin(z1)*sin(z2) write(6,*) 'cos(z1+z2)=cos(z1)*cos(z2)-sin(z1)*sin(z2)' z1=cmplx(1.7D0,-3.6D0) z2=cmplx(200.0D0,-0.3D0) z=cos(z1+z2) write(6,'(2f10.3)') real(z),aimag(z) z=cos(z1)*cos(z2)-sin(z1)*sin(z2) write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') ! Hyperbolic function write(6,*) 'cosh(z)=1/2*(e^z+e^(-z))' z1=cmplx(1.7D0,-3.6D0) z=cosh(z1) write(6,'(2f10.3)') real(z),aimag(z) z=0.5*(exp(z1)+exp(-z1)) write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') ! sinh(z)=1/2*(e^z-e^(-z)) write(6,*) 'sinh(z)=1/2*(e^z-e^(-z))' z1=cmplx(1.7D0,-3.6D0) z=sinh(z1) write(6,'(2f10.3)') real(z),aimag(z) z=0.5*(exp(z1)-exp(-z1)) write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') ! cosh(z)^2-sinh(z)^2=1 write(6,*) 'cosh(z)^2-sinh(z)^2=1' z1=cmplx(1.7D0,-3.6D0) z=cosh(z1)**2.0D0-sinh(z1)**2.0D0 write(6,'(2f10.3)') real(z),aimag(z) z=cmplx(1.0D0,0.0D0) write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') ! sinh(i*z)=i*sin(z) write(6,*) 'sinh(i*z)=i*sin(z)' z1=cmplx(1.7D0,-3.6D0) z=sinh(cmplx(0.0D0,1.0D0)*z1) write(6,'(2f10.3)') real(z),aimag(z) z=cmplx(0,1)*sin(z1) write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') ! cosh(i*z)=cos(z) write(6,*) 'cosh(i*z)=cos(z)' z1=cmplx(1.7D0,-3.6D0) z=cosh(cmplx(0.0D0,1.0D0)*z1) write(6,'(2f10.3)') real(z),aimag(z) z=cos(z1) write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') ! sin(i*z)=i*sinh(z) write(6,*) 'sin(i*z)=i*sinh(z)' z1=cmplx(1.7D0,-3.6D0) z=sin(cmplx(0.0D0,1.0D0)*z1) write(6,'(2f10.3)') real(z),aimag(z) z=cmplx(0.0D0,1.0D0)*sinh(z1) write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') ! cos(i*z)=cosh(z) write(6,*) 'cos(i*z)=cosh(z)' z1=cmplx(1.7D0,-3.6D0) z=cos(cmplx(0.0D0,1.0D0)*z1) write(6,'(2f10.3)') real(z),aimag(z) z=cosh(z1) write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') ! sinh(z1+z2)=sinh(z1)*cosh(z2)+cosh(z1)*sinh(z2) write(6,*) 'sinh(z1+z2)=sinh(z1)*cosh(z2)+cosh(z1)*sinh(z2)' z1=cmplx(1.7D0,-3.6D0) z2=cmplx(2.0D0,-0.3D0) z=sinh(z1+z2) write(6,'(2f10.3)') real(z),aimag(z) z=sinh(z1)*cosh(z2)+cosh(z1)*sinh(z2) write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') ! cosh(z1+z2)=cosh(z1)*cosh(z2)+sinh(z1)*sinh(z2) write(6,*) 'cosh(z1+z2)=cosh(z1)*cosh(z2)+sinh(z1)*sinh(z2)' z1=cmplx(1.7D0,-3.6D0) z2=cmplx(2.0D0,-0.3D0) z=cosh(z1+z2) write(6,'(2f10.3)') real(z),aimag(z) z=cosh(z1)*cosh(z2)+sinh(z1)*sinh(z2) write(6,'(2f10.3)') real(z),aimag(z) write(6,'()') end program f90_COMPLEX