@pfmcodes/better-math
v1.0.5
Published
A math module which adds more flexibility to math, that means more math functions
Downloads
2
Maintainers
Readme
Better Math
JavaScript's built-in math functions are strong, but pfmcodes's Better Math makes them more flexible, more powerful, and adds additional advanced mathematical functions.
All Functions
const betterMath = require('@pfmcodes/better-math');
console.log("==== BASIC MATH ====");
console.log("Factorial of 5:", betterMath.factorial(5));
console.log("Is 17 Prime?:", betterMath.isPrime(17));
console.log("GCD of 48, 18:", betterMath.gcd(48, 18));
console.log("LCM of 4, 5:", betterMath.lcm(4, 5));
console.log("\n==== STATISTICS ====");
const data = [1, 2, 2, 3, 4, 5, 5, 5, 6];
console.log("Mean:", betterMath.mean(data));
console.log("Median:", betterMath.median(data));
console.log("Mode:", betterMath.mode(data));
console.log("Variance:", betterMath.variance(data));
console.log("Standard Deviation:", betterMath.stdDev(data));
console.log("\n==== BODMAS EXPRESSION SOLVER ====");
console.log("Expression (5+3)*2:", betterMath.evaluate(" (5 + 3) * 2 "));
console.log("\n==== MATRIX OPERATIONS ====");
const A = [[2, 3], [4, 5]];
const B = [[1, 2], [3, 4]];
console.log("Matrix Addition:", betterMath.addMatrices(A, B));
console.log("Matrix Multiplication:", betterMath.multiplyMatrices(A, B));
console.log("Transpose of A:", betterMath.transposeMatrix(A));
console.log("Determinant of A:", betterMath.determinant(A));
console.log("Inverse of A:", betterMath.inverseMatrix(A));
console.log("\n==== ADVANCED TRIGONOMETRY ====");
console.log("sinh(1):", betterMath.sinh(1));
console.log("cosh(1):", betterMath.cosh(1));
console.log("tanh(1):", betterMath.tanh(1));
console.log("sec(45°):", betterMath.sec(Math.PI / 4));
console.log("csc(30°):", betterMath.csc(Math.PI / 6));
console.log("cot(60°):", betterMath.cot(Math.PI / 3));
console.log("asin(0.5):", betterMath.asin(0.5));
console.log("acosh(2):", betterMath.acosh(2));
const num1 = { real: 3, imag: 4 };
const num2 = { real: 1, imag: -2 };
console.log("\n==== COMPLEX NUMBERS ====");
console.log("Addition:", betterMath.addComplex(num1, num2));
console.log("Subtraction:", betterMath.subtractComplex(num1, num2));
console.log("Multiplication:", betterMath.multiplyComplex(num1, num2));
console.log("Division:", betterMath.divideComplex(num1, num2));
console.log("Magnitude of num1:", betterMath.magnitudeComplex(num1));
console.log("Conjugate of num1:", betterMath.conjugateComplex(num1));
console.log("\n==== CALCULUS FUNCTIONS ====");
// Test Limit of sin(x)/x as x → 0
console.log("Limit of sin(x)/x at x=0:", betterMath.limit(Math.sin, 0));
// Taylor Series for e^x around x=0, using first 5 terms
const f = (x) => Math.exp(x);
const derivatives = [(x) => Math.exp(x), (x) => Math.exp(x), (x) => Math.exp(x), (x) => Math.exp(x), (x) => Math.exp(x)];
const taylorExp = betterMath.taylorSeries(f, derivatives, 0, 5);
console.log("Taylor series approximation of e^x at x=1:", taylorExp(1));
Installation
npm install @pfmcodes/better-math