Skip to main content

the Global complex Root and Pole Finding (GRPF) algorithm.

Project description

grpfc: Global complex Roots and Poles Finding in C++

Description

grpfc attempts to find all the zeros and poles of a complex valued function with complex arguments in a fixed region. These types of problems are frequently encountered in electromagnetics, but the algorithm can also be used for similar problems in e.g. optics, acoustics, etc.

The GRPF algorithm first samples the function on a triangular mesh through Delaunay triangulation. Candidate regions to search for roots and poles are determined and the discretized Cauchy's argument principle is applied without needing the derivative of the function or integration over the contour. To improve the accuracy of the results, a self-adaptive mesh refinement occurs inside the identified candidate regions.

grpfpy: Global complex Roots and Poles Finding binding in Python

We also provide grpfpy, a Python binding for grpfc, which is a convenient and high-performance solution for your research. A set of pre-compiled wheels could be installed directly via

  pip install grpfpy

Additionally, if your platform has not been supported, you can clone the sources and build them yourself using pip or cmake:

  pip install .

Installation

  • Pull source codes
  git clone --recurse-submodules git@github.com:allegro0132/grpfc.git

Linux

  • Install gcc complier
  apt install build-essential

MacOS

  • Install clang compiler
  brew install cmake llvm

Common steps

  • Prepare building directory
  mkdir build&&cd build
  • Prepare compile flags using cmake
  cmake ..
  • Compile the library
  make
  • Run the Roots and Poles solver
  ./main

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

grpfpy-0.1.11.tar.gz (5.9 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

grpfpy-0.1.11-cp311-cp311-musllinux_1_2_x86_64.whl (644.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

grpfpy-0.1.11-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (148.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

grpfpy-0.1.11-cp311-cp311-macosx_11_0_arm64.whl (113.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file grpfpy-0.1.11.tar.gz.

File metadata

  • Download URL: grpfpy-0.1.11.tar.gz
  • Upload date:
  • Size: 5.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for grpfpy-0.1.11.tar.gz
Algorithm Hash digest
SHA256 0c3d281e5cdbd7c405c1b63615566098936af8368a5af2576d3eeb3c39882caf
MD5 50a8a23a6daac62d42b26a6771f02c92
BLAKE2b-256 8ed158b6466ce39963c6e8f1a8c9e819f885f90a5a71550d3a2f275f421bef5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for grpfpy-0.1.11.tar.gz:

Publisher: python-publish.yml on allegro0132/grpfc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file grpfpy-0.1.11-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for grpfpy-0.1.11-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d5e22ef99cbcd446ae2fbc221da59351bef07afa47cece2e929a52a76b6a5a22
MD5 68eb31e8eba975078f06cdaab417d4b4
BLAKE2b-256 e5daa748b7291e6f90faa1a6ea45f53bb60234dfc402835c72969b053ad55cef

See more details on using hashes here.

Provenance

The following attestation bundles were made for grpfpy-0.1.11-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: python-publish.yml on allegro0132/grpfc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file grpfpy-0.1.11-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for grpfpy-0.1.11-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f8cc46b31b6e5d58dacee24813aeeced78a0fa5d87049942a50e476432c86bd5
MD5 d7909ecdf81a5cacae874d708696d0d3
BLAKE2b-256 01d77f07bfcae1cef5c34b7b995204af054e8cfdfcf266a2af6eca4a54771536

See more details on using hashes here.

Provenance

The following attestation bundles were made for grpfpy-0.1.11-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python-publish.yml on allegro0132/grpfc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file grpfpy-0.1.11-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for grpfpy-0.1.11-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d3d2076015d568ba778d3b3d567de75a49e6d9e9377d2d793ea7002dbb03558c
MD5 ce265075c61a5d11a1e62cb2819c07d5
BLAKE2b-256 7c2f85d82c7f80e0b44a7a3733d557a3dcc765f64f1bdcca241b979302cfb55f

See more details on using hashes here.

Provenance

The following attestation bundles were made for grpfpy-0.1.11-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: python-publish.yml on allegro0132/grpfc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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