require.mx('mxjs/base/xpolymath.js');
This library provides functions for polynomial operations
This is very much still a work in progress, the functionality here has only been tested with a few sample cases.
Status | Name |
---|---|
Number Complex.abs
(
ComplexNumber ↓cp
)
Returns the absolute value of a complex number. |
|
ComplexNumber Complex.add
(
ComplexNumber ↓cp1,
ComplexNumber ↓cp2,
ComplexNumber ↑cp
)
Addition of complex numbers: cp = cp1 + cp2. |
|
ComplexNumber Complex.copy
(
ComplexNumber ↓cp1,
ComplexNumber ↑cp
)
Copies a complex number. |
|
ComplexNumber Complex.create
(
Number ↓r,
Number ↓i,
ComplexNumber ↑cp
)
Creates a complex number. |
|
ComplexNumber Complex.divide
(
ComplexNumber ↓cp1,
ComplexNumber ↓cp2,
ComplexNumber ↑cp
)
Division of complex numbers: cp = cp1 / cp2. |
|
Boolean Complex.isInfinite
(
ComplexNumber ↓cp
)
Returns if the complex number is infinite. The complex number is infinite if either of its components are infinite. |
|
Boolean Complex.isNaN
(
ComplexNumber ↓cp
)
Returns if the complex number is Not-A-Number. The complex number is Not-A-Number if either of its components are Not-A-Number. |
|
ComplexNumber Complex.multiply
(
ComplexNumber ↓cp1,
ComplexNumber ↓cp2,
ComplexNumber ↑cp
)
Multiplication of complex numbers: cp = cp1 x cp2. |
|
ComplexNumber Complex.set
(
Number ↓r,
Number ↓i,
ComplexNumber ↑cp
)
Sets the values of a complex number. |
|
ComplexNumber Complex.sqrt
(
ComplexNumber ↓cp1,
ComplexNumber ↑cp
)
Square root of complex numbers: cp is the square root of cp1. |
|
ComplexNumber Complex.subtract
(
ComplexNumber ↓cp1,
ComplexNumber ↓cp2,
ComplexNumber ↑cp
)
Subtraction of complex numbers: cp = cp1 - cp2. |
|
Number Solver.zeros
(
Array ↓coefficients,
Number ↓coefficients_length,
Array ↑roots,
Number ↓opt_initial,
Number ↓opt_max_evaluations,
Number ↓opt_absolute_accuracy,
Number ↓opt_relative_accuracy,
Number ↓opt_function_value_accuracy
)
Solve for the zeroes/roots of the specified real polynomial function using Laguerre's algorithm.
|
Methods for working with complex numbers
Returns the absolute value of a complex number.
Parameters:ComplexNumber
↓cp - - complex numberNumber
↑abs - - absolute value of cpAddition of complex numbers: cp = cp1 + cp2.
Parameters:ComplexNumber
↓cp1 - - complex number, first operandComplexNumber
↓cp2 - - complex number, second operandComplexNumber
↑cp - - complex number. Optional - if not specified a new ComplexNumber is created and returned.ComplexNumber
↑cp - - complex numberCopies a complex number.
Parameters:ComplexNumber
↓cp1 - - complex number to copyComplexNumber
↑cp - - complex number. Optional - if not specified a new ComplexNumber is created and returned.ComplexNumber
↑cp - - complex numberCreates a complex number.
Parameters:Number
↓r - - real component of complex numberNumber
↓i - - imaginary component of complex numberComplexNumber
↑cp - - complex number. Optional - if not specified a new ComplexNumber is created and returned.ComplexNumber
↑cp - - complex numberDivision of complex numbers: cp = cp1 / cp2.
Parameters:ComplexNumber
↓cp1 - - complex number, first operandComplexNumber
↓cp2 - - complex number, second operandComplexNumber
↑cp - - complex number. Optional - if not specified a new ComplexNumber is created and returned.ComplexNumber
↑cp - - complex numberReturns if the complex number is infinite. The complex number is infinite if either of its components are infinite.
Parameters:ComplexNumber
↓cp - - complex number to checkBoolean
↑isInfinite - - true if cp is infinite, false otherwiseReturns if the complex number is Not-A-Number. The complex number is Not-A-Number if either of its components are Not-A-Number.
Parameters:ComplexNumber
↓cp - - complex number to checkBoolean
↑isNaN - - true if cp is Not-A-Number, false otherwiseMultiplication of complex numbers: cp = cp1 x cp2.
Parameters:ComplexNumber
↓cp1 - - complex number, first operandComplexNumber
↓cp2 - - complex number, second operandComplexNumber
↑cp - - complex number. Optional - if not specified a new ComplexNumber is created and returned.ComplexNumber
↑cp - - complex numberSets the values of a complex number.
Parameters:Number
↓r - - real component of complex numberNumber
↓i - - imaginary component of complex numberComplexNumber
↑cp - - complex numberComplexNumber
↑cp - - complex numberSquare root of complex numbers: cp is the square root of cp1.
Parameters:ComplexNumber
↓cp1 - - complex number, first operandComplexNumber
↑cp - - complex number. Optional - if not specified a new ComplexNumber is created and returned.ComplexNumber
↑cp - - complex numberSubtraction of complex numbers: cp = cp1 - cp2.
Parameters:ComplexNumber
↓cp1 - - complex number, first operandComplexNumber
↓cp2 - - complex number, second operandComplexNumber
↑cp - - complex number. Optional - if not specified a new ComplexNumber is created and returned.ComplexNumber
↑cp - - complex numberMethods for solving polynomial functions
Solve for the zeroes/roots of the specified real polynomial function using Laguerre's algorithm.
The roots returned can be complex, so they are returned as an array of ComplexNumber(s).
Array
↓coefficients - - an array specifying the coefficients. e.g. for 100 + 10x + 4x^2 + 3x^3 + x^5, the array would be [100, 10, 4, 3, 0, 1];Number
↓coefficients_length - - the length of the above arrayArray
↑roots - - output array to be populated with the ComplexNumber instances indicating the roots of the polynomial functionNumber
↓opt_initial - - optional initial root for the Laguerre algorithm. By default this is 0.Number
↓opt_max_evaluations - - optional max number of iterations for the Laguerre algorithm. By default this is Number.MAX_SAFE_INTEGER. An error will be thrown if the solution does not converge by this number of iterations.Number
↓opt_absolute_accuracy - - optional absolute accuracy for the Laguerre algorithm. By default this is 1e-6.Number
↓opt_relative_accuracy - - optional relative accuracy for the Laguerre algorithm. By default this is 1e-14.Number
↓opt_function_value_accuracy - - optional function value accuracy for the Laguerre algorithm. By default this is 1e-15.Number
↑n - - number of roots.A ComplexNumber encapsulates a complex number.
Status | Name |
---|---|
Member |
Number i
- an array containing the y coordinates of the points in this Path |
Member |
Number r
- real component of the |