@santi100a/complexia-lib
v0.0.2
Published
Santi's Complex Number Library: "To Complexia!" said Morphocular.
Downloads
5
Maintainers
Readme
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;
Subractsz2
fromz1
.| 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;
Dividesz1
byz2
.| 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'); // CommonJS
import { ComplexNumber } from '@santi100a/complexia-lib'; // ESM/TypeScript
// Create a complex number with real part 2 and imaginary part 3
const complexNumber = new ComplexNumber(2, 3);
// Get the conjugate of the complex number
const conjugate = complexNumber.conjugate(); // returns ComplexNumber { real: 2, imaginary: -3 }
// Get the modulus of the complex number
const modulus = complexNumber.modulus(); // returns 3.605551275463989
// Get the argument of the complex number
const argument = complexNumber.argument(); // returns 0.982793723247329
// Create a complex number from polar coordinates
const polarComplexNumber = ComplexNumber.fromPolar(4, Math.PI / 4); // returns ComplexNumber { real: 2.8284271247461903, imaginary: 2.8284271247461903 }
Contribute
Wanna contribute? File an issue or pull request! Look at the contribution instructions and make sure you follow the contribution Code of Conduct.