Rediger

Del via


Complex.Reciprocal(Complex) Method

Definition

Returns the multiplicative inverse of a complex number.

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

Parameters

value
Complex

A complex number.

Returns

The reciprocal of value.

Examples

The following example uses the Reciprocal method to calculate the reciprocal values of several complex numbers. It also demonstrates that the result of multiplying a complex number by its reciprocal is Complex.One.

using System;
using System.Numerics;

public class Example
{
   public static void Main()
   {
      Complex[] values = { new Complex(1, 1),
                           new Complex(-1, 1),
                           new Complex(10, -1),
                           new Complex(3, 5) };
      foreach (Complex value in values)
      {
         Complex r1 = Complex.Reciprocal(value);
         Console.WriteLine("{0:N0} x {1:N2} = {2:N2}",
                           value, r1, value * r1);
      }
   }
}
// The example displays the following output:
//       (1, 1) x (0.50, -0.50) = (1.00, 0.00)
//       (-1, 1) x (-0.50, -0.50) = (1.00, 0.00)
//       (10, -1) x (0.10, 0.01) = (1.00, 0.00)
//       (3, 5) x (0.09, -0.15) = (1.00, 0.00)
open System.Numerics

let values =
    [ Complex(1., 1.); Complex(-1., 1.); Complex(10., -1.); Complex(3., 5.) ]

for value in values do
    let r1 = Complex.Reciprocal value
    printfn $"{value:N0} x {r1:N2} = {value * r1:N2}"
// The example displays the following output:
//       (1, 1) x (0.50, -0.50) = (1.00, 0.00)
//       (-1, 1) x (-0.50, -0.50) = (1.00, 0.00)
//       (10, -1) x (0.10, 0.01) = (1.00, 0.00)
//       (3, 5) x (0.09, -0.15) = (1.00, 0.00)
Imports System.Numerics

Module Example
   Public Sub Main()
      Dim values() As Complex = { New Complex(1, 1), 
                                  New Complex(-1, 1), 
                                  New Complex(10, -1),
                                  New Complex(3, 5) }
      For Each value As Complex In values         
         Dim r1 As Complex = Complex.Reciprocal(value)                   
         Console.WriteLine("{0:N0} x {1:N2} = {2:N2}", 
                           value, r1, value * r1)
      Next
   End Sub
End Module
' The example displays the following output:
'       (1, 1) x (0.50, -0.50) = (1.00, 0.00)
'       (-1, 1) x (-0.50, -0.50) = (1.00, 0.00)
'       (10, -1) x (0.10, 0.01) = (1.00, 0.00)
'       (3, 5) x (0.09, -0.15) = (1.00, 0.00)

Remarks

The reciprocal, or multiplicative inverse, of a number x is a number y where x * y yields 1. The reciprocal of a complex number is the complex number that produces Complex.One when the two numbers are multiplied. If a complex number is represented by a + bi, its reciprocal is represented by the following expression:

$\frac{a}{a^2 + b^2} + -\frac{b}{a^2 + b^2}$

If value is Complex.Zero, the method returns Complex.Zero. Otherwise, it returns the result of the expression Complex.One/value.

Applies to