Complex.Log Method (Complex)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

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

Namespace:  System.Numerics
Assembly:  System.Numerics (in System.Numerics.dll)

Syntax

'Declaration
Public Shared Function Log ( _
    value As Complex _
) As Complex
public static Complex Log(
    Complex value
)

Parameters

Return Value

Type: System.Numerics.Complex
The natural (base e) logarithm of value.

Remarks

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

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.

Imports System.Numerics

Module Example
   Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      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
         outputBlock.Text += String.Format("Exp(Log({0}) = {1}", value, 
                           Complex.Exp(Complex.Log(value))) + vbCrLf 
      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)
using System;
using System.Numerics;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      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)
         outputBlock.Text += String.Format("Exp(Log({0}) = {1}", value,
                           Complex.Exp(Complex.Log(value))) + "\n";
   }
}
// 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)

Version Information

Silverlight

Supported in: 5, 4

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.