Skip to main content

A package for only the most basic complex random sampling.

Project description

random-complex

A package for the most basic complex random sampling.

from random_complex import crandomn
import matplotlib.pyplot as plt

x = crandomn(size=1000000)

plt.figure(figsize=(6, 6), dpi=300)
plt.hexbin(x.real, x.imag, gridsize=(173, 100), lw=0.2, extent=(-2.5, +2.5, -2.5, +2.5))
plt.xlim((-2.5, +2.5))
plt.ylim((-2.5, +2.5))
plt.xlabel('Re(x)')
plt.ylabel('Im(x)')
plt.show()

png

Installation

pip install random-complex

Usage

This package provides three functions, that mimic their corresponding numpy.random analogon.

crandomu

crandomu(size=None, dtype=np.complex128, out=None)

Random uniform sampling from the complex unit circle:

from random_complex import crandomu

x = crandomu(size=1000000)

plt.figure(figsize=(6, 6), dpi=300)
plt.hexbin(x.real, x.imag, gridsize=(173, 100), lw=0.2, extent=(-1.1, +1.1, -1.1, +1.1))
plt.xlim((-1.1, +1.1))
plt.ylim((-1.1, +1.1))
plt.xlabel('Re(x)')
plt.ylabel('Im(x)')
plt.show()

png

crandom

crandom(size=None, dtype=np.complex128, out=None)

Random uniform sampling from within complex unit circle:

from random_complex import crandom

x = crandom(size=1000000)

plt.figure(figsize=(6, 6), dpi=300)
plt.hexbin(x.real, x.imag, gridsize=(173, 100), lw=0.2, extent=(-1.1, +1.1, -1.1, +1.1))
plt.xlim((-1.1, +1.1))
plt.ylim((-1.1, +1.1))
plt.xlabel('Re(x)')
plt.ylabel('Im(x)')
plt.show()

png

crandomn

crandomn(loc=0j, scale=((1, 0), (0, 1)), size=None, dtype=np.complex128, out=None)

Normal distributed sampling on the complex plane. See first image, or here with unequal variance.

from random_complex import crandomn

x = crandomn(scale=((1, 0.5), (0.5, 0.5)), size=1000000)

plt.figure(figsize=(6, 6), dpi=300)
plt.hexbin(x.real, x.imag, gridsize=(173, 100), lw=0.2, extent=(-2.5, +2.5, -2.5, +2.5))
plt.xlim((-2.5, +2.5))
plt.ylim((-2.5, +2.5))
plt.xlabel('Re(x)')
plt.ylabel('Im(x)')
plt.show()

png

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

complex-random-0.9.0.tar.gz (3.4 kB view details)

Uploaded Source

Built Distribution

complex_random-0.9.0-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

File details

Details for the file complex-random-0.9.0.tar.gz.

File metadata

  • Download URL: complex-random-0.9.0.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for complex-random-0.9.0.tar.gz
Algorithm Hash digest
SHA256 bae451555b93d892fa8e9effdfac9083f0a407ab7d43bd2d2eb97c48d9d2c0d7
MD5 92eb377398189f7c0d4eccde6560ef71
BLAKE2b-256 d0f646b72058005e3b0f34b135a93bc07aa049a443404cbc961988a9026749f3

See more details on using hashes here.

File details

Details for the file complex_random-0.9.0-py3-none-any.whl.

File metadata

File hashes

Hashes for complex_random-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1a9e615d157b0c92924fe28778854ca619611bbfdcf5a61232084b500f50e03a
MD5 977120549ccc5361382a67f90518668b
BLAKE2b-256 7d960fc11980b9ef03ab2c4cd6bfda692c40c391c04345291f8c2177856c07b9

See more details on using hashes here.

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