Class ComplexUtils

java.lang.Object
org.hipparchus.complex.ComplexUtils

public class ComplexUtils extends Object
Static implementations of common Complex utilities functions.
  • Method Details

    • polar2Complex

      public static Complex polar2Complex(double r, double theta) throws MathIllegalArgumentException
      Creates a complex number from the given polar representation.

      The value returned is r·ei·theta, computed as r·cos(theta) + r·sin(theta)i

      If either r or theta is NaN, or theta is infinite, Complex.NaN is returned.

      If r is infinite and theta is finite, infinite or NaN values may be returned in parts of the result, following the rules for double arithmetic.

       Examples:
       
       polar2Complex(INFINITY, π/4) = INFINITY + INFINITY i
       polar2Complex(INFINITY, 0) = INFINITY + NaN i
       polar2Complex(INFINITY, -π/4) = INFINITY - INFINITY i
       polar2Complex(INFINITY, 5π/4) = -INFINITY - INFINITY i 
       
      Parameters:
      r - the modulus of the complex number to create
      theta - the argument of the complex number to create
      Returns:
      r·ei·theta
      Throws:
      MathIllegalArgumentException - if r is negative.
    • polar2Complex

      public static <T extends CalculusFieldElement<T>> FieldComplex<T> polar2Complex(T r, T theta) throws MathIllegalArgumentException
      Creates a complex number from the given polar representation.

      The value returned is r·ei·theta, computed as r·cos(theta) + r·sin(theta)i

      If either r or theta is NaN, or theta is infinite, Complex.NaN is returned.

      If r is infinite and theta is finite, infinite or NaN values may be returned in parts of the result, following the rules for double arithmetic.

       Examples:
       
       polar2Complex(INFINITY, π/4) = INFINITY + INFINITY i
       polar2Complex(INFINITY, 0) = INFINITY + NaN i
       polar2Complex(INFINITY, -π/4) = INFINITY - INFINITY i
       polar2Complex(INFINITY, 5π/4) = -INFINITY - INFINITY i 
       
      Type Parameters:
      T - type of the field elements
      Parameters:
      r - the modulus of the complex number to create
      theta - the argument of the complex number to create
      Returns:
      r·ei·theta
      Throws:
      MathIllegalArgumentException - if r is negative.
      Since:
      2.0
    • convertToComplex

      public static Complex[] convertToComplex(double[] real)
      Convert an array of primitive doubles to an array of Complex objects.
      Parameters:
      real - Array of numbers to be converted to their Complex equivalent.
      Returns:
      an array of Complex objects.