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.10.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.10-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.10-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.10-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.10.tar.gz.

File metadata

  • Download URL: grpfpy-0.1.10.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.10.tar.gz
Algorithm Hash digest
SHA256 cf2aa1f6f6e54f8b66bb07474a6f539fe65e6eb9cc72e27fe2358f71e1db4753
MD5 254404f0a759d11184b14fac966320df
BLAKE2b-256 3cc3e7307222d3e7014566a8ca822dee95384136df008f2e39f32516dcd6ebd1

See more details on using hashes here.

Provenance

The following attestation bundles were made for grpfpy-0.1.10.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.10-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for grpfpy-0.1.10-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a162d38da9db8d20eeaf12c71520003bf386eefecc2fa7a7bd2cee07cf4330d2
MD5 d66a71994d7693493bbe551f2cdf7eef
BLAKE2b-256 9b9785b1b7ad64575492a0b207726cb4fbf3b97e596026a703388193142e3c86

See more details on using hashes here.

Provenance

The following attestation bundles were made for grpfpy-0.1.10-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.10-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for grpfpy-0.1.10-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3b6446da90130962243565032dad2a3bdfb9c84f485d51401110d22ef16c754d
MD5 eba99f9f0208e270bacb8055fbb6c17f
BLAKE2b-256 e1d678720190a42c72624d13042846677e8069b7a47f902fa11b250d90002fd0

See more details on using hashes here.

Provenance

The following attestation bundles were made for grpfpy-0.1.10-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.10-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for grpfpy-0.1.10-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 29947b4e788441d2b92caf94d4e23411d5a070e69b1b4aeeaacd8f61abbd1e9e
MD5 5f0cc0f9b7ecda73096a311ef8e7468e
BLAKE2b-256 31d710d4f9cb209df89fc1ab9bcf5739c2e8948c0675ef606cf5f0a0eb3816f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for grpfpy-0.1.10-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