Skip to content

v1.6.0

Latest

Choose a tag to compare

@florian-wagner florian-wagner released this 26 May 14:11

pyGIMLi v1.6.0

This release brings a new structurally coupled cooperative inversion (SCCI) framework, matrix-free Jacobians based on forward operators, first-class support for complex matrices, a substantially reworked user guide, and numerous fixes across the physics managers and build system.

Highlights

  • Structurally coupled cooperative inversion (SCCI) framework, including a drawCWeight helper and a worked petrophysical joint-inversion example.
  • Matrix-free / implicit Jacobian built directly from a forward operator via fop.Sx(x) and fop.STy(y).
  • Complex-valued matrix support: new complex2RealMatrix (represents a complex matrix as a doubled real one) plus first steps toward complex mass/stiffness matrices.
  • Reworked user guide: new "getting started" and "how-to-continue" sections, expanded inversion and FE-modelling guides, and a rewritten chapter on unstructured meshes (#881).
  • Interactive tutorials are now runnable in the browser via Binder integration (#962).

New features & enhancements

  • SCCI inversion framework with drawCWeight and arsinh transformation.
  • Implicit Jacobian matrix based on a forward operator (fop.Sx/fop.STy).
  • complex2RealMatrix and initial complex mass/stiffness matrix support.
  • Error propagation based on absolute errors (groundwork in the inversion frameworks).
  • physics.ves.simulate — VES forward simulation without instantiating a manager.
  • pg.viewer.mpl.showModel1D as a 1D counterpart to showMesh/showModel.
  • TravelTimeManager.showMisfit().
  • MagManager improvements: better data-fit display, exportLocations, improved initialization.
  • depthWeighting keyword can now also be passed as a depth value.
  • Pass kwargs through when showing a data container.
  • createSphere mesh primitive (#908) and error handling for time-lapse data (#889).

Bug fixes

  • Fixed wrong data unit when reading SIP Fuchs III files.
  • Fixed wrong numbers for the forward-operator-based matrix.
  • Removed the erroneous absolute value in the chargeability forward computation.
  • Fixed boundary limits and backend handling in 3D (PyVista) visualization (related to #925).
  • Fixed problems when combining DEMs.
  • Fixed an error in the inversion class and waitOnExit for the TkAgg backend.
  • Removed deprecated pkg_resources import.
  • Properly exit on test failure when exitonerror=True (#879).

Documentation

  • Reworked unstructured-meshes section (#881) and added missing docstrings (#955).
  • Improved data-container, modelling/FE, and inversion guides; support for custom LaTeX macros.
  • Added Schiffler (2025) citation and a paper carousel; "other software built with pyGIMLi" page (#933).
  • Spelling fixes across docs and source (#950); updated reciprocal-analysis example (#952).
  • Fix spelling errors across pyGIMLi documentation and source files by @Copilot in #950
  • Add missing docstrings by @florian-wagner in #955
  • Add other software built with pyGIMLi by @andieie in #933
  • WIP: DOC: Rework the section on unstructured meshes by @m-weigand in #881
  • Add Binder integration for interactive tutorials and examples by @andieie in #962

Build & CI

  • Fixed macOS compilation and updated CastXML binaries for Mac; fixed Linux build.
  • manylinux build tweaks and resolved pgcore dependency issues; corrected wheel paths after repair.
  • Added a deploy target and a SKIP_GALLERY switch for faster doc builds; moved to actions/checkout@v6.
  • Improved issue/bug templates (#896, #961).

Other changes

New Contributors

Full Changelog: v1.5.5...v1.6.0