Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@rgsoft/math

Package Overview
Dependencies
Maintainers
0
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rgsoft/math

Yet another JS math library

  • 1.0.3
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
7
decreased by-80%
Maintainers
0
Weekly downloads
 
Created
Source

math-js

Yet another JS math library

Installation

npm install @rgsoft/math

Tests

npm run test

Complex Numbers

The complex number library has some methods for performing calculations on complex numbers. To create a complex number of the form a + bi:

const cpx = new Complex(a, b);

📝 Every complex number is inmutable; both, the real and the imaginary parts are readonly.


Magnitude

const c = new Complex(5, 12);
console.log(c.mag); // 13

Conjugate

const c = new Complex(2, 7);
console.log(`${c.conjugate()}`); // 2 - 7i

Addition

Scalar Addition
// r + (a + bi) = (a + r) + bi
const c1 = new Complex(5, 12);
const c2 = c1.add(4);
console.log(`${c2}`); // 9 + 12i
Complex Addition
// (a + bi) + (c + di) = (a + c) + (b + d)i
const c1 = new Complex(4, -8);
const c2 = new Complex(-3, 6);
const c3 = c1.add(c2);
console.log(`${c3}`); // 1 + 2i

Substraction

Scalar Substraction
// (a + bi) - r = (a - r) + bi
const c1 = new Complex(9, 1);
const c2 = c1.sub(10);
console.log(`${c2}`); // -1 + 1i
Complex Substraction
// (a + bi) - (c + di) = (a - c) + (b - d)i
const c1 = new Complex(4, -8);
const c2 = new Complex(-3, 6);
const c3 = c1.add(c2);
console.log(`${c3}`); // 1 + 2i

Multiplication

Scalar Multiplication
// r (a + bi) = ra + bi
const c1 = new Complex(4, -1);
const c2 = c1.mult(-5);
console.log(`${c2}`); // -20 + 5i
Complex Multiplication
// (a + bi) (c + di) = (ac - bd) + (ad + bc)i
const c1 = new Complex(3, -1);
const c2 = new Complex(-2, 1);
const c3 = c2.mult(c2);
console.log(`${c3}`); // -5 + 5i

Division

Scalar Division
// (a + bi) / r = a / r + (b / r)i
const c1 = new Complex(4, -1);
const c2 = c1.div(-2);
console.log(`${c2}`); // -2 + 0.5i
Complex Division
let c1 = new Complex(2, 1);
let c2 = new Complex(-1, -1);
let c3 = c1.div(c2);
console.log(`${c3}`); // -1.5 + 0.5i

Square Root

let c = new Complex(4, 0);
c = c.sqrt();
console.log(`${c}`); // 2 + 0i

Vectors

Instantiation:

const vector = new Vector(x, y);

Angle

const v = new Vector(1, 1);
console.log(v.angle); // (Math.PI * 0.5);

Magnitude

const v = new Vector(1, 1);
console.log(v.mag); // (Math.SQRT2);

Normalization

const v = new Vector(4, 4);
v.nomalize();
console.log(v.mag); // 1;

Scalar Multiplication

const v = new Vector(0, 3);
v.mult(4);
console.log(v.mag); // 12;
console.log(v.y); // 12;

Addition

const v = new Vector(-2, 3);
v.add(new Vector(3, -5));
console.log(v.x); // 1
console.log(v.y); // -2

Substraction

const v = new Vector(-2, 3);
v.sub(new Vector(3, -5));
console.log(v.x); // -5
console.log(v.y); // 8

Distance to Another Vector

const v = new Vector(7, 2);
console.log(v.dist(new Vector(3, -1))); // 5

Angle to Another Vector

const v1 = new Vector(0, 1);
const v2 = new Vector(1, 0);
console.log(v1.angleTo(v2)); // Math.PI * 0.5

Create Vector from Angle

let v = Vector.fromAngle(Math.PI * 0.5);
console.log(v.x); //  0
console.log(v.y); //  1

Equality with Other Vector

const v1 = new Vector(7, 2);
const v2 = new Vector(7, 2);
console.log(v1.equals(v2)); // true

Copy Vector

const v = new Vector(7, 2);
const cv = v.copy();

Keywords

FAQs

Package last updated on 28 Jul 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc