Class ComplexUtils


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

      • 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.