PINE LIBRARY

MathComplexOperator

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

conjugate(complex_number) Computes the conjugate of complex_number by reversing the sign of the imaginary part.
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]

add(complex_number_a, complex_number_b) Adds complex number complex_number_b to complex_number_a, in the form:
[_a.real + _b.real, _a.imaginary + _b.imaginary].
Parameters:
  • complex_number_a: pseudo complex number in the form of a array [real, imaginary].
  • complex_number_b: 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]

subtract(complex_number_a, complex_number_b) Subtract complex_number_b from complex_number_a, in the form:
[_a.real - _b.real, _a.imaginary - _b.imaginary].
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: float array, pseudo complex number in the form of a array [real, imaginary]

multiply(complex_number_a, complex_number_b) Multiply complex_number_a with complex_number_b, in the form:
[(_a.real * _b.real) - (_a.imaginary * _b.imaginary), (_a.real * _b.imaginary) + (_a.imaginary * _b.real)]
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: float array, pseudo complex number in the form of a array [real, imaginary]

divide(complex_number_a, complex_number_b) Divide complex_number _a with _b, in the form:
[(_a.real * _b.real) - (_a.imaginary * _b.imaginary), (_a.real * _b.imaginary) + (_a.imaginary * _b.real)]
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: float array, pseudo complex number in the form of a array [real, imaginary]

reciprocal(complex_number) Computes the reciprocal or inverse of complex_number.
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]

negative(complex_number) Negative of complex_number, in the form: [-_a.real, -_a.imaginary]
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]

inverse(complex_number) Inverse of complex_number, in the form: [1/_a.real, 1/_a.imaginary]
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]

exponential(complex_number) Exponential of complex_number.
Parameters:
  • complex_number: 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]

ceil(complex_number, digits) Ceils complex_number.
Parameters:
  • complex_number: float array, pseudo complex number in the form of a array [real, imaginary].
  • digits: int, digits to use as ceiling.

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

radius(complex_number) Radius(magnitude) of complex_number, in the form: [sqrt(pow(complex_number))]
This is defined as its distance from the origin (0,0) of the complex plane.
Parameters:
  • complex_number: float array, pseudo complex number in the form of a array [real, imaginary].

Returns: float value with radius.

magnitude(complex_number) magnitude(absolute value) of complex_number, should be the same as the radius.
Parameters:
  • complex_number: float array, pseudo complex number in the form of a array [real, imaginary].

Returns: float.

magnitude_squared(complex_number) magnitude(absolute value) of complex_number, should be the same as the radius.
Parameters:
  • complex_number: float array, pseudo complex number in the form of a array [real, imaginary].

Returns: float.

sign(complex_number) Unity of complex numbers.
Parameters:
  • complex_number: float array, pseudo complex number in the form of a array [real, imaginary].

Returns: float array, complex number.
Release Notes
v2 update to type and method.

Updated:
conjugate(this)
  Computes the conjugate of complex number by reversing the sign of the imaginary part.
  Parameters:
    this: complex.
  Returns: Complex.

add(this, other)
  Adds complex number other to this, in the form:
[_a.real + _b.real, _a.imaginary + _b.imaginary].
  Parameters:
    this: pseudo complex number in the form of a array [real, imaginary].
    other: pseudo complex number in the form of a array [real, imaginary].
  Returns: complex

subtract(this, other)
  Subtract other from this, in the form:
[_a.real - _b.real, _a.imaginary - _b.imaginary].
  Parameters:
    this: complex.
    other: complex.
  Returns: complex

multiply(this, other)
  Multiply this with other, in the form:
[(_a.real * _b.real) - (_a.imaginary * _b.imaginary), (_a.real * _b.imaginary) + (_a.imaginary * _b.real)]
  Parameters:
    this: complex.
    other: complex.
  Returns: complex

divide(this, other)
  Divide complex_number _a with _b, in the form:
[(_a.real * _b.real) - (_a.imaginary * _b.imaginary), (_a.real * _b.imaginary) + (_a.imaginary * _b.real)]
  Parameters:
    this: complex.
    other: complex.
  Returns: complex

reciprocal(this)
  Computes the reciprocal or inverse of complex_number.
  Parameters:
    this
  Returns: complex

negative(this)
  Negative of complex_number, in the form: [-_a.real, -_a.imaginary]
  Parameters:
    this
  Returns: complex

inverse(this)
  Inverse of complex_number, in the form: [1/_a.real, 1/_a.imaginary]
  Parameters:
    this
  Returns: complex

exponential(this)
  Exponential of complex_number.
  Parameters:
    this
  Returns: complex

ceil(this, digits)
  Ceils complex_number.
  Parameters:
    this
    digits: int, digits to use as ceiling.
  Returns: _complex: pseudo complex number in the form of a array [real, imaginary]

radius(this)
  Radius(magnitude) of complex_number, in the form: [sqrt(pow(complex_number))]
This is defined as its distance from the origin (0,0) of the complex plane.
  Parameters:
    this
  Returns: float value with radius.

magnitude(this)
  magnitude(absolute value) of complex_number, should be the same as the radius.
  Parameters:
    this
  Returns: float.

magnitude_squared(this)
  magnitude(absolute value) of complex_number, should be the same as the radius.
  Parameters:
    this
  Returns: float.

sign(this)
  Unity of complex numbers.
  Parameters:
    this
  Returns: float array, complex number.
Release Notes
v3 minor update.
arrayscomplexMATHoperator

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