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
drawCWeighthelper and a worked petrophysical joint-inversion example. - Matrix-free / implicit Jacobian built directly from a forward operator via
fop.Sx(x)andfop.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
drawCWeightandarsinhtransformation. - Implicit Jacobian matrix based on a forward operator (
fop.Sx/fop.STy). complex2RealMatrixand 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.showModel1Das a 1D counterpart toshowMesh/showModel.TravelTimeManager.showMisfit().MagManagerimprovements: better data-fit display,exportLocations, improved initialization.depthWeightingkeyword can now also be passed as a depth value.- Pass
kwargsthrough when showing a data container. createSpheremesh 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
waitOnExitfor the TkAgg backend. - Removed deprecated
pkg_resourcesimport. - 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_GALLERYswitch for faster doc builds; moved toactions/checkout@v6. - Improved issue/bug templates (#896, #961).
Other changes
- Improve issue forms by @CamillaLu in #896
- Update plot_10_reciprocal_analysis.py by @ZhenluRen in #952
- Add options for specifying other versions in bug template by @ZhenluRen in #961
New Contributors
- @ZhenluRen made their first contribution in #952
Full Changelog: v1.5.5...v1.6.0