Numbers.js добавляет к стандартным математическим возможностям JavaScript немного продвинутой математики — интегралы, операции над матрицами и комплексными числами, статистические функции, факторизацию и некоторые другие функции. Кроме того, библиотека определяет базовые арифметические операции над массивами — сложение, вычитание и умножение элементов, поиск минимума и максимума, случайное перемешивание массива и позволяет в явном виде задавать необходимую точность вычислений, что помогает избежать ошибок округления.
Примеры использования
Подключаем библиотеку под Node.js и вычисляем интеграл Римана (с разбиением на 200 отрезков и точностью 0.0001):
var numbers = require('numbers');
numbers.calculus.riemann(Math.sin, -2, 4, 200, 0.0001);
Использование собственных функций:
var myFunc = function(x) {
return 2*Math.pow(x,2) + 1;
}
numbers.calculus.riemann(myFunc, -2, 4, 200);
Статистические функции:
numbers.statistic.mean(array);
numbers.statistic.median(array);
numbers.statistic.mode(array);
numbers.statistic.standardDev(array);
numbers.statistic.randomSample(lower, upper, n);
numbers.statistic.correlation(array1, array2);
Сложение матриц:
var array1 = [0, 1, 2];
var array2 = [3, 4, 5];
numbers.matrix.addition(array1, array2);
Наибольший общий делитель:
numbers.basic.gcd(x, y);
Библиотеке всего около месяца, но она смогла привлечь внимание разработчиков на Гитхабе и активно пополняется (пару недель назад набор функций был почти вдвое скромнее).
Ссылки
Автор: ilya42