Complex.Phase Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets the phase of a complex number.

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

public double Phase { get; }

Property Value

Type: System.Double

The phase of a complex number, in radians.

For a complex number a + bi, the phase is computed as Math.Atan2(b, a).

You can identify a complex number by its Cartesian coordinates on the complex plane or by its polar coordinates. The phase (argument) of a complex number is the angle to the real axis of a line drawn from the point of origin (the intersection of the x-axis and the y-axis) to the point represented by the complex number. The magnitude (represented by the Magnitude property) is the distance from the point of origin to the point that is represented by the complex number.

You can instantiate a complex number based on its polar coordinates instead of its Cartesian coordinates by calling the FromPolarCoordinates method.

To convert the phase from radians to degrees, multiply it by 180/Math.PI.

The following example uses the FromPolarCoordinates method to instantiate a complex number based on its polar coordinates, and then displays the value of its Magnitude and Phase properties.

using System;
using System.Numerics;

public class Example
   public static void Main()
      Complex c1 = Complex.FromPolarCoordinates(10, 45 * Math.PI / 180);
      Console.WriteLine("{0}:", c1);
      Console.WriteLine("   Magnitude: {0}", Complex.Abs(c1));
      Console.WriteLine("   Phase:     {0} radians", c1.Phase);
      Console.WriteLine("   Phase      {0} degrees", c1.Phase * 180/Math.PI);
      Console.WriteLine("   Atan(b/a): {0}", Math.Atan(c1.Imaginary/c1.Real));
// The example displays the following output:
//       (7.07106781186548, 7.07106781186547):
//          Magnitude: 10
//          Phase:     0.785398163397448 radians
//          Phase      45 degrees
//          Atan(b/a): 0.785398163397448

Universal Windows Platform
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Available since 4.0
Windows Phone
Available since 8.1
Return to top