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.14.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.14-cp313-cp313-musllinux_1_2_x86_64.whl (643.5 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

grpfpy-0.1.14-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (147.7 kB view details)

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

grpfpy-0.1.14-cp313-cp313-macosx_11_0_arm64.whl (113.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

grpfpy-0.1.14-cp312-cp312-musllinux_1_2_x86_64.whl (643.5 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

grpfpy-0.1.14-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (147.7 kB view details)

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

grpfpy-0.1.14-cp312-cp312-macosx_11_0_arm64.whl (113.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

grpfpy-0.1.14-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.14-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (148.5 kB view details)

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

grpfpy-0.1.14-cp311-cp311-macosx_11_0_arm64.whl (114.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: grpfpy-0.1.14.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.14.tar.gz
Algorithm Hash digest
SHA256 19aa46b6f3bb73e772e6c7440b7eaac1eebe66bc4eddc52b3c6f9ac2e4d02a2c
MD5 d2d5f717f861c8e0822505180663ba28
BLAKE2b-256 242d1b3f124bd947923166b588da9bd9ffe6a3e1b4abda12ca84315f1f5ba437

See more details on using hashes here.

Provenance

The following attestation bundles were made for grpfpy-0.1.14.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.14-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for grpfpy-0.1.14-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 387d17acfa4083724a7791bb3107aec4a905500623b45c9356517f106b4ba8d8
MD5 3356204339c308798ed9e17d4ef283aa
BLAKE2b-256 db1249fb9b23773fc86ee33a31e97a2b30fb260a50df128a00acdb187ac27607

See more details on using hashes here.

Provenance

The following attestation bundles were made for grpfpy-0.1.14-cp313-cp313-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.14-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for grpfpy-0.1.14-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5b68108d6d8c8248481a581c96a8eac386571e616df9c486c1155a32367b8d25
MD5 cf3a45933cd163e64a7142a244cbeb2c
BLAKE2b-256 974891bd99d259cadc7a9c87d4dc4ca0756ec05c8d918080c56e56b258f4b946

See more details on using hashes here.

Provenance

The following attestation bundles were made for grpfpy-0.1.14-cp313-cp313-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.14-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for grpfpy-0.1.14-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8fc54a6c78efba728cf289e120f99b6fd4774f2dbba8fb722bc857ae346047af
MD5 daca7fc808eda2773c972a61adc5de7a
BLAKE2b-256 aea41f88791fc5009bb8c51bbcdc892d2468ff38b3eea061891819cb163dc86d

See more details on using hashes here.

Provenance

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

File details

Details for the file grpfpy-0.1.14-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for grpfpy-0.1.14-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0c1976b25b945681542956b1c530d7e9edc613595bc18e0da714bd6f17e9e037
MD5 28082f47a62ba90645816634c7da27c6
BLAKE2b-256 5b1d659b16a289d653a1a9f1814e5c15f78e2a25f1f0fd79eec151e98b331a20

See more details on using hashes here.

Provenance

The following attestation bundles were made for grpfpy-0.1.14-cp312-cp312-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.14-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for grpfpy-0.1.14-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0bd9216e2a228534a4da3176d3fd07f3695dceafa9b21fbba4f8a83f6470a33b
MD5 a730e20e9abf8a07f72cc5fee760e73e
BLAKE2b-256 181d27fd009e6b5e730122ef1fbfeaae0bcc93e84bdd801c321841a03022d5e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for grpfpy-0.1.14-cp312-cp312-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.14-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for grpfpy-0.1.14-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3a5ce848bf1af060a892090db8630a1bfeb4137a09855c01bacdab501709e2a9
MD5 d839745700105c003208f9ba18c47b4b
BLAKE2b-256 7b672cf85ad5d52ee18eabcecc95916a0706216fbb6e0f2a23e5ea9b9dc161bb

See more details on using hashes here.

Provenance

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

File details

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

File metadata

File hashes

Hashes for grpfpy-0.1.14-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1de8bbecf275942c4e701ae68af76d88beef87c4950bca7354aae9dd1d931436
MD5 ee64a78c286ee6c91247e0d826d5c0cf
BLAKE2b-256 b78f4a6ff8d3b9ee2fe302e16f950f6737373f1c6458a2624e7a5a0d1ef33031

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for grpfpy-0.1.14-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5a83f93b04c9f70be5114bf474797ad4d3b9c3fd837e0b9691e554b492f84f69
MD5 2f037e367b11670321d0ceefd2ae9039
BLAKE2b-256 e325ccf04a54a74c27e3ea38566eb4bd9f3104fc98d6a7f08ad48d1fc6103234

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for grpfpy-0.1.14-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c20ff012d5010f301cfce396a2be1dbb9b3e8658ad306edfd461d662224cf50b
MD5 d4adc7c5e5f00472d688deaeabd0cd58
BLAKE2b-256 1ffb03882d6fd8b9329ddd42529d37d975f83b84ff4b6bb76bd03bf5fe4693a0

See more details on using hashes here.

Provenance

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