Santi's Complex Number Library
- 🚀 Lightweight and fast
- 👴 ES3-compliant
- 💻 Portable between the browser and Node.js
What's this?
This library is a small, simple utility for working with complex numbers.
The name comes from the videos of a YouTube channel called Morphocular,
where some character always said "To Complexia!" before addressing topics involving complex numbers.
Installation
- Via NPM:
npm install @santi100a/complexia-lib
- Via Yarn:
yarn add @santi100a/complexia-lib
- Via PNPM:
pnpm install @santi100a/complexia-lib
API
-
class ComplexNumber;
A complex number.
-
Property ComplexNumber.real: number;
The real part of the complex number.
-
Property ComplexNumber.imaginary: number;
The imaginary part of the complex number.
-
constructor ComplexNumber(real: number, imaginary: number): ComplexNumber;
Represents a complex number with real and
imaginary parts.
Name | Type | Description | Optional? | Default |
---|
real | number | The real part of the complex number. | No | N/A |
imaginary | number | The imaginary part of the complex number. | No | N/A |
-
ComplexNumber.conjugate(): ComplexNumber;
Returns the conjugate of the complex number.
-
ComplexNumber.modulus(): number;
Returns the modulus (magnitude or distance to the origin) of the complex number.
-
ComplexNumber.argument(): number;
Returns the argument (phase or angle with the positive x-axis) of the complex number
in radians.
-
Static method ComplexNumber.fromPolar(modulus: number, argument: number): ComplexNumber;
Creates a complex number from polar
coordinates (modulus and argument).
Name | Type | Description | Optional? | Default |
---|
modulus | number | The modulus of the complex number. | No | N/A |
argument | number | The argument of the complex number. | No | N/A |
-
function complexAdd(z1: ComplexNumber, z2: ComplexNumber): ComplexNumber;
Adds two complex numbers together.
Name | Type | Description | Optional? | Default |
---|
z1 | ComplexNumber | The first term of the addition. | No | N/A |
z2 | ComplexNumber | The second term of the addition. | No | N/A |
-
function complexSubtract(z1: ComplexNumber, z2: ComplexNumber): ComplexNumber;
Subracts z2
from z1
.
Name | Type | Description | Optional? | Default |
---|
z1 | ComplexNumber | The first term of the subtraction. | No | N/A |
z2 | ComplexNumber | The second term of the subtraction. | No | N/A |
-
function complexMultiply(z1: ComplexNumber, z2: ComplexNumber): ComplexNumber;
Multiplies two complex numbers together.
Name | Type | Description | Optional? | Default |
---|
z1 | ComplexNumber | The first term of the multiplication. | No | N/A |
z2 | ComplexNumber | The second term of the multiplication. | No | N/A |
-
function complexDivide(z1: ComplexNumber, z2: ComplexNumber): ComplexNumber;
Divides z1
by z2
.
Name | Type | Description | Optional? | Default |
---|
z1 | ComplexNumber | The numerator of the division. | No | N/A |
z2 | ComplexNumber | The denominator of the division. | No | N/A |
Usage
const { ComplexNumber } = require('@santi100a/complexia-lib');
import { ComplexNumber } from '@santi100a/complexia-lib';
const complexNumber = new ComplexNumber(2, 3);
const conjugate = complexNumber.conjugate();
const modulus = complexNumber.modulus();
const argument = complexNumber.argument();
const polarComplexNumber = ComplexNumber.fromPolar(4, Math.PI / 4);
Contribute
Wanna contribute? File an issue or pull request!
Look at the contribution instructions and make sure you follow the contribution Code of Conduct.