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.

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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

grpfpy-0.1.8-cp311-cp311-musllinux_1_2_x86_64.whl (644.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

grpfpy-0.1.8-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (148.2 kB view details)

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

grpfpy-0.1.8-cp311-cp311-macosx_11_0_arm64.whl (113.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for grpfpy-0.1.8-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fcb322085fb2b8a308455de47dd29e18dbbb6724f17263dc73aa01ded1aa041e
MD5 f2178c2697612fc13cb49d0edac2655d
BLAKE2b-256 876887e5b178bd534e5b75f48698efe8c4e60a57b0f894d39865ecd2a428ab61

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for grpfpy-0.1.8-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 70952671316af957bcd643a24c45d06c2d9285ddc7f601cb5e028b88aff9db20
MD5 2b5147227669817c8677ef4dd56fc88b
BLAKE2b-256 da68fce6663ffedbfd8a19ec855d53569ab6b6b5f8d46cf82af75c8adaf2f561

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for grpfpy-0.1.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fa87da3b206ecebc8c292656b6fceba4968eefed9d9b577b567f7a5aa95b4fbd
MD5 905976f7b480c9e32c22409596df6d94
BLAKE2b-256 70dcb6dc6d81fd640e84bdd300f648dd04047842149088d44a34e6b961561215

See more details on using hashes here.

Provenance

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