function testLog()
 {
     /*{{{*/
     $tmp = Math_ComplexOp::log($this->cnum1);
     $this->assertEquals('-0.539404830686 + 1.03037682652i', $tmp->toString());
 }
Example #2
0
 /**
  * Returns the logarithm of base c2 of the complex number c1
  *
  * @param Math_Complex $c1
  * @param Math_Complex $c2
  * @return Math_Complex A valid Math_Complex number on success
  * @throws InvalidArgumentException
  */
 public static function logBase(Math_Complex $c1, Math_Complex $c2)
 {
     if (!Math_ComplexOp::isComplex($c1) || !Math_ComplexOp::isComplex($c2)) {
         throw new InvalidArgumentException('Both arguments must be Math_Complex objects');
     } else {
         return Math_ComplexOp::div(Math_ComplexOp::log($c1), Math_ComplexOp::log($c2));
     }
 }
require_once 'Math/ComplexOp.php';
$a = new Math_Complex(0.3, 0.5);
$b = new Math_Complex(1.0, -M_PI_2);
$im = -1.2;
echo "a = " . $a->toString() . "\n";
echo "b = " . $b->toString() . "\n";
echo "im = {$im}i\n";
$z = Math_ComplexOp::createFromPolar(0.022, -0.223);
echo "from polar, z = " . $z->toString() . "\n";
$z = Math_ComplexOp::sqrt($a);
echo "sqrt(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::sqrtReal(-2.3);
echo "sqrtReal(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::exp($a);
echo "exp(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::log($a);
echo "log(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::log10($a);
echo "log10(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::conjugate($a);
echo "conjugate(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::negative($a);
echo "negative(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::inverse($a);
echo "inverse(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::sin($a);
echo "sin(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::cos($a);
echo "cos(a) = " . $z->toString() . "\n";
$z = Math_ComplexOp::tan($a);
echo "tan(a) = " . $z->toString() . "\n";