PINE LIBRARY

MathComplexCore

Actualizado
Library "MathComplexCore"
Core functions to handle complex numbers.

set_real(complex_number, real) Set the real part of complex_number.
Parameters:
  • complex_number: float array, pseudo complex number in the form of a array [real, imaginary].
  • real: float, value to replace real value of complex_number.

Returns: Void, Modifies complex_number.

set_imaginary(complex_number, imaginary) Set the imaginary part of complex_number.
Parameters:
  • complex_number: float array, pseudo complex number in the form of a array [real, imaginary].
  • imaginary: float, value to replace imaginary value of complex_number.

Returns: Void, Modifies complex_number.

new(real, imaginary) Creates a prototype array to handle complex numbers.
Parameters:
  • real: float, real value of the complex number. default=0.
  • imaginary: float, imaginary number of the complex number. default=0.
    return float array, pseudo complex number in the form of a array [real, imaginary].



zero() complex number "0+0i".
return float array, pseudo complex number in the form of a array [real, imaginary].

one() complex number "1+0i".
return float array, pseudo complex number in the form of a array [real, imaginary].

imaginary_one() complex number "0+1i".
return float array, pseudo complex number in the form of a array [real, imaginary].

nan() complex number "0+1i".
return float array, pseudo complex number in the form of a array [real, imaginary].

from_polar_coordinates(magnitude, phase) Create a complex number from a point's polar coordinates.
Parameters:
  • magnitude: float, default=0.0, The magnitude, which is the distance from the origin (the intersection of the x-axis and the y-axis) to the number.
  • phase: float, default=0.0, The phase, which is the angle from the line to the horizontal axis, measured in radians.
    return float array, pseudo complex number in the form of a array [real, imaginary].



get_real(complex_number) Get the real part of complex_number.
Parameters:
  • complex_number: pseudo complex number in the form of a array [real, imaginary].

Returns: float, Real part of the complex_number.

get_imaginary(complex_number) Get the imaginary part of complex_number.
Parameters:
  • complex_number: pseudo complex number in the form of a array [real, imaginary].

Returns: float, Imaginary part of the complex number.

is_complex(complex_number) Checks that its a valid complex_number.
Parameters:
  • complex_number: pseudo complex number in the form of a array [real, imaginary].

Returns: bool.

is_nan(complex_number) Checks that its empty "na" complex_number.
Parameters:
  • complex_number: pseudo complex number in the form of a array [real, imaginary].

Returns: bool.

is_real(complex_number) Checks that the complex_number is real.
Parameters:
  • complex_number: pseudo complex number in the form of a array [real, imaginary].

Returns: bool.

is_real_non_negative(complex_number) Checks that the complex_number is real and not negative.
Parameters:
  • complex_number: pseudo complex number in the form of a array [real, imaginary].

Returns: bool.

is_zero(complex_number) Checks that the complex_number is zero.
Parameters:
  • complex_number: pseudo complex number in the form of a array [real, imaginary].

Returns: bool.

equals(complex_number_a, complex_number_b) Compares two complex numbers:
Parameters:
  • complex_number_a: float array, pseudo complex number in the form of a array [real, imaginary].
  • complex_number_b: float array, pseudo complex number in the form of a array [real, imaginary].

Returns: boolean value representing the equality.

to_string(complex, format) Converts complex_number to a string format, in the form: "a+bi"
Parameters:
  • complex: pseudo complex number in the form of a array [real, imaginary].
  • format: string, formating to apply.

Returns: a string in "a+bi" format
Notas de prensa
v2 - Update to types, and cleaned deprecated functions

Added:
from(value)
  Creates a new Complex number from provided value.
  Parameters:
    value: string . Value of real and imaginary parts.
  Returns: Complex.

Updated:
new(real, imaginary)
  Creates a new Complex number.
  Parameters:
    real: float . Real part of the complex number. default=0.
    imaginary: float . Imaginary part of the complex number. default=0.
  Returns: Complex.

from_polar_coordinates(magnitude, phase)
  Create a complex number from polar coordinates.
  Parameters:
    magnitude: float, default=0.0, The magnitude, which is the distance from the origin (the intersection of the x-axis and the y-axis) to the number.
    phase: float, default=0.0, The phase, which is the angle from the line to the horizontal axis, measured in radians.
  Returns: Complex.

zero()
  Complex number "0+0i".
  Returns: Complex.

one()
  Complex number "1+0i".
  Returns: Complex.

imaginary_one()
  Complex number "0+1i".
  Returns: Complex.

nan()
  Complex number with `float(na)` parts.
  Returns: Complex.

is_complex(this)
  Checks that its a valid complex number.
  Parameters:
    this: Complex Source complex number.
  Returns: bool.

is_nan(this)
  Checks that its empty "na" complex number.
  Parameters:
    this: Complex Source complex number.
  Returns: bool.

is_real(this)
  Checks that the complex_number is real.
  Parameters:
    this: Complex Source complex number.
  Returns: bool.

is_real_non_negative(this)
  Checks that the complex_number is real and not negative.
  Parameters:
    this: Complex Source complex number.
  Returns: bool.

is_zero(this)
  Checks that the complex_number is zero.
  Parameters:
    this: Complex Source complex number.
  Returns: bool.

equals(this, other, eps)
  Compares two complex numbers:
  Parameters:
    this: Complex . Source complex number.
    other: Complex . Target complex number
    eps: float . Precision value, default=1e-15.
  Returns: boolean value representing the equality.

to_string(this, format)
  Converts complex number to a string format, in the form: "a+bi"
  Parameters:
    this: Complex . Source complex number..
    format: string, formating to apply.
  Returns: string. In "a+bi" format

Removed: set_real(), set_imaginary(), get_real(), get_imaginary()
Notas de prensa
v3 missed method on to_string().
Notas de prensa
v4 minor update
arrayscomplexMATH

Biblioteca Pine

Siguiendo fielmente el espíritu TradingView, el autor ha publicado este código Pine como una biblioteca de código abierto, permitiendo que otros programadores de Pine en nuestra comunidad lo utilicen de nuevo. ¡Olé por el autor! Puede utilizar esta biblioteca de forma privada o en otras publicaciones de código abierto, pero tenga en cuenta que la reutilización de este código en una publicación se rige por las Normas internas.

Exención de responsabilidad