Skip to main content

Toy implementation of a complex datatype

Project description

📚🔢 Toy implementation of a complex number data type in Python

This module is a basic implementation of complex numbers in Python. The goal is to demonstrate basic know-how in Python packaging, project managment, documentation and testing.

This package is not in any way, shape or form suitable for production!

💽 Install

👨‍💻 Development mode

$ git clone https://github.com/elkhadiy/elkomplex
$ cd elkomplex
$ python -m venv .pyenv
$ . .pyenv/bin/activate
$ pip install -e .[dev,test]

💻 Example usage

>>> from elkomplex import i
>>> from math import e
>>> str(e**(i*pi))
'-1.00 + 0.00 i'

Intuitive interface

>>> from elkomplex import i
>>> f"{i}"
'0 + 1 i'
>>> f"{i * i:0.2f}"
'-1.00 + 0.00 i'
>>> f"{2 + 3 * i}"
'2.0 + 3.0 i'
>>> f"{(2 + 3 * i) * (4 + 5 * i):0.2f}"
'-7.00 + 22.00 i'

Create a complex number from real and imaginary parts

>>> from elkomplex import Komplex
>>> Komplex.from_cartesian(2, 3)
Komplex(re=2.00, im=3.00, r=3.61, th=0.98)

Create a complex number from polar coordinates

>>> from math import pi
>>> Komplex.from_polar(1, pi / 4)
Komplex(re=0.71, im=0.71, r=1.00, th=0.79)

📋 ToDo

  • ✅ Package squeleton
  • ✅ Base complex class
  • ✅ Basic constructors
  • ✅ Formatting and printing
  • ✅ Pytest framework
  • 🚧 Basic Arithmetic methods
    • ✅ Addition
    • ✅ Substraction
    • ✅ Multiplication
    • ✅ Division
    • ✅ Comparison
    • ✅ Negation
    • ✅ Module
    • ✅ Inversion
    • ✅ Conjugate
    • 🚧 Power
  • ⬜ Advanced Math functions
    • ⬜ Exponent
    • ⬜ Sqrt
    • ⬜ Logarithm

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elkomplex-0.1.1.tar.gz (6.0 kB view hashes)

Uploaded Source

Built Distribution

elkomplex-0.1.1-py3-none-any.whl (5.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page