PINE LIBRARY

MathComplexExtension

Updated
Library "MathComplexExtension"
A set of utility functions to handle complex numbers.

get_phase(complex_number, in_radians) The phase value of complex number complex_number.
Parameters:
  • complex_number: float array, pseudo complex number in the form of a array [real, imaginary].
  • in_radians: boolean, value for the type of angle value, default=true, options=(true: radians, false: degrees)

Returns: float value with phase.

natural_logarithm(complex_number) Natural logarithm of complex number (base E).
Parameters:
  • complex_number: float array, pseudo complex number in the form of a array [real, imaginary].

Returns: float array, complex number.

common_logarithm(complex_number) Common logarithm of complex number (base 10).
Parameters:
  • complex_number: float array, pseudo complex number in the form of a array [real, imaginary].

Returns: float array, complex number.

logarithm(complex_number, base) Common logarithm of complex number (custom base).
Parameters:
  • complex_number: float array, pseudo complex number in the form of a array [real, imaginary].
  • base: float, base value.

Returns: float array, complex number.

power(complex_number, complex_exponent) Raise complex_number with complex_exponent.
Parameters:
  • complex_number: float array, pseudo complex number in the form of a array [real, imaginary].
  • complex_exponent: float array, pseudo complex number in the form of a array [real, imaginary].

Returns: float array, pseudo complex number in the form of a array [real, imaginary]

root(complex_number, complex_exponent) Raise complex_number with inverse of complex_exponent.
Parameters:
  • complex_number: float array, pseudo complex number in the form of a array [real, imaginary].
  • complex_exponent: float array, pseudo complex number in the form of a array [real, imaginary].

Returns: float array, pseudo complex number in the form of a array [real, imaginary]

square(complex_number) Square of complex_number (power 2).
Parameters:
  • complex_number: float array, pseudo complex number in the form of a array [real, imaginary].

Returns: float array, pseudo complex number in the form of a array [real, imaginary]

square_root(complex_number) Square root of complex_number (power 1/2).
Parameters:
  • complex_number: float array, pseudo complex number in the form of a array [real, imaginary].

Returns: float array, pseudo complex number in the form of a array [real, imaginary]

square_roots(complex_number) Square root of complex_number (power 1/2).
Parameters:
  • complex_number: float array, pseudo complex number in the form of a array [real, imaginary].

Returns: tuple with 2 complex numbers.

cubic_roots(complex_number) Square root of complex_number (power 1/2).
Parameters:
  • complex_number: float array, pseudo complex number in the form of a array [real, imaginary].

Returns: tuple with 2 complex numbers.

to_polar_form(complex_number, in_radians) The polar form value of complex_number.
Parameters:
  • complex_number: float array, pseudo complex number in the form of a array [real, imaginary].
  • in_radians: boolean, value for the type of angle value, default=true, options=(true: radians, false: degrees)

Returns: float array, pseudo complex number in the form of a array [real, imaginary]
** returns a array [radius, phase]
Release Notes
v2 update for type and method.

Updated:
get_phase(this, in_radians)
  The phase value of complex number complex number.
  Parameters:
    this: complex . Complex number in the form `(real, imaginary)`.
    in_radians: bool . Value for the type of angle value, default=true, options=(true: radians, false: degrees)
  Returns: float. Value with phase.

natural_logarithm(this)
  Natural logarithm of complex number (base E).
  Parameters:
    this: complex . Complex number in the form `(real, imaginary)`.
  Returns: complex. Complex number.

common_logarithm(this)
  Common logarithm of complex number (base 10).
  Parameters:
    this: complex . Complex number in the form `(real, imaginary)`.
  Returns: complex. Complex number.

logarithm(this, base)
  Common logarithm of complex number (custom base).
  Parameters:
    this: complex . Complex number in the form `(real, imaginary)`.
    base: float . Base value.
  Returns: complex. Complex number.

power(this, exponent)
  Raise complex number with complex_exponent.
  Parameters:
    this: complex . Complex number in the form `(real, imaginary)`.
    exponent: complex . Complex number in the form `(real, imaginary)`.
  Returns: complex. Complex number.

root(this, exponent)
  Raise complex number with inverse of complex_exponent.
  Parameters:
    this: complex . Complex number in the form `(real, imaginary)`.
    exponent: complex . Complex number in the form `(real, imaginary)`.
  Returns: complex. Complex number.

square(this)
  Square of complex number (power 2).
  Parameters:
    this: complex . Complex number in the form `(real, imaginary)`.
  Returns: complex. Complex number.

square_root(this)
  Square root of complex number (power 1/2).
  Parameters:
    this: complex . Complex number in the form `(real, imaginary)`.
  Returns: complex. Complex number.

square_roots(this)
  Square root of complex number (power 1/2).
  Parameters:
    this: complex . Complex number in the form `(real, imaginary)`.
  Returns: `array<complex>`. Array with 2 complex numbers, (positive, negative).

cubic_roots(this)
  Square root of complex number (power 1/2).
  Parameters:
    this: complex . Complex number in the form `(real, imaginary)`.
  Returns: `array<complex>`. Array with 3 complex numbers, (neutral, positive, negative).

to_polar_form(this, in_radians)
  The polar form value of complex number.
  Parameters:
    this: complex . Complex number in the form `(real, imaginary)`.
    in_radians: boolean, value for the type of angle value, default=true, options=(true: radians, false: degrees)
  Returns: complex. Complex number, (radius, phase).
Release Notes
v3 minor update.
arrayscomplexMATH

Pine library

In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in a publication is governed by House rules.

Disclaimer