Skip to main content

VectorWaves

DOI

VectorWaves provides a framework for generating, computing, and analyzing fully three-dimensional electromagnetic fields and their topology through discrete plane-wave expansions.

Installation

pip install vectorwaves

For additional features, you can install the optional dependencies:

Extra Purpose
viz Matplotlib and PyVista for visualizations
progress Progress bars via tqdm
gpu CUDA acceleration via CuPy
all All the above

To install,

pip install vectorwaves[extra]

Features

  • Physics-oriented configuration system with numpy, numba, and CuPy (GPU) backends.
  • Exact non-paraxial 3D propagation via Fibonacci-sphere discrete plane-wave expansions.
  • Monochromatic and polychromatic sources with arbitrary envelopes, structured light support.
  • Stochastic process generation for speckle-like fields.
  • Fully analytic computation of E-fields, B-fields, spatial derivatives.
  • Topological polarization analysis: C, Cᵀ, and Lᵀ point finding with 3D line tracing.

Quick Example

import vectorwaves as vw

# Generate a tightly-focused Laguerre-Gaussian beam
config = vw.get_config()
config.source.k_space.laguerre_gauss(p=1, l=2, sigma_k_perp=1)
config.source.randomize.off()

# Construct the beam and visualize its plane-wave modes
beam = vw.setup_beam(config)

# Requires matplotlib, included with  'viz' extra
beam.plot_kspace_3d(plot_type='matplotlib_scatter')

LG beam k-space

For tutorials and examples, please refer to the official documentation. Source code is available on GitHub.

Citing

If you use VectorWaves in your research, please cite it:

@software{soni_vectorwaves,
  author  = {Soni, Mayank},
  title   = {VectorWaves},
  year    = {2026},
  doi     = {10.5281/zenodo.21762335},
  url     = {https://github.com/M-Soni-Physics/VectorWaves}
}

Metadata

Release files for vectorwaves 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vectorwaves 1.0.1
File Size Uploaded
vectorwaves-1.0.1.tar.gz 54.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vectorwaves 1.0.1
File Interpreter ABI Platform
vectorwaves-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 97.7 kB

Release files / vectorwaves-1.0.1.tar.gz

Download URL vectorwaves-1.0.1.tar.gz
Size 54.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3c6a694cfe995b49a684536420fe2605dc0ab10762f02b0f0afd9cbcb3b3d200
BLAKE2b-256 checksum
How to use checksums
7075bf91468e262e25769c7fa5596bfa4f3a42eff4c4079231dfd3a806199708
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / vectorwaves-1.0.1-py3-none-any.whl

Download URL vectorwaves-1.0.1-py3-none-any.whl
Size 43.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
91b62c89e918fee216292a4006dd51e858e93b002eea33e52a9ee37984dbfe61
BLAKE2b-256 checksum
How to use checksums
3d94eb0dd8fc35e6e617d86289f18e3f1c431f459bbb6aebb38e3ec2ee8b3930
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page