type=class
superclass=Numeric
included=
extended=
library=complex

ʣǿ򰷤Υ饹Ǥ


Υ饤֥ require ȡ[[c:Math]] ⥸塼뤬ʣǿб˳ĥޤ
оݤȤʤʣǿʲΤ褦˶˺ɸɽ
  z = a + b * i = r * exp(i * t)
г t [-,]ϰϤǤȹͤơؿޤ
[[m:Complex#arg]]򻲾ȤƲ

ʲʣǴؿǤ

  abs(z)  = r
  sqrt(z) = sqrt(r) * exp(i * t/2)
  exp(z)  = exp(a) * exp(i * b)
  log(z)  = log(r) + i * t
  
  sin(z)  = (exp(i * z) - exp(-i * z)) / 2i
  cos(z)  = (exp(i * z) + exp(-i * z)) / 2
  tan(z)  = sin(z) / cos(z)
  sinh(z) = (exp(z) - exp(-z)) / 2
  cosh(z) = (exp(z) + exp(-z)) / 2
  tanh(z) = sinh(z) / cosh(z)
  
  asin(z) = -i * log(i*z + sqrt(1-z*z))
  acos(z) = -i * log(z + i*sqrt(1-z*z))
  atan(z) = i/2 * log((i+z) / (i-z))
  atan2(y, x) = -i * log( (x + i * y) / sqrt( x*x + y*y ) )
  asinh(z) = log(z + sqrt(z*z+1))
  acosh(z) = log(z + sqrt(z*z-1))
  atanh(z) = 1/2 * log((1+z) / (1-z))

ޤźե饤֥Υ٥ȥ륯饹 [[c:Vector]]ӡ
󥯥饹 [[c:Matrix]] ɤ߹ǤȤ
Vector  Matrix ǤȤơʣǿȤȤǤޤ
Vector  Matrix Τ줾ιܤ򻲾ȤƤ

=== 

  require 'complex'
 
  z1 = Complex.new(4, 3)
  z2 = Complex.new(2, 1)
 
  p z1 + z2 #=> Complex(6, 4)
  p z1 * z2 #=> Complex(5, 10)
 
  i = Complex::I
 
  p z1 == 4 + 3 * i #=> true
