Class Complex

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static Complex I
      The imaginary unit i.
      static Complex ONE
      The complex number one.
      static Complex ZERO
      The complex number zero.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      double argument()
      Returns the argument of this complex number.
      int compareTo​(Complex that)
      Compares two complex numbers, the real components are compared first, then if equal, the imaginary components.
      Complex conjugate()
      Returns the conjugate of this complex number.
      Complex copy()
      Returns a copy of this number allocated by the calling thread (possibly on the stack).
      Complex divide​(double k)
      Returns this complex divided by the specified factor.
      Complex divide​(Complex that)
      Returns this complex divided by the specified complex.
      double doubleValue()
      Returns the real component of this Complex number as a double.
      boolean equals​(Object that)
      Compares this complex against the specified Object.
      boolean equals​(Complex that, double tolerance)
      Indicates if two complexes are "sufficiently" alike to be considered equal.
      Complex exp()
      Returns the exponential number e raised to the power of this complex.
      double getImaginary()
      Returns the imaginary component of this complex number.
      double getReal()
      Returns the real component of this complex number.
      int hashCode()
      Returns the hash code for this complex number.
      Complex inverse()
      Returns the inverse of this complex.
      boolean isInfinite()
      Indicates if either the real or imaginary component of this complex is infinite.
      boolean isLargerThan​(Complex that)
      Compares the magnitude of this complex number with the magnitude of the complex number specified.
      boolean isNaN()
      Indicates if either the real or imaginary component of this complex is not a number.
      Complex log()
      Returns the principal natural logarithm (base e) of this complex.
      long longValue()
      Returns the real component of this Complex number as a long.
      double magnitude()
      Returns the magnitude of this complex number, also referred to as the "modulus" or "length".
      Complex minus​(Complex that)
      Returns the difference between this complex and the one specified.
      Complex opposite()
      Returns the negation of this complex.
      Complex plus​(Complex that)
      Returns the sum of this complex with the one specified.
      Complex pow​(double e)
      Returns this complex raised to the specified power.
      Complex pow​(Complex that)
      Returns this complex raised to the power of the specified complex exponent.
      Complex sqrt()
      Returns one of the two square root of this complex number.
      Complex times​(double k)
      Returns this complex multiplied by the specified factor.
      Complex times​(Complex that)
      Returns the product of this complex with the one specified.
      javolution.text.Text toText()
      Returns the text representation of this complex number.
      static Complex valueOf​(double real, double imaginary)
      Returns the complex number having the specified real and imaginary components.
      static Complex valueOf​(CharSequence csq)
      Returns the complex number for the specified character sequence.
    • Field Detail

      • ZERO

        public static final Complex ZERO
        The complex number zero.
      • ONE

        public static final Complex ONE
        The complex number one.
      • I

        public static final Complex I
        The imaginary unit i.
    • Method Detail

      • valueOf

        public static Complex valueOf​(double real,
                                      double imaginary)
        Returns the complex number having the specified real and imaginary components.
        Parameters:
        real - the real component of this complex number.
        imaginary - the imaginary component of this complex number.
        Returns:
        the corresponding complex number.
        See Also:
        getReal(), getImaginary()
      • valueOf

        public static Complex valueOf​(CharSequence csq)
        Returns the complex number for the specified character sequence.
        Parameters:
        csq - the character sequence.
        Returns:
        TextFormat.getInstance(Complex.class).parse(csq)
        Throws:
        IllegalArgumentException - if the character sequence does not contain a parsable complex number.
        See Also:
        TextFormat.getInstance(Class)
      • isInfinite

        public boolean isInfinite()
        Indicates if either the real or imaginary component of this complex is infinite.
        Returns:
        true if this complex is infinite; false otherwise.
      • isNaN

        public boolean isNaN()
        Indicates if either the real or imaginary component of this complex is not a number.
        Returns:
        true if this complex is NaN; false otherwise.
      • getReal

        public double getReal()
        Returns the real component of this complex number.
        Returns:
        the real component.
      • getImaginary

        public double getImaginary()
        Returns the imaginary component of this complex number.
        Returns:
        the imaginary component.
      • plus

        public Complex plus​(Complex that)
        Returns the sum of this complex with the one specified.
        Specified by:
        plus in interface GroupAdditive<Complex>
        Parameters:
        that - the complex to be added.
        Returns:
        this + that.
      • minus

        public Complex minus​(Complex that)
        Returns the difference between this complex and the one specified.
        Overrides:
        minus in class Number<Complex>
        Parameters:
        that - the complex to be subtracted.
        Returns:
        this - that.
      • times

        public Complex times​(double k)
        Returns this complex multiplied by the specified factor.
        Parameters:
        k - the factor multiplier.
        Returns:
        this * k.
      • divide

        public Complex divide​(double k)
        Returns this complex divided by the specified factor.
        Parameters:
        k - the factor divisor.
        Returns:
        this / k.
      • divide

        public Complex divide​(Complex that)
        Returns this complex divided by the specified complex.
        Parameters:
        that - the complex divisor.
        Returns:
        this / that.
      • conjugate

        public Complex conjugate()
        Returns the conjugate of this complex number.
        Returns:
        (this.real(), - this.imaginary()).
      • magnitude

        public double magnitude()
        Returns the magnitude of this complex number, also referred to as the "modulus" or "length".
        Returns:
        the magnitude of this complex number.
      • argument

        public double argument()
        Returns the argument of this complex number. It is the angle in radians, measured counter-clockwise from the real axis.
        Returns:
        argument of this complex number.
      • sqrt

        public Complex sqrt()
        Returns one of the two square root of this complex number.
        Returns:
        sqrt(this).
      • exp

        public Complex exp()
        Returns the exponential number e raised to the power of this complex. Note: ePI*i = -1
        Returns:
        exp(this).
      • log

        public Complex log()
        Returns the principal natural logarithm (base e) of this complex. Note: There are an infinity of solutions.
        Returns:
        log(this).
      • pow

        public Complex pow​(double e)
        Returns this complex raised to the specified power.
        Parameters:
        e - the exponent.
        Returns:
        this**e.
      • pow

        public Complex pow​(Complex that)
        Returns this complex raised to the power of the specified complex exponent.
        Parameters:
        that - the exponent.
        Returns:
        this**that.
      • equals

        public boolean equals​(Complex that,
                              double tolerance)
        Indicates if two complexes are "sufficiently" alike to be considered equal.
        Parameters:
        that - the complex to compare with.
        tolerance - the maximum magnitude of the difference between them before they are considered not equal.
        Returns:
        true if they are considered equal; false otherwise.
      • equals

        public boolean equals​(Object that)
        Compares this complex against the specified Object.
        Specified by:
        equals in class Number<Complex>
        Parameters:
        that - the object to compare with.
        Returns:
        true if the objects are the same; false otherwise.
      • hashCode

        public int hashCode()
        Returns the hash code for this complex number.
        Specified by:
        hashCode in class Number<Complex>
        Returns:
        the hash code value.
      • toText

        public javolution.text.Text toText()
        Returns the text representation of this complex number.
        Specified by:
        toText in interface javolution.lang.Realtime
        Specified by:
        toText in class Number<Complex>
        Returns:
        TextFormat.getInstance(Complex.class).format(this)
        See Also:
        TextFormat.getInstance(Class)
      • longValue

        public long longValue()
        Returns the real component of this Complex number as a long.
        Specified by:
        longValue in class Number<Complex>
        Returns:
        (long) this.getReal()
      • doubleValue

        public double doubleValue()
        Returns the real component of this Complex number as a double.
        Specified by:
        doubleValue in class Number<Complex>
        Returns:
        (double) this.getReal()
      • compareTo

        public int compareTo​(Complex that)
        Compares two complex numbers, the real components are compared first, then if equal, the imaginary components.
        Specified by:
        compareTo in interface Comparable<Complex>
        Specified by:
        compareTo in class Number<Complex>
        Parameters:
        that - the complex number to be compared with.
        Returns:
        -1, 0, 1 based upon the ordering.
      • isLargerThan

        public boolean isLargerThan​(Complex that)
        Compares the magnitude of this complex number with the magnitude of the complex number specified.
        Specified by:
        isLargerThan in class Number<Complex>
        Parameters:
        that - the complex number to be compared with.
        Returns:
        |this| > |that|
      • copy

        public Complex copy()
        Description copied from class: Number
        Returns a copy of this number allocated by the calling thread (possibly on the stack).
        Specified by:
        copy in interface javolution.lang.ValueType
        Specified by:
        copy in class Number<Complex>
        Returns:
        an identical and independant copy of this number.