Skip to content

v1.1.0

Choose a tag to compare

@basnijholt basnijholt released this 10 Jun 21:19
· 4 commits to main since this release
eea71df

PFAPACK v1.1.0

Fixed

  • Skew-symmetry validation was broken (#52). The input check in pfapack/pfaffian.py took .max() before abs(), so matrices violating skew-symmetry with a purely negative deviation passed silently and produced wrong Pfaffians; for complex matrices the comparison was lexicographic rather than by magnitude. All six public functions now share a correct check with a tolerance relative to the matrix scale, so very large or very small (but valid) matrices are handled properly. Matrices that are not skew-symmetric now raise AssertionError — if this newly fires on your input, the previous versions were silently returning incorrect results for it. The bug was identified in the jjgoings/pfapack fork by Joshua Goings.

Build & CI (#53, #34)

The release pipeline was repaired after being broken for an extended period:

  • Windows wheels are built with the MSYS2 MinGW64 toolchain (the previous chocolatey-installed gcc was broken).
  • Linux wheels are now built on the manylinux_2_28 image. The minimum glibc rises from 2.17 to 2.28 (needed so current scipy releases install alongside pfapack).
  • Intel macOS wheels are now built on the macos-15-intel runner, since GitHub retired the macOS 13 runners. The minimum macOS version for Intel wheels rises accordingly.
  • sdist builds, the test matrix (Linux/macOS/Windows × Python 3.10–3.13), and various CI flakes were fixed.

Install

pip install pfapack