Complex.Log Method

Definition

Returns the logarithm of a complex number.

Overloads

Log(Complex)

Returns the natural (base e) logarithm of a specified complex number.

Log(Complex, Double)

Returns the logarithm of a specified complex number in a specified base.

Log(Complex)

Returns the natural (base e) logarithm of a specified complex number.

public:
 static System::Numerics::Complex Log(System::Numerics::Complex value);
public static System.Numerics.Complex Log (System.Numerics.Complex value);
static member Log : System.Numerics.Complex -> System.Numerics.Complex
Public Shared Function Log (value As Complex) As Complex

Parameters

value
Complex

A complex number.

Returns

The natural (base e) logarithm of value.

Examples

The following example illustrates the Log method. It shows that, with some allowance for the lack of precision of the Double data type, passing the value returned by the Log method to the Exp method returns the original Complex value.

using System;
using System.Numerics;

public class Example
{
   public static void Main()
   {
      Complex[] values = { new Complex(1.53, 9.26), 
                           new Complex(2.53, -8.12),
                           new Complex(-2.81, 5.32),
                           new Complex(-1.09, -3.43),
                           new Complex(Double.MinValue/2, Double.MinValue/2) };
      foreach (Complex value in values)
         Console.WriteLine("Exp(Log({0}) = {1}", value, 
                           Complex.Exp(Complex.Log(value)));
   }
}
// The example displays the following output:
//       Exp(Log((1.53, 9.26)) = (1.53, 9.26)
//       Exp(Log((2.53, -8.12)) = (2.53, -8.12)
//       Exp(Log((-2.81, 5.32)) = (-2.81, 5.32)
//       Exp(Log((-1.09, -3.43)) = (-1.09, -3.43)
//       Exp(Log((-8.98846567431158E+307, -8.98846567431158E+307)) = (-8.98846567431161E+307, -8.98846567431161E+307)
Imports System.Numerics

Module Example
   Public Sub Main()
      Dim values() As Complex = { New Complex(1.53, 9.26), 
                                  New Complex(2.53, -8.12),
                                  New Complex(-2.81, 5.32),
                                  New Complex(-1.09, -3.43),
                                  New Complex(Double.MinValue/2, Double.MinValue/2) }
      For Each value As Complex In values
         Console.WriteLine("Exp(Log({0}) = {1}", value, 
                           Complex.Exp(Complex.Log(value)))
      Next                                  
   End Sub
End Module
' The example displays the following output:
'      Exp(Log((1.53, 9.26)) = (1.53, 9.26)
'      Exp(Log((2.53, -8.12)) = (2.53, -8.12)
'      Exp(Log((-2.81, 5.32)) = (-2.81, 5.32)
'      Exp(Log((-1.09, -3.43)) = (-1.09, -3.43)
'      Exp(Log((-8.98846567431158E+307, -8.98846567431158E+307)) = (-8.98846567431161E+307, -8.98846567431161E+307)

Remarks

The Log(Complex) method for complex numbers corresponds to the Math.Log(Double) method for real numbers.

See also

Applies to

Log(Complex, Double)

Returns the logarithm of a specified complex number in a specified base.

public:
 static System::Numerics::Complex Log(System::Numerics::Complex value, double baseValue);
public static System.Numerics.Complex Log (System.Numerics.Complex value, double baseValue);
static member Log : System.Numerics.Complex * double -> System.Numerics.Complex
Public Shared Function Log (value As Complex, baseValue As Double) As Complex

Parameters

value
Complex

A complex number.

baseValue
Double

The base of the logarithm.

Returns

The logarithm of value in base baseValue.

Remarks

The Log(Complex, Double) method for complex numbers corresponds to the Math.Log(Double, Double) method for real numbers.

Applies to