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.15.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.15-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.15-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.15-cp313-cp313-macosx_11_0_arm64.whl (113.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

grpfpy-0.1.15-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.15-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.15-cp312-cp312-macosx_11_0_arm64.whl (113.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

grpfpy-0.1.15-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.15-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.15-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.15.tar.gz.

File metadata

  • Download URL: grpfpy-0.1.15.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.15.tar.gz
Algorithm Hash digest
SHA256 b97a1cfdc19543f563a6ab403fa58c59331f916790c9379b06dc61b0f92b20a9
MD5 3131cb9f20cbd115f26d100134adc61b
BLAKE2b-256 96c4b97d9e87fd62cc61897521af74f5862987799f73d8f33bfacb0c880057ae

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for grpfpy-0.1.15-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2790588def0f7bce8391107bbf2f57115486865b15ab08a65bef2495cf3bffd8
MD5 cf2843790df4d3e0a739fae19ecc68c0
BLAKE2b-256 ff4ddf7443449b3971fce26384c2976a825a5c4e4a58c6b0f67f848a69223a17

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for grpfpy-0.1.15-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d348c3dd643288519d67a203085b5f19dd51f28a35042cfce1c44658a68f9d2a
MD5 c6a462eb4fea08a6d3374ac46d846341
BLAKE2b-256 037257209285dafa68430cf509336213c0d4272c1711db66270dbc69fbe6f74b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for grpfpy-0.1.15-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d29776a64e56b8f7951a37a1c9376a3ef264c99bdade1389a23e92edc5d5bef1
MD5 7face8a36f249cc8884f9fe37d7774b7
BLAKE2b-256 ff60633924a009338636315eb4981830e75e6ad060ebdac74d5c33e5ea98de9b

See more details on using hashes here.

Provenance

The following attestation bundles were made for grpfpy-0.1.15-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.15-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for grpfpy-0.1.15-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 01ed8c01a6f16dc0457c15d41ad290273c80629c47eb4c068db12a28d1fe8f4f
MD5 92033eb63876897751a099c4899f1aa1
BLAKE2b-256 78407ed4fb204fdb2da07c0bb7ee859881deb4698296b1752aa35702d841a4c2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for grpfpy-0.1.15-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2d51834c3f7a6bfed927b5e66fbc8d4af814f775f14078476f417d71cfbe96e8
MD5 59c8a878827afccae56b60ef91b907e3
BLAKE2b-256 48018a75d1e1c3a0ae366ae97c96323c5aee324b4ea760e6be6a1195a3c130cb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for grpfpy-0.1.15-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1f4731cd47d7708d5d90727e425d5b79909bd98b303910e119c150a17409c362
MD5 d906055551eaf0c378c8d4843873c8e3
BLAKE2b-256 ae8ea9e87a77716ce13152c5af691c76528077bf19a46df3abd38209c6f2916e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for grpfpy-0.1.15-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c2ede6a3df98e6bb928b27f2ec009a51eb828220aa8a6a18887a24deece30577
MD5 527dffbf0d0b0607c4d87b3e8c22a72c
BLAKE2b-256 f751dd4633163e17bc56a43d15389e879c9cf60423f48ecd9c0a02303527edb0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for grpfpy-0.1.15-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f6dc03fe3ec586c5a634b31d12dad8c7dcbef3e07bd82bb615e29d83e4422bda
MD5 828db52652c375b876bc6dc72db48465
BLAKE2b-256 d6c77f351dc9ed152674039b1539ae8c15450dcba371fc93132001e6d99e02d7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for grpfpy-0.1.15-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 89ee35d7f8fc0a5ac8c15d2405b26e2581899dfb8906d2bbe25b3fc75ffe44e6
MD5 2d579588954c99f60c6c9057a611fd0a
BLAKE2b-256 4df8b4f98cec205015039fc2f075c41b8e5e66c9cd891d497089e3f50dbb36d1

See more details on using hashes here.

Provenance

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