josdejong/mathjs

math.rationalize silently ignores imaginary numbers

Open

#2 375 ouverte le 6 janv. 2022

Voir sur GitHub
 (4 commentaires) (0 réactions) (0 assignés)JavaScript (1 298 forks)batch import
bughelp wanted

Métriques du dépôt

Stars
 (13 832 stars)
Métriques de merge PR
 (Aucune PR mergée en 30 j)

Description

Currently, math.rationalize seems to ignore imaginary numbers:

// math.js version 9.5.1

// complex coefficient a = (2 + complex(3, 4))
let a = new math.OperatorNode("+", "add", [new math.ConstantNode(2), new math.ConstantNode(math.complex(3, 4))]);
console.log(a.evaluate()); // {re: 5, im: 4}

// polynomial a * x
let poly = new math.OperatorNode("*", "multiply", [a, new math.SymbolNode("x")]);

let coefficients = math.rationalize(poly, true).coefficients;
console.log(coefficients); // [0, 5]

I would expect coefficients to be [0, 5+4i] or for rationalize to throw an error.

Guide contributeur