次の方法で共有


Complex.Reciprocal(Complex) メソッド

定義

複素数の乗算逆関数を返します。

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

パラメーター

value
Complex

複素数。

戻り値

valueの逆数。

次の例では、Reciprocal メソッドを使用して、複数の複素数の逆数の値を計算します。 また、複素数とその逆数を乗算した結果が 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)

注釈

数値 x の逆数 (乗法逆) は、x * y が 1 を生成 y 数値です。 複素数の逆数は、2 つの数値が乗算されたときに Complex.One を生成する複素数です。 複素数が a + biで表される場合、その逆数は次の式で表されます。

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

値が Complex.Zero場合、メソッドは Complex.Zeroを返します。 それ以外の場合は、式 Complex.One/valueの結果を返します。

適用対象